阿里云搭建k8s kubeadm init失败的原因

使用阿里云搭建k8s时,在主节点执行kubeadm init时候卡在

Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0

这是因为kubeadm init 指定了"--apiserver-advertise-address"为公网ip,但是阿里云的机器是vpc网络,使用ifconfig时候,可以看到网卡上显示的是内网ip,并没有公网ip,这就会导致etcd无法启动,解决办法为去掉--apiserver-advertise-address参数。

### 安装和配置 Kubernetes 集群 #### 准备环境 为了确保顺利安装 Kubernetes,在 CentOS 上需先更新系统并设置必要的内核参数。建议关闭防火墙和服务隔离工具 SELinux,以减少网络策略冲突。 #### 添加 Kubernetes YUM 源 由于默认的 CentOS 软件源不包含最新的稳定版 Kubernetes 组件,因此需要添加阿里云或官方 K8S 的 yum repo 来获取最新版本软件包。 ```bash cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kube* EOF ``` #### 安装必要组件 执行命令来安装 `kubeadm`、`kubelet` 和 `kubectl` 这三个核心组件[^3]: ```bash yum install --setopt=obsoletes=0 kubeadm-1.17.4-0 kubelet-1.17.4-0 kubectl-1.17.4-0 -y ``` #### 初始化 Master 节点 初始化主节点前确认已禁用 swap 并启动容器运行时服务 Docker 或 containerd。接着使用如下指令初始化 master 节点: ```bash sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此过程会生成加入 worker 节点所需的 token 及 CA 证书哈希值,请妥善保存输出信息中的 join 命令用于后续扩展集群规模。 #### 设置 kubectl 认证 为了让普通用户能够操作 API server,按照提示完成认证文件复制到家目录下,并创建相应的软链接以便于管理 Pod 策略等资源对象: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` #### 安装 CNI 插件 Kubernetes 默认并不自带任何网络插件,所以还需要额外部署 Flannel 或 Calico 类型的 Container Network Interface (CNI),这里推荐采用 flannel 方案简化组网逻辑: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` #### 加入 Worker 节点 对于每台希望作为计算单元参与调度的工作站而言,则只需在其本地终端输入之前记录下来的那条特定格式化的 join command 即可自动注册成为正式成员[^2]。 #### 验证集群状态 最后可以通过查询所有命名空间下的 pod 列表来检验整个集群是否处于健康运转之中[^1]: ```bash kubectl get pods --all-namespaces ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值