搭建最新的k8s集群

准备系统环境

192.168.106.101          centos7.6     docker:18.09.6     master
192.168.106.102          centos7.6     docker:18.09.6      node1
192.168.106.103          centos7.6     docker:18.09.6      node2

三台服务器,请提前关闭防火墙和selinux,并安装好docker

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld

配置kubelet仓库

cat>>/etc/yum.repos.d/kubrenetes.repo<<EOF
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF
所有节点执行

安装 kubelet、kubeadm、kubectl

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
所有节点全部执行

安装镜像开始最重要的步骤,也是比较容易出现错误的地方

docker pull kulelehu/kube-apiserver:v1.18.6
docker pull kulelehu/kube-controller-manager:v1.18.6
docker pull kulelehu/kube-scheduler:v1.18.6
docker pull kulelehu/kube-proxy:v1.18.6
docker pull kulelehu/pause:3.2
docker pull kulelehu/etcd:3.4.3-0
docker pull kulelehu/coredns:1.6.7
docker pull registry.cn-shenzhen.aliyuncs.com/cp_m/flannel:v0.10.0-amd64  

在这里插入图片描述
下载完镜像如图所示,我更新了镜像的标签名称
master节点初始化

kubeadm init --kubernetes-version=v1.18.6 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

kubernetes-version: 当前k8s版本
pod-network-cidr: 用于指定Pod的网络范围。该参数使用依赖于使用的网络方案,本文将使用经典的flannel网络方案。
service-cidr:
在这里插入图片描述

kubeadm join 192.168.106.101:6443 --token 6g1nfc.ghwr1gywf4dma6ov \
    --discovery-token-ca-cert-hash sha256:a2871d8abd46b7858d733b5b0ce49c7049d881dd87f4a51d818d7e82b8929e37

验证 kube-apiserve:6443端口启动正常
在这里插入图片描述

镜像版本错误
执行此命令有可能会报错,和你的镜像版本,以及系统配置有关系具体看你的错误信息更新成正确的镜像和参数配置
下·
在这里插入图片描述
解决办法:
docker search kube-apiserver:v1.18.7 #查找仓库中这个版本的镜像
在这里插入图片描述
其他问题也如同类似解决
系统参数设置问题
永久配置

cat  /etc/sysctl.conf 
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1

sysctl -p #配置生效

临时办法

echo 1  >  /proc/sys/net/ipv4/ip_forward
echo 1  > /proc/sys/net/bridge/bridge-nf-call-iptables

重新初始化:

rm -rf /etc/kubernetes/
rm -rf /var/lib/kubelet/
rm -rf /var/lib/etcd/*

然后执行刚才的初始化命令 无报错说明初始化成功
master节点获取token
kubeadm token list
在这里插入图片描述
安装网络插件

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

在这里插入图片描述
kubeadm join --discovery-token 6g1nfc.ghwr1gywf4dma6ov --discovery-token-unsafe-skip-ca-verification 192.168.106.101:6443

将node节点加入master集群
node1和node2机器分别执行

kubeadm join --discovery-token  6g1nfc.ghwr1gywf4dma6ov  --discovery-token-unsafe-skip-ca-verification  192.168.106.101:6443

192.168.106.101:6443 为master节点的ip:端口
在这里插入图片描述
遇到节点报错 需要初始化下节点

 kubeadm reset

在这里插入图片描述

master节点验证:kubectl get nodes
在这里插入图片描述
可以看到 node01和node02
踩坑提示

masterj节点和node节点镜像名称不一致会导致node节点容器起不来,我在master节点上修改镜像的标签,在node节点也需要修改标签
docker image tag kulelehu/pause:3.2 k8s.gcr.io/pause:3.2
docker image tag kulelehu/kube-proxy:v1.18.6 k8s.gcr.io/kube-proxy:v1.18.6

修改标签后再次加入master节点正常启动
在这里插入图片描述

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值