kubernetes基础知识之集群安装和初始化

B站影视 2025-01-20 22:39 3

摘要:这里只需要设置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 可以提供域名解析服务。

西山看北京

鼓励的话语:真男子汉要有血性、有豪情,要宁折不弯!

来源:媛媛课堂

相关推荐