K8S安装部署 三、Master节点安装

注意:master执行本部分所有操作

node节点执行(2、安装 kubelet、kubeadm、kubectl) 和 (3、下载镜像)操作

1、版本查看

[root@master ~]# yum list kubelet --showduplicates | sort -r

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UZUjuXlR-1614157376808)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/c0c949ce376eb1be2e6a59255c79ad5a&showdoc=.jpg)]

1.20.4是文章编辑时的最新版本!

2、安装 kubelet、kubeadm、kubectl

2.1 开始安装
[root@master ~]# yum install -y kubelet-1.20.4 kubeadm-1.20.4 kubectl-1.20.4

若不指定版本直接运行“yum install -y kubelet kubeadm kubectl”则默认安装最新版即1.20.4,两种命令效果一致。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tkVud4LA-1614157376810)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/8a49904a8bd24132e4ee5ad5d211b9ee&showdoc=.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vS3HrqHQ-1614157376812)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/94151f8e9240513403599171cd41dbc4&showdoc=.jpg)]

2.2安装包说明
  • kubelet 运行在集群所有节点上,用于启动Pod和容器等对象的工具
  • kubeadm 用于初始化集群,启动集群的命令工具
  • kubectl 用于和集群通信的命令行,通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件
2.3 启动kubelet、并设置开机自启动
[root@master ~]# systemctl enable kubelet && systemctl start kubelet
2.4 kubelet命令补全
[root@master ~]# echo "source <(kubectl completion bash)" >> ~/.bash_profile
[root@master ~]# source .bash_profile

3、下载镜像

3.1 创建镜像下载脚本

Kubernetes几乎所有的安装组件和Docker镜像都放在goolge自己的网站上,直接访问可能会有网络问题,这里的解决办法是从阿里云镜像仓库下载镜像,拉取到本地以后改回默认的镜像tag。

创建脚本文件kimage.sh以及脚本内容:

[root@master ~]# vi kimage.sh
#!/bin/bash
url=registry.cn-hangzhou.aliyuncs.com/google_containers
version=v1.20.4
images=(`kubeadm config images list --kubernetes-version=$version|awk -F '/' '{print $2}'`)
for imagename in ${images[@]} ; do
  docker pull $url/$imagename
  docker tag $url/$imagename k8s.gcr.io/$imagename
  docker rmi -f $url/$imagename
done

注意:“version=版本号” 根据自己Kubernetes安装的版本修改;url为阿里云镜像仓库地址。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jAByeNxl-1614157376815)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/08f816acd07043045ea924816dd225d1&showdoc=.jpg)]

赋予脚本 kimage.sh的执行权限

[root@master ~]# chmod u+x kimage.sh
3.2 开始下载镜像

执行脚本 kimage.sh

[root@master ~]# ./kimage.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IEWg2qsm-1614157376818)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/1a7a052ac2d545da5f4eb2c5fac2a28c&showdoc=.jpg)]

查看下载好的镜像

[root@master ~]# docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULFWk8MU-1614157376819)(http://172.16.3.20:7070/server/index.php?s=/api/attachment/visitFile/sign/454b41068914b88a961caaf379740156&showdoc=.jpg)]

4、初始化Master

4.1 初始化
[root@master ~]# kubeadm init --apiserver-advertise-address 192.168.56.11 --pod-network-cidr=10.244.0.0/16

apiserver-advertise-address指定master的IP地址192.168.56.11;
pod-network-cidr指定Pod网络的范围(和宿主机没关系,无需修改),这里使用flannel网络方案;

执行成功的最后会有一段类似的输出:

kubeadm join 192.168.56.11:6443 --token m8vk8h.4a1usim3kkdg2duc \
    --discovery-token-ca-cert-hash sha256:21ce98935f223bce7b25b235666b125d83b8b4e70d457b8b77db419c648b7c03

记录下来,后面需要这个命令将各个node节点加入集群中。

4.2 加载环境变量
[root@master ~]# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
[root@master ~]# source .bash_profile

5、安装pod网络

[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

6、master节点配置

6.1删除master节点的默认污点

taint:污点的意思。如果一个节点被打上了污点,那么pod是不允许运行在这个节点上面的;

默认情况下集群不会在master上调度pod,如果偏想在master上调度Pod,可以执行如下操作
查看污点:

[root@master ~]# kubectl describe node master|grep -i taints
Taints:             node-role.kubernetes.io/master:NoSchedule

删除默认污点:

[root@master ~]# kubectl taint nodes master node-role.kubernetes.io/master-
node/master untainted

再次查看污点:

[root@master ~]# kubectl describe node master|grep -i taints
Taints:             <none>

污点已删除;

下一篇:K8S安装部署 四、Node节点安装

参考:https://blog.51cto.com/3241766/2405624

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

象话

打赏犹如太阳穴的枪口

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值