创建k8s集群

2019-12-09  本文已影响0人  快去学习不然怎么去看aimer

本实验使用kvm虚拟化进行

前提

master、node节点都要满足下列条件

cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
#得到的版本号必须大于7.5
hostname 
rourou
#得到的结果不能为localhost
lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
#cpu个数不能小于2各
#下面的方法不适用与arm架构
echo "127.0.0.1   $(hostname)" >> /etc/hosts
#设置解析

必要条件

任意节点 centos 版本在兼容列表中
任意节点 hostname 不是 localhost
任意节点 CPU 内核数量大于等于 2

在master与node节点都要执行

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

初始化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初始化的结果

# 只在 master 节点执行

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

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

初始化worker节点

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

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

下列操作只在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

检查是否将worker节点添加到集群中

kubectl get nodes 
NAME     STATUS   ROLES    AGE     VERSION
demo-master-a-1   Ready    master   5m3s    v1.16.0
demo-worker-a-1   Ready    <none>   2m26s   v1.16.0
demo-worker-a-2   Ready    <none>   3m56s   v1.16.0

移除节点

# 只在 worker 节点执行
kubeadm reset

# 只在 master 节点执行
kubectl delete node demo-worker-x-x

集群搭建完成

上一篇下一篇

猜你喜欢

热点阅读