Kubernetes, 또는 쿠버네티스, 또는 간단히 "큐브 (kube)"는Linux 컨테이너 작업을 자동화하는 오픈소스 플랫폼을 뜻합니다.플랫폼에서는 컨테이너화된 애플리케이션을 배포하고 확장하는 데 수동 프로세스가 필요하지 않습니다. 즉, Linux 컨테이너를 실행하는 호스트 그룹을 함께 클러스터링할 수 있으며 쿠버네티스를 통해 이러한 클러스터를 쉽고 효율적으로 관리할 수 있습니다.
Cluster = Domain
master= Domain Controller(Controller) => kubernetes의 플랫폼으로 관리하는 PC
컨트롤 플레인: 쿠버네티스 노드를 제어하는 프로세스의 컬렉션입니다. 여기에서 모든 태스크 할당이 시작됩니다.
노드: 컨트롤 플레인에서 할당된 요청 태스크를 수행하는 머신입니다.
포드: 단일 노드에 배포된 하나 이상의 컨테이너 그룹입니다. 포드에 있는 모든 컨테이너는 IP 주소, IPC, 호스트 이름, 기타 리소스를 공유합니다. 포드는 기본 컨테이너에서 네트워크와 스토리지를 추상화합니다. 이렇게 하면 클러스터에서 컨테이너를 더 쉽게 이동할 수 있습니다.
복제 컨트롤러: 이 컨트롤러는 클러스터에서 실행되어야 하는 동일한 포드 복사본의 개수를 제어합니다.
서비스: 포드에서 작업 정의를 분리합니다. 쿠버네티스 서비스 프록시는 클러스터에서 다른 위치로 이동된 경우나 교체된 경우에 상관없이 서비스 요청을 적절한 포드로 자동 수신합니다.
Kubelet: 이 서비스는 노드에서 실행되며 컨테이너 매니페스트를 읽고, 정의된 컨테이너가 시작되어 실행 중인지 확인합니다.
■ 기본 환경 구성 ◎ vmware15 = Linux(Ubuntu 64bit), Processors(4개), Virtualize Intel VT-x/EPT or AMD-V/RVI 체크하기 ◎ 설치 = ubuntu-22.04.1-live-server-amd64.iso ◎ 컴퓨터이름 = 메모리:4G, 하드디스크:40G
◎ ubuntu-22.04.1 주소 변경 # cd /etc/netplan # ls # vi 00xxxxxxxxxx <== 아래 구성 복사후 붙이기 network: ethernets: ens32: addresses: - 192.168.1.104/24 nameservers: addresses: [8.8.8.8, 8.8.4.4] routes: - to: default via: 192.168.1.2 version: 2
# netplan apply
◎ host파일에 클러스터에 속한 컴퓨터 이름 등록하기 # vi /etc/hosts 192.168.1.104 master 192.168.1.101 node01 192.168.1.102 node02
# sudo vi /etc/containerd/config.toml [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true --> 112줄에 있음 <<기본 false로 되어있는 부분을 true로 변경>>
# sudo systemctl restart containerd
▣ master 를 full clone해서 node01, node02 만들기 # sudo hostnamectl set-hostname node01 # cd /etc/netplan # ls # vi 00xxxxxxxxxx <== 아래 구성 복사후 붙이기 192.168.1.101 수정 # netplan apply
# sudo hostnamectl set-hostname node02 # cd /etc/netplan # ls # vi 00xxxxxxxxxx <== 아래 구성 복사후 붙이기 192.168.1.102 수정 # netplan apply
■ Host'PC에 MobaXterm_Installer 설치 . 세션별 글자크기 변경 : Ctrl + (- 또는 +) . settings -> configuration -> Terminal : size ? -> Desplay : Skin selection ?
▣ 쿠버네티스 기본 명령어 # kubectl get nodes # kubectl get nodes -o wide # kubectl get pods # kubectl get pods -o wide # kubectl get pods --all-namespaces # kubectl get pods --namespace=kube-system # kubectl get pods --namespace=kube-system -o wide
■ 대시보드 구성(master) # 클러스터로 구성된[master, node01, node02] => 전부 Power ON 상태에서 아래 진행하기
댓글