CentOS7.8安装k8s
1, 安装 docker / kubelet
# 在 master 节点和 worker 节点都要执行 \# 最后一个参数 1.20.6 用于指定 kubenetes 版本,支持所有 1.20.x 版本的安装 # 腾讯云 docker hub 镜像 \# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 镜像 \# export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io"
# 华为云镜像 \# export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
# 阿里云 docker hub 镜像
export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
curl -sSL https://kuboard.cn/install-script/v1.20.x/install_kubelet.sh | sh -s 1.20.6
2,初始化 master 节点
关于初始化时用到的环境变量
APISERVER_NAME 不能是 master 的 hostname
APISERVER_NAME 必须全为小写字母、数字、小数点,不能包含减号
POD_SUBNET 所使用的网段不能与 master节点/worker节点 所在的网段重叠。
只在 master 节点执行 # 替换 x.x.x.x 为 master 节点实际 IP(请使用内网 IP) # export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令
export MASTER_IP=10.0.0.17
替换 k8s.test 为 您想要的 dnsName (不建议使用 master 的 hostname 作为 APISERVER_NAME) export APISERVER_NAME=k8s.test # Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中
echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
cat host
[root@it-1c2d ~]# cat /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 it it 127.0.0.1 it-1c2d it-1c2d 10.0.0.17 k8s.test
初始化master节点
curl -sSL https://kuboard.cn/install-script/v1.20.x/init_master.sh | sh -s 1.20.6 /coredns
检查 master 初始化结果
只在 master 节点执行 # 执行如下命令,等待 3-10 分钟,直到所有的容器组处于 Running 状态
watch kubectl get pod -n kube-system -o wide # 查看 master 节点初始化结果
kubectl get nodes -o wide
3,初始化work节点
执行:
只在 master 节点执行
kubeadm token create --print-join-command
可获取kubeadm join 命令及参数,如下所示。
有效时间
该 token 的有效时间为 2 个小时,2小时内,您可以使用此 token 初始化任意数量的 worker 节点。
初始化worker,针对所有的 worker 节点执行
在worker机器上:
只在 worker 节点执行 # 替换 x.x.x.x 为 master 节点实际 IP(请使用内网 IP) # export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令
export MASTER_IP=10.0.0.17
替换 k8s.test 为 您想要的 dnsName (不建议使用 master 的 hostname 作为 APISERVER_NAME) export APISERVER_NAME=k8s.test echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
复制上面输出的kubeadm token create 命令
kubeadm join k8s.test:6443 --token ezm388.yegy627vbx319lev --discovery-token-ca-cert-hash sha256:255fc6a65316054aa5f1bfd92467ebce52f557983f5e901663a3a460af2c60b5
4,安装 Kuboard v3
[root@it-1c2d docker]# kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
在浏览器中打开链接 http://your-node-ip-address:30080
输入初始用户名和密码,并登录
用户名: admin
密码: Kuboard123
5.安装Ingress
kubectl apply -f https://github.com/kubernetes/ingress-nginx/blob/ingress-nginx-3.15.2/deploy/static/provider/cloud/deploy.yaml
看状态:
get pod -n ingress-nginx
- docker ps看看强大的k8s
``