k8s 1.30.6版本部署(使用canal插件)

#系统环境准备
参考
https://blog.csdn.net/dingzy1/article/details/147062698?spm=1001.2014.3001.5501

#配置下载源

curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key |
    gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" |
    tee /etc/apt/sources.list.d/kubernetes.list
	
	
apt-get update

 apt-cache madison kubeadm

#下载kubelet kubeadm kubectl 的1.30.6-1.1版本组件

apt-get -y install kubelet=1.30.6-1.1 kubeadm=1.30.6-1.1 kubectl=1.30.6-1.1

#查看版本信息

[root@master221 ~]#  kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"30", GitVersion:"v1.30.6", GitCommit:"00f20d443ba0cbc485d6ce36a7d3f9a9c4e8ed7a", GitTreeState:"clean", BuildDate:"2024-10-22T20:33:19Z", GoVersion:"go1.22.8", Compiler:"gc", Platform:"linux/amd64"}
[root@master221 ~]#  kubectl version
Client Version: v1.30.6
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
The connection to the server localhost:8080 was refused - did you specify the right host or port?
[root@master221 ~]# kubelet --version
Kubernetes v1.30.6

#使用kubeadm初始化master节点

[root@master221 ~]# kubeadm init --kubernetes-version=v1.30.6 --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.100.0.0/16 --service-cidr=10.200.0.0/16  --service-dns-domain=dezyan.com

#拷贝授权文件,用于管理K8S集群

[root@master221 ~]# mkdir -p $HOME/.kube
[root@master221 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master221 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config

#基于kubeadm部署worker组件
#将worker节点加入到master集群

[root@worker222 ~]# kubeadm join 10.0.0.221:6443 --token kj6ydv.bu3dg4ghs1uy0y13 \
        --discovery-token-ca-cert-hash sha256:d517cb572423511e891ab152da85fc2cd4b20727942926048b2f0b9127829232

[root@worker223 ~]# kubeadm join 10.0.0.221:6443 --token kj6ydv.bu3dg4ghs1uy0y13 \
        --discovery-token-ca-cert-hash sha256:d517cb572423511e891ab152da85fc2cd4b20727942926048b2f0b9127829232

#验证worker节点是否加入成功

[root@master221 ~]# kubectl get nodes
NAME        STATUS     ROLES           AGE    VERSION
master221   NotReady   control-plane   4m1s   v1.30.6
worker222   NotReady             8s     v1.30.6
worker223   NotReady             4s     v1.30.6

#部署CNI插件之Canal实战
参考链接
https://docs.tigera.io/calico/3.28/getting-started/kubernetes/flannel/install-for-flannel

[root@master221 ~]# curl https://raw.githubusercontent.com/projectcalico/calico/v3.28.3/manifests/canal.yaml -O


[root@master221 ~]# vim canal.yaml
改IP那行

[root@master221 ~]# kubectl apply -f canal.yaml

[root@master221 ~]# kubectl get pods -A
#等待镜像拉取,必须全部为Running状态

[root@master221 ~]# kubectl get nodes
NAME        STATUS   ROLES           AGE   VERSION
master221   Ready    control-plane   24m   v1.30.6
worker222   Ready              20m   v1.30.6
worker223   Ready              20m   v1.30.6

#创建测试文件

[root@master221 ~]# vim test-cni.yaml
apiVersion: v1                                                         
kind: Pod
metadata:
  name: xiuxian-v1
spec:
  nodeName: worker222
  containers:
  - image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
    name: xiuxian

---

apiVersion: v1
kind: Pod
metadata:
  name: xiuxian-v2
spec:
  nodeName: worker223
  containers:
  - image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v2
    name: xiuxian

#测试验证

[root@master221 ~]# kubectl get pods -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
xiuxian-v1   1/1     Running   0          50s   10.100.1.2   worker222              
xiuxian-v2   1/1     Running   0          50s   10.100.2.2   worker223              


#curl一下
[root@master221 ~]# curl 10.100.1.2


  
    
    yinzhengjie apps v1
    
  

  
    

凡人修仙传 v1

[root@master221 ~]# curl 10.100.2.2 yinzhengjie apps v2

凡人修仙传 v2

你可能感兴趣的:(k8s,kubernetes,容器,云原生)