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

#系统环境准备

参考

https://blog.csdn.net/dingzy1/article/details/147062698?spm=1001.2014.3001.5501

#配置下载源

sh 复制代码
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版本组件

sh 复制代码
apt-get -y install kubelet=1.30.6-1.1 kubeadm=1.30.6-1.1 kubectl=1.30.6-1.1

#查看版本信息

sh 复制代码
[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节点

sh 复制代码
[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集群

sh 复制代码
[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集群

sh 复制代码
[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节点是否加入成功

sh 复制代码
[root@master221 ~]# kubectl get nodes
NAME        STATUS     ROLES           AGE    VERSION
master221   NotReady   control-plane   4m1s   v1.30.6
worker222   NotReady   <none>          8s     v1.30.6
worker223   NotReady   <none>          4s     v1.30.6

#部署CNI插件之Canal实战

参考链接

https://docs.tigera.io/calico/3.28/getting-started/kubernetes/flannel/install-for-flannel

sh 复制代码
[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    <none>          20m   v1.30.6
worker223   Ready    <none>          20m   v1.30.6

#创建测试文件

sh 复制代码
[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

#测试验证

sh 复制代码
[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   <none>           <none>
xiuxian-v2   1/1     Running   0          50s   10.100.2.2   worker223   <none>           <none>


#curl一下
[root@master221 ~]# curl 10.100.1.2
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <title>yinzhengjie apps v1</title>
    <style>
       div img {
          width: 900px;
          height: 600px;
          margin: 0;
       }
    </style>
  </head>

  <body>
    <h1 style="color: green">凡人修仙传 v1 </h1>
    <div>
      <img src="1.jpg">
    <div>
  </body>

</html>
[root@master221 ~]# curl 10.100.2.2
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <title>yinzhengjie apps v2</title>
    <style>
       div img {
          width: 900px;
          height: 600px;
          margin: 0;
       }
    </style>
  </head>

  <body>
    <h1 style="color: red">凡人修仙传 v2 </h1>
    <div>
      <img src="2.jpg">
    <div>
  </body>

</html>
相关推荐
喜欢你,还有大家41 分钟前
Docker-仓库-镜像制作
运维·docker·容器
小猪咪piggy5 小时前
【微服务】(4) 负载均衡
微服务·云原生·架构
岚天start7 小时前
KubeSphere在线安装单节点K8S集群
docker·容器·kubernetes·k8s·kubesphere·kubekey
Yyyy4827 小时前
标签Labels、Scheduler:调度器、k8s污点与容忍度
开发语言·kubernetes
xyhshen7 小时前
记录一次K8S跨命名空间访问 xxx.xxx.svc.cluster.local 类似内部服务不通的问题
云原生·容器·kubernetes
栗子~~7 小时前
shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
docker·容器·kubernetes
海鸥817 小时前
在k8s中部署seaweedfs,上传文件到seaweedfs方法
云原生·容器·kubernetes
半梦半醒*7 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡
AAA小肥杨7 小时前
K8s从Docker到Containerd的迁移全流程实践
docker·容器·kubernetes
DARLING Zero two♡7 小时前
云原生基石的试金石:基于 openEuler 部署 Docker 与 Nginx 的全景实录
nginx·docker·云原生