代码拉取完成,页面将自动刷新
下载所需离线包
curl -LO https://oss.choerodon.com.cn/kubeadm-ha/kubeadm-ha-1.22.4-amd64.tar
curl -LO https://oss.choerodon.com.cn/kubeadm-ha/docker-ce-20.10.11-amd64.tar.gz
点击这里查看所有离线包
ip | hostname | OS | role |
---|---|---|---|
192.168.56.11 | node1 | CentOS 7.8 | master etcd worker |
192.168.56.12 | node2 | CentOS 7.8 | master etcd worker |
192.168.56.13 | node3 | CentOS 7.8 | master etcd worker |
192.168.56.14 | node4 | CentOS 7.8 | worker |
192.168.56.15 | deploy | CentOS 7.8 | kubeadm-ha(ansible) |
注意: 以下操作未特殊说明都在 192.168.56.15
deploy 节点执行。
上传准备好的 2 个缓存文件至搭建 kubeadm-ha(ansible) 环境的服务器上,目录为 /root
。
准备 kubeadm-ha(ansible) 环境
# 解压 docker-ce-20.10.11-amd64.tar.gz
mkdir docker-ce
tar -xzvf docker-ce-20.10.11-amd64.tar.gz -C docker-ce
# 添加本地源
cat <<EOF | tee /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=file:///root/docker-ce/
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF
# 安装 docker
yum install -y --disablerepo=\* --enablerepo=docker-ce-stable \
lvm2 \
device-mapper-persistent-data
yum install -y --disablerepo=\* --enablerepo=docker-ce-stable \
docker-ce-20.10.11 \
docker-ce-cli-20.10.11 \
containerd.io-1.4.6
# 自定义 hosts 记录,方便后期调整 IP;IP 配置为运行 kubeadm-ha 镜像服务器的 IP
# 本例中 192.168.56.15 就是运行 kubeadm-ha 镜像的服务器
echo '192.168.56.15 registry.custom.local' >> /etc/hosts
# 配置 docker
mkdir -p /etc/docker
# data-root 为 docker 存储目录,可修改为其他非共享存储目录。
cat <<EOF | tee /etc/docker/daemon.json
{
"insecure-registries": ["registry.custom.local:12480"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"data-root": "/var/lib/docker",
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
# 启动 docker
systemctl enable docker
systemctl start docker
# 加载 kubeadm-ha 镜像
docker load -i kubeadm-ha-1.22.4-amd64.tar
运行 kubeadm-ha 镜像
docker run -d --restart=always --name kubeadm-ha \
-p 12480:80 \
-v $PWD/my-cluster:/etc/ansible/my-cluster \
-v $PWD/cluster-backup:/etc/ansible/cluster-backup \
setzero/kubeadm-ha:1.22.4-amd64
推送镜像到已有镜像库(可选项,可跳过)
# 命令格式:sync-images 镜像库地址 镜像库用户名 镜像库用户密码
# 实例
docker exec -it kubeadm-ha \
sync-images harbor.custom.io/kubeadm-ha admin Harbor12345
编辑变量文件 ./my-cluster/variables.yaml
,内容如下
# 自定义 hosts 记录,方便后期调整 IP;IP 配置为 kubeadm-ha 镜像运行的服务器的 IP
custom_hosts:
"192.168.56.15":
- "yum.custom.local"
- "registry.custom.local"
# 注意地址末尾 / 必须加上
base_yum_repo: http://yum.custom.local:12480/yum/
epel_yum_repo: http://yum.custom.local:12480/yum/
docker_yum_repo: http://yum.custom.local:12480/yum/
kubernetes_yum_repo: http://yum.custom.local:12480/yum/
# 设置信任镜像库
docker_insecure_registries:
- "registry.custom.local:12480"
containerd_registries:
"registry.custom.local:12480": "http://registry.custom.local:12480"
# 配置镜像地址
kube_image_repository: registry.custom.local:12480/kubeadm-ha
升级内核配置(可选项,可跳过;arm 架构暂不支持)
./my-cluster/variables.yaml
追加以下字段
# 若需升级内核添加一下变量,不升级则不添加
kernel_centos:
- http://yum.custom.local:12480/yum/kernel-lt-5.4.92-1.el7.elrepo.x86_64.rpm
- http://yum.custom.local:12480/yum/kernel-lt-devel-5.4.92-1.el7.elrepo.x86_64.rpm
参考 01-集群安装 编写 ansible inventory 文件 ./my-cluster/inventory.ini
。
执行安装
升级内核(可选项,可跳过;arm 架构暂不支持)
docker exec -it kubeadm-ha \
ansible-playbook -i my-cluster/inventory.ini -e @my-cluster/variables.yaml 00-kernel.yml
安装集群
docker exec -it kubeadm-ha \
ansible-playbook -i my-cluster/inventory.ini -e @my-cluster/variables.yaml 90-init-cluster.yml
注意: 以下操作未特殊说明都在 192.168.56.11
第一台 master 节点执行。
下载helm客户端
curl -sO http://yum.custom.local:12480/helm-v3.5.4-linux-amd64.tar.gz
解压压缩包(以linux-amd64为例)
tar -zxvf helm-v3.5.4-linux-amd64.tar.gz
将文件移动到PATH目录中(以linux-amd64为例)
sudo mv linux-amd64/helm /usr/bin/helm
执行命令,出现以下信息即部署成功。
$ helm version
version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"dirty", GoVersion:"go1.16.3"}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。