우분투에 쿠버네티스 설치
4256 단어 kubernetesubuntudevjournaldevops
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
2단계: containerd에 CRI가 비활성화되어 있지 않은지 확인
파일
/etc/containerd/config.toml
을 편집하고 disabled_plugins 설정이 비어 있는지 확인합니다.nano /etc/containerd/config.toml
그런 다음
containerd
서비스를 다시 시작합니다.service containerd restart
3단계: 쿠버네티스 설치
Ubuntu 저장소에서
apt-transport-https
및 http
작업을 가능하게 하는 https
패키지를 설치하여 시작합니다. 또한 다음 단계에 필요하므로 curl
를 설치합니다. 다음 명령을 실행합니다.sudo apt install apt-transport-https curl
그런 다음 다음 명령을 실행하여 Kubernetes 서명 키를 두 노드에 추가합니다.
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" >> ~/kubernetes.list
sudo mv ~/kubernetes.list /etc/apt/sources.list.d
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
그런 다음 노드를 업데이트합니다.
sudo apt update
업데이트가 완료되면 Kubernetes를 설치합니다. 여기에는 Kubernetes를 구성하는 다양한 도구(kubeadm, kubelet, kubectl, kubernetes-cni) 설치가 포함됩니다.
sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni
4단계: 스왑 메모리 비활성화
Kubernetes는 스왑 메모리를 사용하는 시스템에서 작동하지 않습니다. 따라서 마스터 노드와 모든 작업자 노드에서 비활성화해야 합니다. 다음 명령을 실행하여 스왑 메모리를 비활성화합니다.
sudo swapoff -a
5단계: 고유한 호스트 이름 설정
쉽게 식별할 수 있도록 노드에 고유한 호스트 이름이 있어야 합니다. 노드가 많은 클러스터를 배포하는 경우 node-1, node-2 등과 같은 작업자 노드의 이름을 식별하도록 설정할 수 있습니다. 앞에서 언급했듯이 노드 이름을 kubernetes-master 및 kubernetes로 지정했습니다. -노동자. 서버를 만들 때 설정했습니다. 그러나 명령줄에서 아직 수행하지 않은 경우 조정하거나 설정할 수 있습니다. 마스터 노드에서 호스트 이름을 조정하려면 다음 명령을 실행합니다.
sudo hostnamectl set-hostname kubernetes-master
6단계: Docker Cgroup 드라이버 변경
마스터 노드와 작업자 노드 모두에서 다음 명령을 사용하여
cgroupdriver
를 업데이트합니다.sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{ "exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts":
{ "max-size": "100m" },
"storage-driver": "overlay2"
}
EOF
그런 다음 다음 명령어를 실행하여 시스템 부팅 시 Docker를 다시 시작하고 사용 설정합니다.
sudo systemctl enable docker
sudo systemctl daemon-reload
sudo systemctl restart docker
7단계: Kubernetes 마스터 노드 초기화
Kubernetes 클러스터 배포의 첫 번째 단계는 마스터 노드를 시작하는 것입니다. 마스터 노드의 터미널에서 다음 명령어를 실행하여 kubernetes-master를 초기화합니다.
kubeadm init --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint <EXTERNAL-IP>
출력에서 Kubernetes는 클러스터 사용을 시작하기 전에 마스터 노드에서 일반 사용자로 실행해야 하는 몇 가지 추가 명령도 표시합니다. 다음 명령을 실행해 보겠습니다.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
이제 마스터 노드를 초기화했습니다. 그러나 작업자 노드에 가입하기 전에 마스터 노드에 포드 네트워크도 설정해야 합니다.
8단계: 포드 네트워크 배포
포드 네트워크는 서버 간의 통신을 용이하게 하며 Kubernetes 클러스터의 적절한 기능에 필요합니다. 공식 문서에서 Kubernetes Cluster Networking에 대해 자세히 알아볼 수 있습니다. 이 튜토리얼에서는 Flannel 포드 네트워크를 사용할 것입니다. Flannel은 Kubernetes 요구 사항을 충족하는 간단한 오버레이 네트워크입니다.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
9단계: 작업자 노드를 Kubernetes 클러스터에 조인
먼저 별도의 터미널 세션에서 작업자 노드에 로그인합니다. 7단계에서 마스터 노드를 초기화할 때 터미널에 표시된
kubeadm
조인 명령을 사용하고 거기에 표시된 명령을 실행하면 다음과 같이 표시됩니다.kubeadm join XXXX:6443 --token XXX \
--discovery-token-ca-cert-hash sha256:XXXX
조인 프로세스가 완료되면 마스터 노드 터미널을 전환하고 다음 명령을 실행하여 작업자 노드가 클러스터에 조인되었는지 확인합니다.
kubectl get nodes
https://blog.facha.dev/install-kubernetes-on-ubuntu/에서 원래
Reference
이 문제에 관하여(우분투에 쿠버네티스 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/facha/install-kubernetes-on-ubuntu-1lmm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)