k8s-03-2-kubeadm 설치

시스템 계획

여기에 이미지 설명 삽입

노드 정보

여기에 이미지 설명 삽입

Kubeadm은 Kubernetes 클러스터 의 신속한 배포를 위해 kubeadm init 및 kubeadm 조인을 제공하는 K8s 배포 도구입니다 . , 이 도구는 다음 두 가지 지침을 통해 kubernetes 클러스터 배포를 완료할 수 있습니다.

  • 먼저 마스터 노드 kubeadm init를 생성합니다.
  • 둘째, 현재 클러스터에 노드 노드를 추가합니다. $ kubeadm join <마스터 노드의 IP 및 포트>

공식 주소: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/

모든 노드에 Docker/kubeadm/kubelet 설치

安装docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O
/etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce
$ systemctl enable docker && systemctl start docker

添加kubernetes  yum 源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装 kubeadm,kubelet 和 kubectl ,会自动安装几个重要依赖包:socat,cri-tools,cni等包
#查看版本 yum list kubelet 
# 列出所有版本 yum list kubelet  --showduplicates | sort -r
$ yum install -y kubelet kubeadm kubectl
$ systemctl enable kubelet

Kubernetes 마스터 배포

(마스터)에서 실행

$ kubeadm init \
--apiserver-advertise-address=192.168.44.129 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.19.4 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16

현재 노드 IP(master) 192.168.44.129
이미지
가져온 이미지를 보기 위한 도커 이미지
kube -proxy v1.19.4
kube-apiserver v1.19.4
kube-controller-manager v1.19.4
kube-scheduler v1.19.4
etcd 3.4.13-0
coredns 1.7.0
pause 3.2
버전 지정 설치 버전 v1 .19.4
pod-network-cidr 10.244 .0.0/16 flannel은 이 네트워크 세그먼트를 사용합니다.

성공적인 설치를 위한 팁:

Kubernetes 컨트롤 플레인이 성공적으로 초기화되었습니다!
클러스터 사용을 시작하려면 다음을 일반 사용자로 실행해야 합니다.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( id − u ) : (id -u):( 나는 _-): (id -g) $HOME/.kube/config
이제 포드 네트워크를 클러스터에 배포해야 합니다. https://kubernetes.io/docs/concepts/cluster-administration/addons/
에 나열된 옵션 중 하나를 사용하여 "kubectl apply -f [podnetwork].yaml"을 실행합니다. 각각을 루트로 다음:kubeadm join 192.168.44.129:6443 --token ttnu3m.97oxzty62fgk7ms6–discovery-token-ca-cert-hash sha256:e60d00ddef29c30a562bb87c9bf8d81ea1c5db9a5b607a42c3cff 0c4cdb059ca



프롬프트에 따라 마스터 노드가 실행됩니다.

# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看结果 【节点处于NotReady状态,因为还没有网络组建,下一步安装flannel】
 # kubectl get nodes 

노드 조인

# kubeadm join 192.168.44.129:6443 --token ttnu3m.97oxzty62fgk7ms6 \
    --discovery-token-ca-cert-hash sha256:e60d00ddef29c30a562bb87c9bf8d81ea1c5db9a5b607a42c3cff0c4cdb059ca
查看结果 【节点处于NotReady状态,因为还没有网络组建,下一步安装flannel】
 # kubectl get nodes  

하지만 당시에 이 명령어를 적어두지 않았다면 나중에 노드를 추가할 때 이 명령어를 잊어버렸을 수 있으므로 이때 다음 명령어를 실행해야 합니다.

포드 네트워크 플러그인(CNI) 마스터 노드 설치

Kubernetes는 다양한 오픈 소스 네트워크 CNI 플러그인을 지원하며, 일반적인 플러그인에는 flannel, calico, canal, weave 등이 있습니다. flannel은 vxlan 터널링을 통해 터널 네트워크를 구축하는 오버레이 네트워크 모델입니다.

# For Kubernetes v1.17+
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 查看 -n 指定命名空间,默认是default系统组建都安装在kube-system
# -o wide 查看详细情况  -w 监控变化
kubectl get pods -n kube-system -o wide
kubectl get nodes 

외부 미러링은 실패하고 몇 번 더 시도하면 성공합니다.

확인
스케줄러, 컨트롤러 관리자 등을 포함한 kubernetse 서비스 구성 요소의 상태 보기

#查看master组件角色
kubectl get componentstatuses 
#查看node节点列表
kubectl get nodes
# 查看节点标签信息
kubectl get node --show-labels
#查看node节点详情
kubectl describe node k8s.node1.com

Kubernetes 클러스터에서 포드를 생성하고 실행 중인지 확인합니다.

$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort
-- svc查看服务端口   -o wide pod详细信息
$ kubectl get pod,svc -o wide
# 将资源的配置以yaml的格式输出出来。也可以使用json输出json格式
$ kubectl get pod xxx -o yaml

접근 주소: http://NodeIP:32606 [포트 80은 32606으로 매핑, 모든 노드가 이 포트를 유출]
여기에 이미지 설명 삽입
노드 삭제

首先(drain 卸载、 delete删除):
kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>
然后使用
kubeadm reset
若需要重新加入 ,则再次执行 kubeadm init or kubeadm join

추천

출처blog.csdn.net/wenwang3000/article/details/112544825