美文网首页设计方案LinuxIT必备技能
离线安装Kubernetes v1.17.1 - 离线部署

离线安装Kubernetes v1.17.1 - 离线部署

作者: 浮云_9046 | 来源:发表于2020-02-19 11:40 被阅读0次

目标

在没有互联网到企业内网部署Kubernetes集群

目录

2020年2月21日更新:

为了简化安装过程,我将第一篇文章做好的离线资源包上传百度云,大家可以下载直接使用。https://pan.baidu.com/s/176xRjEM8PC698zVH9TdacA 提取码: bhmn

为了大家学习方便,请见Kubernetes离线部署视频教程

环境

  • CentOS Linux release 7.7.1908 (Core)
  • Docker 19.03.5
  • Kubernetes 1.17.1
  • Master节点 192.168.1.30
  • Worker节点 192.168.1.31

安装Master

master节点上执行。

  1. scp命令上传资源包到/root目录下解压,192.168.1.30改为你节点的IP。
scp k8sOfflineSetup.tar.gz root@192.168.1.30:/root
  1. 解压到/root/k8sOfflineSetup目录

⚠️注意:解压路径不能修改。

mkdir /root/k8sOfflineSetup
tar -xzvf k8sOfflineSetup.tar.gz -C /root/k8sOfflineSetup 
  1. 设置参数并安装
# master节点的主机名
export HOSTNAME=k8s-master
# kubernetes apiserver的主机地址
export APISERVER_NAME=apiserver.k8s.com
# 集群中master节点的ip地址
export MASTER_IP=192.168.1.30
# Pod 使用的网段
export POD_SUBNET=10.11.10.0/16

cd /root/k8sOfflineSetup
./setup_master.sh

安装Worker

worker节点上执行。

  1. scp命令上传资源包到/root目录下解压,192.168.1.31改为你节点的IP。
scp k8sOfflineSetup.tar.gz root@192.168.1.31:/root
  1. 解压到/root/k8sOfflineSetup目录

⚠️注意:解压路径不能修改。

mkdir /root/k8sOfflineSetup
tar -xzvf k8sOfflineSetup.tar.gz -C /root/k8sOfflineSetup 
  1. 获取加入master的参数

⚠️注意:是在master节点上执行。

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

# 得到token和cert,这两个参数在2个小时内可以重复使用,超过以后就得再次生成
kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt     --discovery-token-ca-cert-hash sha256:6f7a8e40a810323672de5eee6f4d19aa2dbdb38411845a1bf5dd63485c43d303
  1. 设置参数并安装
# worker节点的主机名
export HOSTNAME=k8s-worker2
# kubernetes apiserver的主机地址
export APISERVER_NAME=apiserver.k8s.com
# 集群中master节点的ip地址
export MASTER_IP=192.168.1.30
# 加入master的token
export TOKEN=35jn30.4ru763yqfvp4j89m
# 加入master的证书
export CERT=sha256:4c720c8dbf3f91a542ee892188108f99ff80ba1025099a8210145917b1f13a13
cd /root/k8sOfflineSetup
./setup_worker.sh

完成

现在你可以在master节点,执行kubectl get nodes看到所有节点都在线了,是不是非常快就完成部署了。

访问Kuboard

Kuboard是一个非常方便的web管理界面,安装完以后可以通过http://任意节点IP:32567/访问。详细使用请参考 <www.kuboard.cn>

获取登陆Token

# 在 Master 节点上执行此命令
kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d

访问Kubernetes Dashboard

请参加我的另一篇文章:从零开始部署Kubernetes v1.17.1集群(四)部署可视化管理工具

常见问题

Pod启动报镜像拉取失败

有些部署文件中设置了镜像拉取策略为imagePullPolicy:Always,意思是每次启动都要拉取镜像,修改为imagePullPolicy:IfNotPresent如果不存在才拉取就行了。不过你应该记得要把每个节点包括master和worker都导入镜像才行。

相关文章

网友评论

    本文标题:离线安装Kubernetes v1.17.1 - 离线部署

    本文链接:https://www.haomeiwen.com/subject/ketafhtx.html