删除部署中的一个Pod后,服务不起作用

时间:2020-07-17 10:14:08

标签: kubernetes

我应用了2个http pod的部署和一个服务,并且运行良好。我可以卷曲serviceip或servicename。该服务很好地完成了轮询程序。
但是,当我删除一个Pod之后,k8s创建了一个新的Pod来替换它。当我卷曲服务时,新的pod不会返回,只有另一个旧的就可以了。
问题是为什么k8s不会将新的Pod更新到服务,所以我可以像以前一样卷曲serviceip或servicename?

Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mvn-dp
spec:
  selector:
    matchLabels:
      run: mvn-demo
  replicas: 2
  template:
    metadata:
      labels:
        run: mvn-demo
    spec:
      containers:
      - name: mvndemo
        image: 192.168.0.193:59999/mvndemo
        ports:
        - containerPort: 8080

Service:
apiVersion: v1
kind: Service
metadata:
  name: mvn-svc
  labels:
    run: mvn-demo
spec:
  ports:
  - port: 8080
    protocol: TCP
  #type: NodePort
  selector:
    run: mvn-demo

kdes svc mvn-svc

Name:              mvn-svc
Namespace:         default
Labels:            run=mvn-demo
Annotations:       Selector:  run=mvn-demo
Type:              ClusterIP
IP:                10.97.21.218
Port:              <unset>  8080/TCP
TargetPort:        8080/TCP
Endpoints:         100.101.153.220:8080,100.79.233.220:8080
Session Affinity:  None
Events:            <none>

kpod

NAME                                READY   STATUS    RESTARTS   AGE   IP                NODE      NOMINATED NODE   READINESS GATES
mvn-dp-8f59c694f-2mwq8              1/1     Running   0          81m   100.79.233.220    worker2   <none>           <none>
mvn-dp-8f59c694f-xmt6m              1/1     Running   0          87m   100.101.153.220   worker3   <none>           <none>

[root@master1 k8s-yaml]# curl http://10.97.21.218:8080
Hello Docker World, from: mvn-dp-8f59c694f-xmt6m
[root@master1 k8s-yaml]# curl http://10.97.21.218:8080
**curl: (7) Failed connect to 10.97.21.218:8080; 连接超时(connetion timeout)**

您可以看到mvn-dp-8f59c694f-2mwq8的年龄比另一个新,因为我删除了一个吊舱,而k8s用这个新吊舱代替了。

1 个答案:

答案 0 :(得分:0)

为部署元数据设置标签

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mvn-dp
  labels:
    run: mvn-demo

它将起作用