kubeadm init初始化流程分析

1.kubeadm 在执行安装之前的环境检测

1) 检查执行 init 命令的用户是否为 root,如果不是 root,直接快速失败(fail fast);

2) 检查待安装的 k8s 版本是否被当前版本的 kubeadm 支持(kubeadm 版本 >= 待安装 k8s 版本);

3) 检查防火墙,如果防火墙未关闭,提示开放端口 10250;

4) 检查端口是否已被占用,6443(或你指定的监听端口)、10257、10259;

5) 检查文件是否已经存在,/etc/kubernetes/manifests/*.yaml;

6) 检查是否存在代理,连接本机网络、服务网络、Pod网络,都会检查,目前不允许代理;

7) 检查容器运行时,使用 CRI 还是 Docker,如果是 Docker,进一步检查 Docker 服务是否已启动,是否设置了开机自启动;

8) 对于 Linux 系统,会额外检查以下内容:

    8.1) 检查以下命令是否存在:crictl、ip、iptables、mount、

### 配置 kubeadm 使用阿里云容器镜像服务 为了使 kubeadm 能够从阿里云容器镜像服务拉取 Kubernetes 初始化所需镜像,需设置 `kubeadm` 的配置文件来指定使用阿里云的镜像库地址。具体操作如下: #### 修改 kubeadm 配置文件 创建或编辑 `kubeadm-config.yaml` 文件,添加或更新 imageRepository 字段指向阿里云官方提供的镜像仓库。 ```yaml apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration imageRepository: registry.aliyuncs.com/google_containers controlPlaneEndpoint: "LOAD_BALANCER_DNS:LOAD_BALANCER_PORT" networking: podSubnet: "192.168.0.0/16" ``` 上述配置中的 `registry.aliyuncs.com/google_containers` 即为阿里云提供的 Kubernetes 官方镜像路径[^4]。 #### 执行 Master 初始化命令 完成配置文件修改后,执行初始化命令时带上自定义配置文件参数以及忽略预检错误选项: ```bash sudo kubeadm init --config=kubeadm-config.yaml --ignore-preflight-errors=all ``` 这一步骤确保即使遇到一些非致命性的环境差异也能顺利完成安装过程[^2]。 #### 设置集群访问凭证 初始化成功之后,按照提示将管理员账户加入集群上下文中以便后续管理操作: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 至此,已完成基于阿里云镜像源的 kubernetes 主节点搭建工作。对于 Worker 节点,则继续遵循标准流程将其加入现有集群中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JIAWAP

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

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

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

打赏作者

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

抵扣说明:

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

余额充值