Azure에서 Kubernetes 클러스터 설정
6810 단어 kubernetesazure
Azure에서 VM 만들기
Azure에서 SSH 키를 생성하고 이를 사용하여 다른 VM에 로그인하면 작업이 훨씬 쉬워집니다. 방법은 다음과 같습니다. 아래 스크린샷과 같이 선택한 이름(이 게시물의 azureuser)으로 만듭니다.
생성 후 Azure는 생성된 개인 키 파일을 저장하라는 메시지를 표시합니다. 다운로드하여 컴퓨터의 알려진 위치에 보관하십시오.
~/.ssh/azureuser.pem
. 권한 변경 - chmod 400 azureuser.pem
.10.100.0.0/24
( 10.100.0.0
- 10.100.0.255
). IPv4 CIDR Calculator은 CIDR IP 범위를 계산하는 편리한 도구입니다. default
서브넷 IP 범위를 10.100.0.0/25
( 10.100.0.0 - 10.100.0.127
)로 조정합니다. Kubernetes 클러스터에 대해 이 서브넷을 사용합니다. VM이 인터넷에 노출되지 않도록 항상 배스천 서비스를 사용합니다. 기존 배스천을 연결하거나 VNET을 만드는 동안 새 배스천을 만들 수 있습니다. Azure Portal에서는 아래 스크린샷과 같이 보안 탭에서 VNET을 만드는 동안 새 배스천을 만들 수 있습니다.
10.100.0.128/27
(10.100.0.128 - 10.100.0.159)
를 AzureBastionSubnet
주소 공간으로 사용합니다. Azure에는 배스천에 사용할 서브넷의 정확한 이름AzureBastionSubnet
이 필요합니다. 두 개의 가상 머신을 만듭니다. 하나는 Kubernetes 마스터 노드로 사용하고 다른 하나는 작업자 노드로 사용합니다.
2개의 vcpus, 8GiB 메모리 및 30GiB 디스크가 있는 Standard_B2ms 크기는 학습자의 클러스터에 충분합니다.
Kubernetes 클러스터 설정
설치
마스터 및 작업자 노드 VM 모두에 필요한 소프트웨어를 설치합니다.
컨테이너 런타임을 설치합니다. 우리는 CRI-O를 사용할 것입니다.
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# Setup required sysctl params, these persist across reboots.
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
# Apply sysctl params without reboot
sudo sysctl --system
# Install CRI-O
OS=xUbuntu_20.04
VERSION=1.22
cat <<EOF | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /
EOF
cat <<EOF | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.list
deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /
EOF
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add -
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/libcontainers.gpg add -
sudo apt-get update
sudo apt-get install cri-o cri-o-runc
# Start CRI-O
sudo systemctl daemon-reload
sudo systemctl enable crio --now
Kubernetes 패키지를 설치합니다.
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
# Download the Google Cloud public signing key
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
# Add the Kubernetes apt repository
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
# install kubeadm, kubelet, and kubectl
sudo apt-get install -y kubelet kubeadm kubectl
# Pin the installed packages at their installed versions
sudo apt-mark hold kubelet kubeadm kubectl
클러스터 만들기
마스터 노드 VM에서 다음 단계를 실행합니다.
# Make sure that your Pod network does not overlap with any of the host networks
sudo kubeadm init --pod-network-cidr 192.168.0.0/16
# Copy the join command printed in the output. We'll need it later on worker.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# Use Calico networking plugin
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
마스터 노드가 실행 중인지 확인합니다:
kubectl get node
. 작업자 노드 VM에서 다음 명령을 실행합니다.
# Run the join command coped from master
sudo kubeadm join 10.100.0.4:6443 --token w5ukck.qhuw0s86gd7dsxv5 --discovery-token-ca-cert-hash sha256:31401ee3712a958829d846cf9d1417325f9c1508a8113549ef1a41a7ce2eee7d
If you forget to copy the join command, it can be regenerated on the master node using:
kubeadm token create --print-join-command
.
마스터에서
kubectl get nodes
를 다시 실행하여 작업자가 클러스터에 가입했는지 확인합니다. 클러스터를 중지하려면 작업자 노드를 먼저 중지한 다음 마스터 노드를 중지하고 다른 방법으로 시작하는 동안 중지합니다.
오늘은 그게 다야. 즐거운 코딩하세요! À bientôt 🙋♂️!
Reference
이 문제에 관하여(Azure에서 Kubernetes 클러스터 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/omkarpatil/setting-up-a-kubernetes-cluster-in-azure-2jac텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)