摘要:这里只需要设置kubelet开机自启动,然后配置文件还没有准备好,先不启动kubelet服务。
kubernetes启动cri-docker服务:
systemctl daemon-reload
systemctl start cri-docker
systemctl enable cri-docker
systemctl is-active cri-docker
安装kubeadm、kubectl和kubelet:
每个节点需要安装kubelet:
yum install kubelet -y
systemctl enable kubelet
这里只需要设置kubelet开机自启动,然后配置文件还没有准备好,先不启动kubelet服务。
所有节点安装kubeadm:
yum install kubeadm -y
所有节点安装kubectl:
yum install kubectl -y
初始化主节点:
kubeadm init \
--apiserver-advertise-address=$master_ip \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version 1.29.2 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
--ignore-preflight-errors=all \
--cri-socket unix:///var/run/cri-dockerd.sock
这里默认的镜像仓库地址是:registry.k8s.io
创建文件:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/conf
chown $(id -u):$(id -g) $HOME/config
执行:
kubectl get nodes
可以查看到kubernetes集群中master节点的状态,是未就绪NotReady的状态。
work token过期,重新申请:
kubeadm token create --print-join-command
worker node节点加入:
kubeadm join $master_ip:6443 --token xxx.xxxx --discovery-token-ca-cert-hash sha256:xxxxx(哈希值)
在kubernetes master节点上执行:
kubectl get nodes
这时候kubernetes集群中节点状态是NotReady未就绪的状态。
kubernetes集群如果想正常工作的话,那么所有的容器必须工作在同一个扁平的网络空间中。
安装calico网络插件:
①:下载calico网络插件。
②:把CALICO_IPV4POOL_CIDR固定成pod的CIDR地址:10.244.0.0/16,并且设置为BGP模式:
--name: CALICO_IPV4POOL_IPIP
--value: "always" 改成"Off"
不使用IPIP模式,将使用BGP模式。
选择calico的网络模式为BGP,网络的吞吐效率会更高。
③:安装完网络插件calico后,执行:
kubectl get nodes
发现节点是Ready就绪状态。
kubectl get pod --all-namespaces
可以修改kube-proxy模式为ipvs:
kubectl edit configmap kube-proxy -n kube-system
mode: ipvs
kubectl delete pod -n kube-system -l k8s-app=kube-proxy
kubernetes集群组件之间的联通是基于HTTPS协议实现的,HTTPS协议实现C/S架构,目前大型的项目都是采用http或者HTTPS协议。
Core-DNS 可以提供域名解析服务。
西山看北京
鼓励的话语:真男子汉要有血性、有豪情,要宁折不弯!
来源:媛媛课堂