三、Anolis os release 8.6-kubeadm 部署 k8s1.27.4部署

一、安装kubeadm、kubelet和kubectl(所有节点)

# 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.gpghttps://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

# yum -y install kubelet kubeadm kubectl

# systemctl enable kubelet

注:切记不要启动服务

二、部署kubernetes Master

192.168.6.6<master>执行

# kubeadm init \

--kubernetes-version=v1.27.4 \

--apiserver-advertise-address=192.168.6.6 \

--image-repository registry.aliyuncs.com/google_containers \

--service-cidr=10.96.0.0/12 \

--pod-network-cidr=10.244.0.0/16 \

--cri-socket unix:///var/run/containerd/containerd.sock \

--ignore-preflight-errors=all

结果:

注解:

--apiserver-advertise-address=集群通告地址

--image-repository由于默认拉去镜像地址空间k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址

--kubernetes-version

k8s版本,与安装的一直

--service-cidr集群内部虚拟网络,Pod统一访问入口

--pod-network-cidr

pod网络,与下面部署的CNI网络组件yaml中保持一致

拷贝kubectl使用的连接k8s认证文件到默认路径:

# mkdir -p $HOME/.kube

# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

# sudo chown $(id -u):$(id -g) $HOME/.kube/config

三、kubeadm init做了那些事

1. [preflight] 环境检查和拉取镜像

2.[certs] 生成证书文件,存放目录:/etc/kubernetes/pki

3.[kubeconfig] 生成kubeconfig连接k8s配置文件,存放目录:controller-manager.conf

4.[kubelet-start] 生成kubelet配置文件并启动

5.[control-plane] 已静态pod方式启动master组建

6.存放master组件配置文件/etc/kubernetes/manifests,存储配置到k8s configmap中

7.[mark-control-plane] 给master节点配置role和添加污点(没有声明的情况下,不允许pod分配过来)

8.[bootstrap-token] 为kubelet自动生成证书的一系列配置

9.[addons] 安装插件,coreDNS和kube-proxy

10.让你拷贝kubectl所使用的连接k8s的配置文件到默认路径

mkdir -p$HOME/.kube

sudo cp -i/etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id-u):$(id -g) $HOME/.kube/config

生成一个node加入集群的命令:

kubeadm join 192.168.6.6:6443 --token rzh3hx.6vc9ba1551peie1t \

--discovery-token-ca-cert-hash sha256:dca4809ae1302207bee4517a0a97577f37ea90bc98a9466589e87b644c43c96d

四、加入kubernetes node<node上执行>

# kubeadm join 192.168.6.6:6443 --token rzh3hx.6vc9ba1551peie1t \

--discovery-token-ca-cert-hash sha256:dca4809ae1302207bee4517a0a97577f37ea90bc98a9466589e87b644c43c96d \

--cri-socket unix:///var/run/containerd/containerd.sock

# kubectl get nodes<master上执行>

注:

NotReady: 因为网络没有准备就绪,可以通过journalctl –u kubelet> a.log文件中查看

默认token有效期为24小时,当过期之后,改token就不可用了。这时就需要重新创建token,可以之间使用命令快捷生成:

# kubeadm token create--print-join-command

五、部署容器网络(CNI)

官方文档:

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network

注意:只要部署下面其中一个,推荐calico

Calico是一个纯三层的数据中心网络方案,caclico支持广泛的平台,包括k8s,openstack等。

Calico在每一个计算节点利用linux kernel实现了一个高效的虚拟路由器(vRouter)来负责数据转发,而每个vRouter通过BGP协议负责把自己上运行的workload的路由信息向整个calico网络传播。

此外,Calico项目还实现了k8s网络策略,提供ACL功能

下载文件<我是通过web下载到windows再拷贝到系统的>:

curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml -O

下载完成后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面的kubeadm init指定的pod-network-cidr一样。

# kubectl apply -f calico.yaml

安装完成后STATUS的NotReady状态转换成了Ready状态。

  • 38
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值