【Kubernetes】如何使用Kubeadm部署K8S集群

本文档详细介绍了如何在中国环境下使用Kubeadm部署Kubernetes集群,包括在Ubuntu 18.04系统上安装Docker和Kubeadm,解决k8s.gcr.io镜像下载问题,配置永久token,安装weave网络插件,以及将node节点加入集群的步骤。
摘要由CSDN通过智能技术生成

一 . 准备机器
本次环境采用华为云ECS弹性云服务器部署(也可以使用VMware)
vm01(2V4G): Ubuntu_18.04作为K8S master节点
vm02(1V1G): Ubuntu_18.04作为K8S node节点
备注: 以下所有操作都是在root用户下执行
二 . 在master节点安装k8s和Docker
1.安装需要的包
由于apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
sudo apt install apt-transport-https ca-certificates software-properties-common curl
在这里插入图片描述
2.添加 谷歌GPG 密钥
执行
curl -s https://mirrors.huaweicloud.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
在这里插入图片描述
从华为云开源镜像网站获取安装
3.安装docker 和kubeadm
首先我们修改一下Docker的镜像源,这里我们使用中科大USTC镜像源
echo “deb https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main” \ > /etc/apt/sources.list.d/kubernetes.list
在这里插入图片描述
apt-get update ——安装docker
在这里插入图片描述
apt-get install -y docker.io kubeadm ——安装kubeadm
在这里插入图片描述
在上述安装 kubeadm 的过程中,docker 和kubeadm、 kubelet、kubectl 工具都会被自动安装好。
4.设置开机自启动并启动 Docker(后默认已设置自启动,可忽略)
systemctl enable docker
systemctl start docker
5.执行 kubeadm init 自动化安装kubernets
在这里插入图片描述
发现这7个k8s.gcr.io的镜像包无法获取。这就遇到了部署K8S最大的难题就是镜像下载,由于是国内机器, 如果不进行科学上网在国内很难从k8s.gcr.io等镜像源里下载镜像。
这种情况下我们可以 直接指定国内镜像代理仓库(如阿里云代理仓库)进行镜像拉取下载, 成功拉取代理仓库中的镜像后,再将其tag打标签成为k8s.gcr.io对应镜像,最后再删除从代理仓库中拉取下来的镜像,前提要确保imagePullPolicy策略是IfNotPresent,即本地有镜像则使用本地镜像,不拉取!或者将下载的镜像放到私有仓库里,然后将image下载源指向私仓地址。
因为不同的K8S版本需要的镜像包不一样,我们可以使用
kubeadm config images list 命令查询一下kubeadm所需的k8s镜像包版本
在这里插入图片描述
我们使用 docker pull 拉取所需镜像包(这里指定一下镜像源)
例:docker pull registry.aliyuncs.com/google_containers/coredns:1.7.0
docker pull registry.aliyuncs.com/google_containers/etcd:3.4.13-0
在这里插入图片描述
然后打tag,并删除之前从代理仓库下载的镜像
例:docker tag registry.aliyuncs.com/google_containers/coredns:1.7.0
在这里插入图片描述
docker rmi 镜像名称 ——删除pull下来的额镜像
例:docker rmi registry.aliyuncs.com/google_containers/etcd:3.4.13-0
在这里插入图片描述
在这里插入图片描述
然后再执行 kubeadm init 就可以了
在这里插入图片描述
执行完成后k8s即安装完成,最后会输出kubeadm join那段命令,这个是node节点加入集群必须执行的命令。但是kubeadm init自动生成的token有效期只有24小时。
kubeadm join 192.168.0.3:6443 --token 9dimd4.cte6oheldr8p7ecq
–discovery-token-ca-cert-hash sha256:aad7cddf4764b9a576d315096c24059de53486f187a9135c8067268aa7167403
在这里插入图片描述
当然我们也可以使用
kubeadm token create --ttl 0
生成一个永不过期的 token(olt9w7.6yew4d24q40n5raa),后续node节点加入集群是要用到。
在这里插入图片描述
执行
kubectl get nodes
在这里插入图片描述
发现报错了,第一次使用k8s需要执行下面命令配置kubect所需文件。
执行下面命令:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown ( i d − u ) : (id -u): (idu):(id -g) H O M E / . k u b e / c o n f i g 再 次 执 行 k u b e c t l g e t n o d e s 就 行 了 ! [ 在 这 里 插 入 图 片 描 述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / 20210128105702748. p n g ) 可 以 发 现 当 前 节 点 状 态 N o t R e a d y 状 态 使 用 下 面 命

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

容器迷宫

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值