公有云上部署 kubeasz
在公有云上使用kubeasz
部署k8s
集群需要注意以下几个常见问题。
安全组
注意虚机的安全组规则配置,一般集群内部节点之间端口全部放开即可;
网络组件
一般公有云对网络限制较多,跨节点 pod 通讯需要使用 OVERLAY 添加报头;默认配置详见example/config.yml
- flannel 使用 vxlan 模式:
FLANNEL_BACKEND: "vxlan"
- calico 开启 ipinip:
CALICO_IPV4POOL_IPIP: "Always"
- kube-router 开启 ipinip:
OVERLAY_TYPE: "full"
节点公网访问
可以在安装时每个节点绑定弹性公网地址
(EIP),装完集群解绑;也可以开通NAT网关,或者利用iptables自建上网网关等方式
负载均衡
一般云厂商会限制使用keepalived+haproxy
自建负载均衡,你可以根据云厂商文档使用云负载均衡(内网)四层TCP负载模式;
时间同步
一般云厂商提供的虚机都已默认安装时间同步服务,无需自行安装。
访问 APISERVER
在公有云上安装完集群后,需要在公网访问集群 apiserver,而我们在安装前可能没有规划公网IP或者公网域名;而 apiserver 肯定需要 https 方式访问,在证书创建时需要加入公网ip/域名;可以参考这里修改 APISERVER(MASTER)证书
在公有云上部署多主高可用集群
处理好以上讨论的常见问题后,在公有云上使用 kubeasz 安装集群与自有环境没有差异。
- 使用 kubeasz 2x 版本安装单节点、单主多节点、多主多节点 k8s 集群,云上云下的预期安装体验完全一致