属于是旧内容新炒一下, 刚好这几天我的环境坏了, 重新装, 顺便记录一下;
步骤简述
- 准备基础系统环境
- 准备相关镜像
- 安装 containerd 和 kubeadm
- 准备 etcd
- 准备相关集群初始化文件
- kubeadm init 初始化
- 加入新节点
- 安装网络插件
- 安装其它非核心组件
- 部署一个服务
注意如果参考本文部署,请修改各配置文件的镜像仓库为自己的地址;
1. 准备环境
参考本站另一篇文章
环境准备文档
2. 准备外部etcd环境
参考本站另一篇文章
etcd部署
3. 准备相关镜像
多种办法获取镜像
方法一: 从各种镜像站下载
方法二: 直接在 github 下载提供的 server 二进制文件包, 解压后里面就带了主要的镜像
如果没有私有仓库, 就提前导入到各节点;
但是推荐上传到私有仓库去, 方便后续维护;
4. 安装 containerd
先准备 containerd 的配置文件,文件太长, 这里暂时不贴了, 可以点击此链接下载
下载 config.toml
可以使用命令生成默认的配置文件
containerd config default > /etc/containerd/config.toml
然后进行自定义修改;
主要修改内容
- 修改 cgroup 为 systemd
- 增加私有仓库
- 修改 sandbox_image 沙盒镜像的仓库路径
安装程序
|
|
5. kubeadm 安装
方法一: 使用官方的 yum 仓库,然后 yum 安装;
|
|
方法二: 直接上传需要使用的 3 个二进制文件, kubelet, kubeadm, kubectl;
然后配置相关 systemd 单元文件和配置文件;
此处采用方法二, 也更推荐方法二
|
|
kubelet 的 systemd 文件
/usr/lib/systemd/system/kubelet.service
下载 kubelet.service
用于传递参数给 kubelet 的 systemd 文件
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
下载 10-kubeadm.conf
systemctl daemon-reload
systemctl enable kubelet –now
6. 准备初始化配置文件
kubeadm-config.yml
文件太长, 这里暂时不贴了, 可以点击此链接下载
下载 kubeadm-config.yml
初始化
-
提前拉取镜像
kubeadm config images pull –config kubeadm-config.yml -
第一个节点初始化
kubeadm init –config=kubeadm-config.yml -
上传密钥
避免后面新增节点时再来回拷贝证书文件
kubeadm init phase upload-certs –upload-certs –config kubeadm-config.yml
此时已经完成核心组件部分的安装
安装网络插件 calico
也就一条命令
配置文件需要修改一下,主要就是仓库镜像位置和自己的网段信息
|
|
kubectl apply -f calico.yaml
部署第一个服务
简述:
- 创建一个 命名空间
- 创建一个 services
- 创建一个 Deployment 发布
- 通过 nodePort 暴露端口
kubectl apply -f baseweb.yaml
后面找时间再来慢慢补内容;
PS: 个人站点就这点好处,方便时随时可以改,不用太顾及什么。
以前写公众号或博客,总想要完美,于是始终走不出去。
就如同那句“我每次登台表演时都想着要一炮而红,于是我从没有上过舞台!”
好东西自然也是可以逐步迭代出来的。