아크루드 굴루의 쿠베르니테스 놀이터
10527 단어 kubernetes
아크루드 굴루의 쿠베르니테스 놀이터
클라우드 기술이 등장함에 따라 그 생태계에서 자신의 기술을 배우고 향상시키는 것은 필수적이다. 기술을 향상시키는 가장 좋은 방법은 주로 AWS, Azure와 GCP가 주도하는 클라우드 공급업체에서 실천하는 것이다.그러나 학습 목적을 위해 개발된 서버나 클라우드 자원을 잊어버릴 위험을 무릅쓰고 충격적인 계산서가 수신함으로 전송되는 것을 볼 수 있다. (물론 AWS 예산을 통해 원가를 통제하고 계산서 금액을 제한할 수 있다.)그러나 주요 클라우드 공급업체에서 자원을 자유롭게 시작하거나 전용 서버를 몇 주 동안 설정해서 공부하고 폐기할 수 있다면 어떻게 해야 합니까?
이것이 바로 ACloud Guru 회원 자격과 함께 묶인 것이다.
Kubernetes CKAD 및 CKA를 준비하는 동안 다음과 같은 다양한 작업을 수행하기 위해 클러스터를 자주 생성해야 합니다.
이 블로그에서 나는 클라우드 서버를 어떻게 당신의 Kubernetes 놀이터로 활용하는지 토론할 것이다.시작합시다 -
클라우드 서비스 만들기:
탐색 -
게임장→ 클라우드 서버→ 새 서버 클릭
주 노드 1개와 작업 노드 2개를 포함하는 그룹을 만들기 위해 이런 클라우드 서버 3개를 만듭니다.
이들 서버에 접속하기 위해 3 대의 서버가 모두 준비 상태일 때까지 기다립니다.[태그]를 사용하여 마스터가 무엇인지 확인하십시오.모든 서버가 시작되면 이 보기를 볼 수 있습니다-
서버를 확장하여 세부 정보 및 로그인 자격 증명을 확인합니다.처음 로그인하면 암호를 변경하라는 메시지가 표시됩니다.
Docker를 설치하는 동안 다음과 같은 오류가 발생했습니다.
E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
다른 프로세스가 Ubuntu를 업데이트하려고 할 때, 시스템을 업데이트할 때 dpkg 파일 (Debian package manager) 을 잠그면 오류가 발생합니다.
본 site 에서 언급한'방법2'에 따라 자물쇠를 놓거나 놓습니다.
배포 도구를 사용하여 Kubernetes 설치
Kubeadm, Kops 또는 Kubespray 도구를 사용하여 클러스터를 안내할 수 있습니다.
Kubeadm 도구를 사용하여 클러스터를 설정합니다.[ Ref ]
iptables로 하여금 브리지의 유량을 보게 하다
* * * sudo user ~ "sudo-i"로 "모든 시스템"에서 다음 명령을 실행합니다*
sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
컨테이너 런타임 설치(Docker) [참조]
* * * sudo user ~ "sudo-i"로 "모든 시스템"에서 다음 명령을 실행합니다*
# (Install Docker CE)
# Set up the repository:
# Install packages to allow apt to use a repository over HTTPS
sudo apt-get update && sudo apt-get install -y \
apt-transport-https ca-certificates curl software-properties-common gnupg2
# Add Docker's official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Add the Docker apt repository:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# Install Docker CE
sudo apt-get update && sudo apt-get install -y \
containerd.io=1.2.13-2 \
docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \
docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs)
# Set up the Docker daemon
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
sudo mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 서비스를 부트할 때 시작하려면 다음 명령을 실행하십시오.
sudo systemctl enable docker
kubeadm,kubelet,kubectl 설치[참조]
E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Kubeadm, Kops 또는 Kubespray 도구를 사용하여 클러스터를 안내할 수 있습니다.
Kubeadm 도구를 사용하여 클러스터를 설정합니다.[ Ref ]
iptables로 하여금 브리지의 유량을 보게 하다
* * * sudo user ~ "sudo-i"로 "모든 시스템"에서 다음 명령을 실행합니다*
sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
컨테이너 런타임 설치(Docker) [참조]
* * * sudo user ~ "sudo-i"로 "모든 시스템"에서 다음 명령을 실행합니다*
# (Install Docker CE)
# Set up the repository:
# Install packages to allow apt to use a repository over HTTPS
sudo apt-get update && sudo apt-get install -y \
apt-transport-https ca-certificates curl software-properties-common gnupg2
# Add Docker's official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Add the Docker apt repository:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# Install Docker CE
sudo apt-get update && sudo apt-get install -y \
containerd.io=1.2.13-2 \
docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \
docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs)
# Set up the Docker daemon
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
sudo mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 서비스를 부트할 때 시작하려면 다음 명령을 실행하십시오.sudo systemctl enable docker
kubeadm,kubelet,kubectl 설치[참조]
kubeadm
: 클러스터를 유도하는 명령입니다.kubelet
: 집단에서 모든 기계에서 운행하는 부품으로 기중기와 용기를 가동하는 데 사용된다.kubectl
: 집단과 대화하는 명령행util.*** 다음 명령은 항상 최신 패키지를 설치합니다. ***
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
특정 버전의 kubeadm, kubelet, kubectl을 설치하려면:
sudo apt-get install -y kubelet=1.17.0 kubeadm=1.17.0 kubectl=1.17.0
systemctl daemon-reload
systemctl restart kubelet
kubeadm 도구로 그룹 만들기
제어 평면 노드 초기화 [Ref]
* * * * sudo user ~ "Sudo-i"로 "마스터"에서 다음 명령을 실행합니다*
kubeadm init
# this command takes few minutes to bootstrap the cluster and install control
# plane components in master node.
상기 명령은 두 가지 중요한 정보를 제공할 것이다.
kubeadm init
# this command takes few minutes to bootstrap the cluster and install control
# plane components in master node.
"*** 루트가 아닌 사용자로""MASTER""에서 다음 명령을 수행합니다."*
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
POD 네트워크 솔루션 설치 [Ref]
우리의 예에서, 우리는 "weaveworks"CNI 플러그인을 사용할 것이다.
"*** 루트가 아닌 사용자로""MASTER""에서 다음 명령을 수행합니다."*
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
클러스터에 작업 노드 추가 [Ref]
"kubeadm init"의 일부로서 "kubeadm join..."을 받아야 합니다.명령현재, 우리는 집단 창설 과정을 완성하기 위해 작업 노드에서 이 조작을 실행해야 한다.
* * * * sudo user ~ "sudo-i"로 "WORKER"노드에서만 다음 명령을 실행합니다*
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
몇 분을 기다려서 노드를 집단에 가입시키세요.이제 다음 명령을 실행하여 노드가 그룹에 가입했는지 확인할 수 있습니다.kubectl get nodes
클러스터 배포 테스트를 위한 예제 애플리케이션 배포
kubectl run nginx --image=nginx
# output should be - pod/nginx created
# Get deployed pod details
kubectl get pods -o wide
운동장에서 자신의 Kubernetes 집단을 이끄는 과정이 완성되었다.😎
Reference
이 문제에 관하여(아크루드 굴루의 쿠베르니테스 놀이터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sameermeher/kubernetes-playground-in-acloudguru-2aik텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)