解决阿里云ECS下kubeadm部署k8s无法指定公网IP
【今日推荐】:为什么一到面试就懵逼!>>> 更新 以下方法比较笨拙,实用性不高,这里贴出知乎上一位大佬的文章—— Kubernetes——部署基于公网的k8s集群 大佬给出的解决方案有两种,一是虚拟出一个绑定公网IP的网卡;二是使用k8s v1.8.0 + 版本引入的分段初始化方法,在初始化etcd的时候指定配置文件—— 传送门——kubeadm init phase ; 公网部署的资料少得可怜,当初在找资料的时候,百度、谷歌、官网翻了好久,居然没发现这篇文章。。。ε=(´ο`*)))唉。 ===2020.4.6更 背景 一般情况下,"kubeadm"部署集群时指定"--apiserver-advertise-address=<public_ip>"参数,即可在其他机器上,通过公网ip join到本机器,然而,阿里云ecs里没配置公网ip,etcd会无法启动,导致初始化失败。 环境、工具 阿里云ECS学生机、ECS对应的公网ip、kubeadm1.15.4、kubelet1.15.4、kubectl1.15.4、ubuntu18.04.3、linux4.15.0-66-generic、docker18.9.7 步骤 准备 该实现需要在kubeadm初始化过程中对etcd进行修改,而kubeadm初始化是阻塞的,因此,需要建立两个ssh对话,即用ssh工具新建两个标签