在生产环境中kubernetes如果仅提供http或https服务,则可以使用nginx-ingress或者traefik之类的七层负载均衡软件。 当然,也可以通过NodePort的方式暴露http或tcp服务。如果不想直接使用NodePort暴露出的那个端口号,而服务器又是运行在阿里云上,那么可以使用阿里云提供的Kubernetes Cloud Controller Manager来对外暴露TCP服务或http/https服务。
前提:
1.在阿里云上购买了几台ecs
2.在阿里云的ecs上搭建好了一个kubernetes集群,这里以kubernetes1.9.0为例
3.在阿里云上购买一个公网的负载均衡
就可以开始配置阿里云的负载均衡与kubernetes整合了。以下是配置步骤:
- 先获取每台ecs对应的regionId和ecsId,可以使用命令echo `curl -s http://100.100.100.200/latest/meta-data/region-id`.`curl -s http://100.100.100.200/latest/meta-data/instance-id`获取。