加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

教你一次性成功安装K8S集群(基于一主两从模式)

发布时间:2020-12-06 13:10:16 所属栏目:建站 来源:网络整理
导读:作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地

# 只在 master 节点执行 # export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令 export MASTER_IP=192.168.175.101 # 替换 k8s.master 为 您想要的 dnsName export APISERVER_NAME=k8s.master # Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中 export POD_SUBNET=172.18.0.1/16 echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts 

2.初始化Master节点

在binghe101服务器上创建init_master.sh脚本文件,文件内容如下所示。

#!/bin/bash # 脚本出错时终止执行 set -e  if [ ${#POD_SUBNET} -eq 0 ] || [ ${#APISERVER_NAME} -eq 0 ]; then   echo -e "33[31;1m请确保您已经设置了环境变量 POD_SUBNET 和 APISERVER_NAME 33[0m"   echo 当前POD_SUBNET=$POD_SUBNET   echo 当前APISERVER_NAME=$APISERVER_NAME   exit 1 fi   # 查看完整配置选项 https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 rm -f ./kubeadm-config.yaml cat < ./kubeadm-config.yaml apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration kubernetesVersion: v1.18.2 imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers controlPlaneEndpoint: "${APISERVER_NAME}:6443" networking:   serviceSubnet: "10.96.0.0/16"   podSubnet: "${POD_SUBNET}"   dnsDomain: "cluster.local" EOF  # kubeadm init # 根据您服务器网速的情况,您需要等候 3 - 10 分钟 kubeadm init --config=kubeadm-config.yaml --upload-certs  # 配置 kubectl rm -rf /root/.kube/ mkdir /root/.kube/ cp -i /etc/kubernetes/admin.conf /root/.kube/config  # 安装 calico 网络插件 # 参考文档 https://docs.projectcalico.org/v3.13/getting-started/kubernetes/self-managed-onprem/onpremises echo "安装calico-3.13.1" rm -f calico-3.13.1.yaml wget https://kuboard.cn/install-script/calico/calico-3.13.1.yaml kubectl apply -f calico-3.13.1.yaml 

赋予init_master.sh脚本文件可执行权限。

chmod a+x ./init_master.sh 

执行init_master.sh脚本文件。

./init_master.sh 

3.查看Master节点的初始化结果

(1)确保所有容器组处于Running状态

# 执行如下命令,等待 3-10 分钟,直到所有的容器组处于 Running 状态 watch kubectl get pod -n kube-system -o wide 

如下所示。

[root@binghe101 ~]# watch kubectl get pod -n kube-system -o wide Every 2.0s: kubectl get pod -n kube-system -o wide                                                                                                                          binghe101: Sat May  2 23:40:33 2020  NAME                                       READY   STATUS    RESTARTS   AGE     IP                NODE        NOMINATED NODE   READINESS GATES calico-kube-controllers-5b8b769fcd-l2tmm   1/1     Running   0          3m59s   172.18.203.67     binghe101               calico-node-8krsl                          1/1     Running   0          3m59s   192.168.175.101   binghe101               coredns-546565776c-rd2zr                   1/1     Running   0          3m59s   172.18.203.66     binghe101               coredns-546565776c-x8r7l                   1/1     Running   0          3m59s   172.18.203.65     binghe101               etcd-binghe101                             1/1     Running   0          4m14s   192.168.175.101   binghe101               kube-apiserver-binghe101                   1/1     Running   0          4m14s   192.168.175.101   binghe101               kube-controller-manager-binghe101          1/1     Running   0          4m14s   192.168.175.101   binghe101               kube-proxy-qnffb                           1/1     Running   0          3m59s   192.168.175.101   binghe101               kube-scheduler-binghe101                   1/1     Running   0          4m14s   192.168.175.101   binghe101               

(2) 查看 Master 节点初始化结果

kubectl get nodes -o wide 

如下所示。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读