LoadBalancer类型的Service资源

  • LoadBalancer:某些云服务提供商会直接提供LoadBalancer模式,将服务对接到负载均衡,其原理是基于kubernetes的controller做二次开发,并集成到K8S集群,使得集群可以与云服务SDK交互
1
客户端访问流程:集群外的客户端 –> LoadBalancer –> NodeIP:NodePort –> ClusterIP:servicePort –> PortIP:containerPort。

阿里云自己提供的Kubernetes集群才可以使用LoadBalancer,但我们是在阿里云上自建k8s就能,所以不具备这个功能。

Example: tcp-ser-ds.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
---
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
name: tcp-server-ds
labels:
app: tcp-server-ds
spec:
template:
metadata:
name: tcp-server-ds
labels:
app: tcp-server-ds
spec:
hostNetwork: true
containers:
- image: maniankara/tcp-echo:1.0
ports:
- containerPort: 446
name: tcp-echo-server
args: ["--port", "446"]

阿里云配置slb监听node节点的446端口

最终telnet 公网ip地址+tcp port连通