阿里云自建k8s集群使用slb负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云自建k8s集群使用slb负载均衡相关的知识,希望对你有一定的参考价值。

参考技术A 环境:

阿里云坑爹的文档,害我搞了3天才搞定
https://github.com/kubernetes/cloud-provider-alibaba-cloud/blob/master/docs/getting-started.md

添加 --cloud-provider=external --provider-id=region_id.instance_id替换为上面获取到的id(provider-id是阿里云控制器用来识别ecs,添加路由表,添加负载均衡监听和虚拟服务器组)
不需要--hostname-override,会导致kubeadm join无法正常结束
(未验证)如果是已经加入集群的node,只修改kubectl并重启没用,估计可以直接修改node的spec,添加 providerID: cn-hongkong.i-xxxx

获取阿里云账户access_key,需要负载均衡和专用网络VPC路由表权限
https://usercenter.console.aliyun.com/#/manage/ak

官方资源文档: https://github.com/kubernetes/cloud-provider-alibaba-cloud/blob/master/docs/examples/cloud-controller-manager.yml
需要修改下面3项

云控制器镜像版本目前是:cloud-controller-manager-amd64:v1.9.3.10-gfb99107-aliyun
有几个问题

注解文档: https://help.aliyun.com/document_detail/86531.html#title-6ou-i9x-2lr

注意!!!老版注解前缀为alicloud,很多网上的其他文档用的是新版前缀alibaba-cloud(坑爹)

将云控制器配置文件调整为ConfigMap挂载方式(推荐)
也可以按照官方文档创建etc/kubernetes/cloud-controller-manager.conf,改为下面data的内容

修改$ca_data替换为下面的证书内容

修改$k8s_master_url 为集群地址
安装

配置阿里云SLB全站HTTPS集群

配置阿里云SLB全站HTTPS集群(以下内容仅为流程,信息可能有些对应不上)

1 登录阿里云购买两台实例

1.1 按量付费购买两台实例

技术图片

1.2 配置网络可以不选择分配外网

技术图片

1.3 自定义密码
技术图片

1.4 购买完成
技术图片

1.5 实例列表
技术图片

2 购买SLB实例

2.1 按量付费购买SLB实例
技术图片

技术图片

2.2 SLB实例列表
技术图片

3. 配置负载均衡实例端口转发

3.1 配置SLB服务器5555端口转发到服务器的22端口(另一台同样配置6666端口转发)
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片
技术图片

3.2 配置SLB服务器80端口负载均衡到两台服务器的80端口

技术图片
技术图片
技术图片

4. 配置服务器

4.1 利用端口转发连接没有外网的服务器实例(两台机器)
技术图片

4.2 修改主机名并安装nginx(两台机器)

[root@iZuf6ghkj6xlvmskd7k9e7Z ~]# hostnamectl set-hostname test01
[root@iZuf6ghkj6xlvmskd7k9e7Z ~]# bash
[root@test01 ~]# yum install -y nginx

4.3 配置并启动nginx(两台机器)

[root@test01 ~]# vim /etc/nginx/nginx.conf
server 
    listen       80;
    server_name  test.mumusir.com;
    root         /usr/share/nginx/html;

[root@test01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@test01 ~]# nginx

4.4 配置一个页面

[root@test01 ~]# echo '1111111111111' > /usr/share/nginx/html/index.html
[root@test02 ~]# echo 222222222222 > /usr/share/nginx/html/index.html

4.5 浏览器测试

技术图片

5.购买并配置证书

5.1 购买免费型DV证书
技术图片

技术图片

5.2 证书申请绑定、验证、审核

技术图片
技术图片

技术图片
技术图片

验证后会在域名解析页面自动生成一个TXT记录,非阿里云域名需要配置
技术图片

配置一个域名解析
技术图片

6. 部署证书

技术图片

6.1 SLB配置证书访问

6.2 删除原80跳转80
技术图片

6.3 添加443端口转发80
技术图片
技术图片

技术图片

6.4 配置网页http跳转https

技术图片

6.5 所有端口配置完成后
技术图片

6.6浏览器再次测试
技术图片

以上是关于阿里云自建k8s集群使用slb负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

阿里云ECS服务器SLB负载均衡实践

阿里云容器相关产品

阿里云-SLB

阿里云容器服务:负载均衡与容器的关系

负载均衡SLB

k8s高可用部署后续:SLB