ContainersKubernetes
暴露 Kubernetes 集群工作负载
使用 RingLink Kubernetes Operator 将集群中的工作负载暴露到 RingLink 网络。
要开始使用,定义一个 type: LoadBalancer 的 Service,并将 loadBalancerClass 设置为 ringlink。
这使您的服务可以通过 RingLink 访问。
先决条件
暴露 Kubernetes Service
要通过 RingLink 暴露 Kubernetes Service,请按照以下步骤操作:
将 spec.type 设置为 LoadBalancer。
将 spec.loadBalancerClass 设置为 ringlink。
添加注解 networking.ring.link/load-balancer-type,值为 internal。
设置完成后,Service 将显示来自您 RingLink 网络的 IP 地址。
使用以下命令检查状态:
kubectl get service <service-name>您还应该在 RingLink 控制面板的 网络 标签下看到一个新设备。
示例配置:
apiVersion: v1
kind: Service
metadata:
name: ringlink-lb
annotations:
networking.ring.link/load-balancer-type: "internal"
spec:
type: LoadBalancer
loadBalancerClass: ringlink
selector:
app: nginx
ports:
- protocol: TCP
port: 80期望输出:
root@localhost:~# kubectl get svc ringlink-lb
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ringlink-lb LoadBalancer 10.43.29.231 172.29.0.108 80:31088/TCP 9s将 Service 暴露到特定网络
如果您使用多个 RingLink 网络,可以将 Service 绑定到特定网络:
为目标网络创建 RingLinkConfiguration:
apiVersion: ring.link/v1
kind: RingLinkConfiguration
metadata:
name: ringlink-08132e98
spec:
network: 08132e98
secretName: ringlink-token为 Service 添加 networking.ring.link/config 注解:
apiVersion: v1
kind: Service
metadata:
name: ringlink-lb
annotations:
networking.ring.link/config: "ringlink-08132e98"
networking.ring.link/load-balancer-type: "internal"
spec:
type: LoadBalancer
loadBalancerClass: ringlink
selector:
app: nginx
ports:
- protocol: TCP
port: 80