我是靠谱客的博主 独特白昼,最近开发中收集的这篇文章主要介绍3台kvm 使用kubeadm搭建k8s集群一、环境准备二、开始搭建三、报错,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考文档(k8s中文社区):https://www.kubernetes.org.cn/5846.html

一、环境准备

1、3台kvm

3台 2核2G 的 kvm
Cent OS 7.6

2、安装后的软件版本为

Kubernetes v1.16.0
calico 3.8.2
nginx-ingress 1.5.5
Docker 18.09.7

二、开始搭建

3台虚拟机里,一台是 master, 2 台是 node,

1、修改hostname

# 修改 hostname
hostnamectl set-hostname your-new-host-name
# 查看修改结果
hostnamectl status
# 设置 hostname 解析
echo "127.0.0.1   $(hostname)" >> /etc/hosts

2、安装 docker / kubelet

# 在 master 节点和 worker 节点都要执行

curl -sSL https://kuboard.cn/install-script/v1.16.0/install-kubelet.sh | sh

3、初始化 master 节点

# 只在 master 节点执行
# 替换 x.x.x.x 为 master 节点实际 IP(请使用内网 IP)
# export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令
export MASTER_IP=x.x.x.x
# 替换 apiserver.demo 为 您想要的 dnsName (不建议使用 master 的 hostname 作为 APISERVER_NAME)
export APISERVER_NAME=apiserver.demo
# Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中
export POD_SUBNET=10.100.0.1/20
echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts
curl -sSL https://kuboard.cn/install-script/v1.16.0/init-master.sh | sh

查看初始化结果

# 只在 master 节点执行

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

# 查看 master 节点初始化结果
kubectl get nodes -o wide

4、初始化 worker 节点
获得 join命令参数
在 master 节点上执行

只在 master 节点执行
kubeadm token create --print-join-command

可获取kubeadm join 命令及参数,如下所示

kubeadm token create 命令的输出
kubeadm join apiserver.demo:6443 --token mpfjma.4vjjg8flqihor4vt     --discovery-token-ca-cert-hash sha256:6f7a8e40a810323672de5eee6f4d19aa2dbdb38411845a1bf5dd63485c43d303

初始化worker
针对所有的 worker 节点执行

只在 worker 节点执行
替换 ${MASTER_IP} 为 master 节点实际 IP
替换 ${APISERVER_NAME} 为初始化 master 节点时所使用的 APISERVER_NAME
echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts

替换为 master 节点上 kubeadm token create 命令的输出
kubeadm join apiserver.demo:6443 --token mpfjma.4vjjg8flqihor4vt     --discovery-token-ca-cert-hash sha256:6f7a8e40a810323672de5eee6f4d19aa2dbdb38411845a1bf5dd63485c43d303

检查初始化结果
在 master 节点上执行

只在 master 节点执行
kubectl get nodes -o wide

输出结果如下所示:
image.png

移除 worker 节点
正常情况下,您无需移除 worker 节点,如果添加到集群出错,您可以移除 worker 节点,再重新尝试添加
在准备移除的 worker 节点上执行

# 只在 worker 节点执行
kubeadm reset

三、报错

在初始化 master 节点时,由于 kvm 上没安装 wget,会报没有 wget 命令。
解决方法:

依次执行以下命令
1、yum  install  -y  wget
2、wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml
3、sed -i "s#192.168.0.0/16#${POD_SUBNET}#" calico.yaml
4、kubectl apply -f calico.yaml

最后

以上就是独特白昼为你收集整理的3台kvm 使用kubeadm搭建k8s集群一、环境准备二、开始搭建三、报错的全部内容,希望文章能够帮你解决3台kvm 使用kubeadm搭建k8s集群一、环境准备二、开始搭建三、报错所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部