码农的世界阿里云

阿里云容器服务通过LoadBalancer暴露IPv6服务

2019-09-16  本文已影响0人  阿里云技术

背景:

IPv4地址已接近枯竭,被誉为下一代互联网技术的IPv6成为新的“全球互联网门牌号”,它可以让地球上的每一粒沙子都拥有地址。当下,各国都在加速推进下一代互联网的部署,工信部也互联网服务商提出了IPv6改造的要求,国内的各大互联网厂商都在进行着IPv6的改造,IPv6的改造已迫在眉睫。

那么部署在阿里云容器服务上的应用如何暴露提供IPv6的服务呢?我们可以使用IPv6类型的LoadBalancer来暴露我们的服务。

使用方式:

1.创建容器服务的k8s集群,注意创建集群的 kube-proxy 代理模式需要是IPVS

2.创建LoadBalancer类型的Service,创建的模板的annotation中指定LoadBalancer类型为IPv6,例如下面的模板,声明使用ipv6,后端关联到一组nginx pod:

apiVersion: v1
kind: Service
metadata:
annotations:
 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: ipv6
name: nginx
spec:
ports:
- port: 80
 protocol: TCP
 targetPort: 80
selector:
 run: nginx

3.创建好后通过kubectl get svc 可以看到创建好的LoadBalancer类型的Service,大概20s后再通过kubectl get svc可以看到LoadBalancer的外网IP初始化出IPv6的IP地址:

 /tmp kubectl get svc nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx LoadBalancer 172.17.2.134 2408:4001:f10::182 80:30612/TCP 18s

4.在IPv6的环境中测试访问外部的地址,就可以访问到我们暴露的服务,例如我们上面创建的这个LoadBalancer,访问 "http://[2408:4001:f10::182]"地址,就能返回后端的nginx的服务:

阅读原文
本文为云栖社区原创内容,未经允许不得转载。

上一篇下一篇

猜你喜欢

热点阅读