K8S第二节:kubeadm搭建K8s集群
上回书说到什么是K8s,这回就在我自己的虚拟机上搭建一个K8s集群;
上回书说到什么是K8s,这回就在我自己的虚拟机上搭建一个K8s集群;
一、安装K8S需要的软件包
yum install -y kubelet-1.23.1 kubeadm-1.23.1 kubectl-1.23.1
其中:
kubelet:是K8s集群中每个node节点上的管家,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器;
kubeadm:用来初始化K8s集群;
kubectl:K8s的命令行工具,通过kubectl可以部署和管理应用,查看各种资源、创建、删除和更新各种组件;
二、上传K8s离线镜像包并用docker解压
上传k8s集群需要的离线镜像包:
https://pan.baidu.com/s/1trMXXKqea1vy-oHdc7BGEw?pwd=3yiv
解压镜像包:
docker load -i k8s-images-v1.23.1.tar.gz
解压以后会多余一下镜像
三、kubeadm初始化k8s集群
kubeadm init --kubernetes-version=1.23.1 --apiserver-advertise-address=192.168.136.130 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerificatio
可能出现的问题
kubeadm init 出现failed with error: Get “http://localhost:10248/healthz“:
kubectl get nodes报错:Unable to connect to the server: x509: certificate signed by unknown authority .
四、 成功以后创建配置文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
五、查看节点
kubectl get nodes
查看K8s集群的节点:
查看节点上的pods:
kubectl get pods --all-namespaces
六、添加K8s从节点
kubeadm token create --print-join-command
使用该命令可以输出加入k8s从节点的命令
kubeadm join 192.168.136.130:6443 --token r9fdhv.5vv3kdmqshycl6j5 --discovery-token-ca-cert-hash sha256:db12d8705ee7074d81f0281f8b40c1ec9603e59006a7e6570480286899d99eed
再查看节点:
此时集群状态还是NotReady状态,因为没有安装网络插件,所以我们下一步就是安装网络插件;
七、安装Calico网络插件
上传calico.yaml文件:
https://pan.baidu.com/s/1R0Bw5hvP5X6mA9ImpO3L1w?pwd=mgah
kubectl apply -f calico.yaml
执行以后pods状态变为Ready:
八、验证集群是否可用
我的从节点上传了busybos压缩包,并解压为镜像:
master中运行busybos镜像可以ping通百度:
以及可以看到我们coreDNS的clusterIP为10.96.0.10:
我是chililopp,正在学习k8s,之后如果有新的总结或者体验也会发出来,如果有说的不对的地方,还请指点,十分感谢阅读!
更多推荐
所有评论(0)