k8s中使用service做四层负载均衡
k8s中使用service做四层负载均衡在kubernetes中,Pod是有生命周期的,如果pod重启IP很有可能就会发生变化。如果我们的服务都是将pod的IP写死,pod的挂掉或者重启,和刚才重启的pod相关联的其他服务就会找不到它所关联的pod,为了解决这个问题,在kubernetes中定义了service资源对象,service定义了一个服务访问的入口,客户端通过这个入口即可访问服务背后的应
·
k8s中使用service做四层负载均衡
在kubernetes中,Pod是有生命周期的,如果pod重启IP很有可能就会发生变化。如果我们的服务都是将pod的IP写死,pod的挂掉或者重启,和刚才重启的pod相关联的其他服务就会找不到它所关联的pod,为了解决这个问题,在kubernetes中定义了service资源对象,service定义了一个服务访问的入口,客户端通过这个入口即可访问服务背后的应用集群实例,service是一组pod的逻辑集合,这一组pod能够被service访问到,通常是Label Selectot实现的。
我们通过service访问k8s内部应用的时候数据包走向是从 客户端请求
–>node节点的IP:端口
–>service的ip:端口
-->pod的ip:端口
demo
创建一个k8s pod,通过service代理
cat pod_test.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
run: nginx
replicas: 2
template:
metadata:
labels:
run: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
创建一个service
cat service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
run: nginx
spec:
ports:
- port: 80
protocol: TCP
selector:
run: nginx
更多推荐
已为社区贡献10条内容
所有评论(0)