Kubernetes는 무료 오픈 소스 컨테이너 관리 시스템 제공하는 호스트 컴퓨터 그룹에서 애플리케이션 컨테이너의 배포, 확장 및 운영을 자동화하기위한 플랫폼입니다.
Kubernetes를 사용하면 온 프레미스, 퍼블릭 및 하이브리드 클라우드 인프라를 자유롭게 활용하여 조직의 배포 작업을 실행할 수 있습니다.
Ubuntu 및 파생 제품에 Kubernetes 설치
실용적인 설치를 위해 이 기사에서 형성 할 XNUMX 노드 클러스터를 사용하겠습니다. 마스터 노드와 슬레이브 노드로 구성됩니다.
두 노드 모두 Kubernetes가 설치되어 있어야합니다. 가장 먼저 할 일은 둘 다에 도커를 설치하는 것입니다.이를 위해 다음 명령을 실행하면됩니다.
sudo apt install docker.io
Docker가 설치되었는지 확인하려면 두 노드 모두에서 다음 명령을 실행할 수 있습니다.
docker --version
지금 두 노드에서 도커를 활성화 해 보겠습니다.
sudo systemctl enable docker
이제 다음 단계는 Kubernetes 키를 두 노드에 추가하는 것입니다. 다음 명령으로이를 수행합니다.
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
다음 단계는 두 시스템에 다음 저장소를 추가하는 것입니다.
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
설치 프로세스의 마지막 단계는 다음 명령을 통해 두 노드에 Kubeadm을 설치하는 것입니다.
sudo apt install kubeadm
Kubeadm 버전 번호를 확인하고 다음 명령을 통해 설치를 확인할 수도 있습니다.
kubeadm version
Kubernetes 배포
이제 시스템에서 Kubernetes 배포를 구현하려면 두 노드에서 스왑 메모리 (실행중인 경우)를 비활성화해야합니다.
두 노드에서 스왑 메모리를 비활성화해야합니다.Kubernetes는 스왑 메모리를 사용하는 시스템에서 제대로 작동하지 않기 때문입니다.
이렇게하려면 다음을 실행하십시오.
sudo swapoff -a
이제 다음 단계는 마스터 노드에서 다음 명령을 실행하여 고유 한 호스트 이름을 지정하십시오.
sudo hostnamectl set-hostname master-node
슬레이브 노드의 경우 다음을 입력해야합니다.
sudo hostnamectl set-hostname slave-node
지금 완료 v다음 명령을 사용하여 마스터 노드를 초기화하겠습니다.
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
이 프로세스는 인터넷 연결에 따라 XNUMX 분 이상 걸릴 수 있습니다. 이 명령의 출력은 매우 중요하므로 출력에 ip, 토큰 및 기타 정보가 포함되어 있으므로 정보를 기록해야합니다.
클러스터 사용을 시작하려면 일반 사용자로 다음을 실행해야합니다.
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
지금 루트 사용자로 각 노드에서 다음을 실행하여 원하는 수의 시스템에 참여할 수 있습니다.
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
그들은 tutoken, tuip 및 해시의 정보를 몇 분 전에 기록 할 정보로 대체합니다.
노드 목록 가져 오기
마스터 노드의 상태가 아직 준비되지 않은 것을 볼 수 있습니다. 이는 마스터 노드에 아직 배포 된 포드가 없기 때문에 컨테이너 네트워크 인터페이스가 비어 있기 때문입니다.
목록을 보려면 다음을 실행하기 만하면됩니다.
kubectl get nodes
마스터 노드를 통해 포드 네트워크 배포
포드 네트워크는 네트워크 노드 간의 통신 수단입니다. 이 자습서에서는 다음 명령을 통해 클러스터에 Flannel 포드 네트워크를 구현합니다.
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
네트워크 상태를 확인하려면 다음을 입력하십시오.:
kubectl get pods --all-namespaces sudo kubectl get nodes
이 작업이 완료되면 이제 마스터 노드에서와 같이 정보를 보완해야하는 것과 같은 방식으로 슬레이브 노드를 네트워크에 추가하여 클러스터를 형성해야합니다.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
이제 마스터 노드에서 다음 명령을 실행하면 두 개의 노드 인 마스터 노드와 서버 노드가 시스템에서 실행 중인지 확인합니다.
sudo kubectl get nodes
이는 XNUMX 노드 클러스터가 이제 Kubernetes 컨테이너 관리 시스템을 통해 실행되고 있음을 보여줍니다.