분류 전체보기

    [kubernetes] 쿠버네티스 아키텍처

    쿠버네티스 클러스터의 전체 구조 쿠버네티스 클러스터는 크게 두 종류의 서버로 구성한다. 1. 클러스터를 관리하는 마스터 etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컨테이너가 실행된다. 2. 실제 컨테이너를 실행시키는 노드 kubelet, kube-proxy, docker 마스터는 보통 고가용성을 만족하고자 서버 3대 정도 구성해서 운영한다. 평소 실제 클러스터를 관리하는 마스터는 1대고 나머지 2대는 대기한다. 리더 마스터에 장애가 발생하면 자연스럽게 나머지 2대 중 1대가 리더 역할을 맡는다. 실제 사용하는 컨테이너 대부분은 노드에서 실행된다. 각 컴포넌트의 중심에 kube-ap..

    DHCP 란

    Dynamic Host Configuration Protocol의 약자 DHCP란 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜 DHCP는 네트워크에 사용되는 IP 주소를 DHCP 서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용하게 된다. DHCP지원 클라이언트는 네트워크 부팅과정에서 DHCP 서버에 IP주소를 요청하고 이를 얻을 수 있다. 네트워크 안에 컴퓨터에 자동으로 네임서버주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜이다. DHCP 장점 PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하..

    PXE 네트워크 부팅

    PXE(Preboot Execution Environment)란 운영체제가 설치되어 있지 않는 원격지의 컴퓨터를 네트워크 도메인에 참가시키는 것만으로도 부팅을 시킬 수 있는 환경을 말한다. 요즘에 출시되는 대부분의 메인보드들은 PXE를 지원한다. BIOS 설정에서 찾아보면 PXE라든지 Network on boot room과 같은 옵션들이 보이는 보드들은 PXE를 지원하는 보드들이다. 이 기능을 활성화 한 다음 부트 오더에 가장 첫 번째에 LAN을 두면 활성화 된다. 보드별로 설정하는 방법이 상이할 수 있으니 보드 메뉴얼을 참조하여 PXE를 활성화 하도록 한다. PXE의 기본 동작을 보면 위와 같은 구성으로 되어있다. 기본적으로 클라이언트이기 때문에 서버가 필요하다. 서버에는 DHCP 서버와 tftp 서버..

    [kubernetes] IPv4/IPv6 이중 스택

    https://kubernetes.io/ko/docs/concepts/services-networking/dual-stack/ IPv4/IPv6 이중 스택 FEATURE STATE: Kubernetes v1.21 [beta] IPv4/IPv6 이중 스택 네트워킹을 사용하면 파드와 서비스에 IPv4와 IPv6 주소를 모두 할당할 수 있다. IPv4/IPv6 이중 스택 네트워킹은 1.21부터 쿠버네티스 클러스터에 기본 kubernetes.io IPv4/IPv6란? IPv4 IPv4는 Internet protocol version 4의 약자이며 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이자 유일한 프로토콜로, IETF(인터넷 표준화 기구)RFC 791에 문서화 되어 있다. IPv4는 32비트 방식이다. 따..

    [kubernetes] host aliases

    https://kubernetes.io/ko/docs/tasks/network/customize-hosts-file-for-pods/ HostAliases로 파드의 /etc/hosts 항목 추가하기 파드의 /etc/hosts 파일에 항목을 추가하는 것은 DNS나 다른 방법들이 적용되지 않을 때 파드 수준의 호스트네임 해석을 제공한다. PodSpec의 HostAliases 항목을 사용하여 이러한 사용자 정의 항목들을 kubernetes.io HostAliases로 파드의 /etc/hosts 항목 추가하기 파드의 /etc/hosts 파일에 항목을 추가하는 것은 DNS나 다른 방법들이 적용되지 않을 때 파드 수준의 호스트네임 해석을 제공한다. PodSpec의 HostAliases 항목을 사용하여 이러한 사용자..

    [Docker] docker inspect

    docker inspect는 container or image의 low level 정보를 가져오는 명령어이다. 기본적인 출력은 json 형태이다. docker 의 IP 주소 및 logpath 등 자세한 정보 확인이 가능하다. root@~~# docker inspect CONTAINER_ID [ { "Id": "8aadfb1607f5065070b96cbe5e4259312038cc0e53b2ba62e4ea9da805691574", "Created": "2016-05-18T07:16:27.598816826Z", "Path": "httpd-foreground", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Resta..

    [kubernetes] endpoints

    참고 블로그 Endpoints 쿠버네티스 클러스터를 쓰고 있는사람들은 Endpoints가 뭔지 어떻게 동작하는지 몰라도 그걸 뒤에서 쓰고 있습니다. 이 포스트에선 Endpoints를 직접사용하거나 문제가 발생할때 필요한 경우에 대비 ozt88.tistory.com Kubernetes - Endpoints - The IT Hollow It’s quite possible that you could have a Kubernetes cluster but never have to know what an endpoint is or… theithollow.com 개념 쿠버네티스 뒷단의 pod의 label을 사용해서 selector가 자동적으로 앞단의 service에 매칭한다 만약 새로운 pod들이 해당하는 label..

    [kubernetes] dnsutils, nslookup

    dnsutils https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/ Debugging DNS Resolution This page provides hints on diagnosing DNS problems. Before you begin You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at kubernetes.io coredns란 쿠버네티스 클..