标签:出现 查看 dba 支持 动态 没有 yaml http none
Pod出现故障以后Deployment会根据策略重启Pod,但是重启Pod会生成新的IP,需要引入Service概念保证访问正常
Service
Pod与Service的关系
示例service.yaml
#版本 apiVersion: v1 #类型是service kind: Service metadata: name: my-service namespace: default spec: #service默认clusterIP clusterIP: 10.10.10.123 ports: - name: http #service端口 port: 80 protocol: TCP #后端容器端口 targetPort: 80 #标签选择器关联后端的一组Pod selector: run: nginx
创建
kubectl apply -f service.yaml
因为该service标签匹配一个nginx所以如果没有创建nginx的deployment需要创建一个
kubectl run nginx --replicas=3 --image=nginx --port=80
创建以后可以查看有对应标签的pod
# kubectl get pod -l run=nginx NAME READY STATUS RESTARTS AGE nginx-57867cc648-b4rct 1/1 Running 0 9m53s nginx-57867cc648-qgbwl 1/1 Running 0 9m53s nginx-57867cc648-qmbbw 1/1 Running 0 9m53s
查看
# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.10.10.1 <none> 443/TCP 6d23h my-service ClusterIP 10.10.10.123 <none> 80/TCP 6m25s
其中name为kubernetes的service是k8s安装以后默认的一个service默认IP的service的第一个IP 10.10.10.1端口是443
默认的svc的作用是负载均衡后端master的IP
service需要动态感知后端ip变化可以通过以下命令查看,每个svc管理后端的一组容器
# kubectl get endpoints NAME ENDPOINTS AGE kubernetes 192.168.1.63:6443,192.168.1.64:6443 6d23h my-service 172.17.41.2:80,172.17.55.2:80,172.17.55.4:80 9m59s
标签:出现 查看 dba 支持 动态 没有 yaml http none
原文地址:https://www.cnblogs.com/minseo/p/12425623.html