Welcome to the Linux Foundation Forum!

Lab 11.2. Why two services have same endpoints?

Hi!

I'm trying to make Lab 11.2. Most steps are ok except ones where different configuration for web-one and web-two are needed.

Here are configs:
1. web-one.yaml:

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: web-one
  5. labels:
  6. system: secondary
  7. spec:
  8. selector:
  9. matchLabels:
  10. system: secondary
  11. replicas: 1
  12. template:
  13. metadata:
  14. labels:
  15. system: secondary
  16. spec:
  17. containers:
  18. - image: nginx:1.20.1
  19. imagePullPolicy: Always
  20. name: nginx
  21. ports:
  22. - containerPort: 80
  23. protocol: TCP
  1. web-two.yaml:
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: web-two
  5. labels:
  6. system: secondary
  7. spec:
  8. selector:
  9. matchLabels:
  10. system: secondary
  11. replicas: 1
  12. template:
  13. metadata:
  14. labels:
  15. system: secondary
  16. spec:
  17. containers:
  18. - image: nginx:1.20.1
  19. imagePullPolicy: Always
  20. name: nginx
  21. ports:
  22. - containerPort: 80
  23. protocol: TCP

Both created successfully and exposed:

  1. [07:57]user@ubuntu-vbox-k8s-master[~]$ kubectl create -f web-one.yaml
  2. deployment.apps/web-one created
  3. [07:57]user@ubuntu-vbox-k8s-master[~]$ kubectl create -f web-two.yaml
  4. deployment.apps/web-two created
  5.  
  6. [07:58]user@ubuntu-vbox-k8s-master[~]$ kubectl get pods
  7. NAME READY STATUS RESTARTS AGE
  8. myingress-ingress-nginx-controller-459tg 1/1 Running 0 72m
  9. myingress-ingress-nginx-controller-855vf 1/2 CrashLoopBackOff 9 (113s ago) 21m
  10. web-one-84655f9947-vcs4p 1/1 Running 0 56s
  11. web-two-84655f9947-kfsrm 1/1 Running 0 52s
  12.  
  13. [07:58]user@ubuntu-vbox-k8s-master[~]$ kubectl expose deployment web-one --type=ClusterIP --port=80
  14. service/web-one exposed
  15. [07:58]user@ubuntu-vbox-k8s-master[~]$ kubectl expose deployment web-two --type=ClusterIP --port=80
  16. service/web-two exposed
  17.  
  18. [08:00]user@ubuntu-vbox-k8s-master[~]$ kubectl get svc
  19. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  20. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 30d
  21. myingress-ingress-nginx-controller LoadBalancer 10.101.135.134 <pending> 80:30796/TCP,443:30645/TCP 74m
  22. myingress-ingress-nginx-controller-admission ClusterIP 10.110.32.128 <none> 443/TCP 74m
  23. web-one ClusterIP 10.97.84.234 <none> 80/TCP 2m19s
  24. web-two ClusterIP 10.107.37.129 <none> 80/TCP 2m14s
  25.  
  26. [08:01]user@ubuntu-vbox-k8s-master[~]$ kubectl get ep
  27. NAME ENDPOINTS AGE
  28. kubernetes 192.168.56.108:6443 30d
  29. myingress-ingress-nginx-controller 192.168.77.30:443,192.168.77.30:80 75m
  30. myingress-ingress-nginx-controller-admission 192.168.77.30:8443 75m
  31. web-one 192.168.77.35:80,192.168.77.36:80 3m24s
  32. web-two 192.168.77.35:80,192.168.77.36:80 3m19s

As you see at last command output, web-one and web-two are mixed. I definitely missed something.

Could anybody help?

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Answers

  • Use different label for web-one Deployment ?

  • Posts: 1,000

    Hello,

    What is the issue, in particular. The same deployment may have several services. Which is the step that is the problem? I want to be sure to help you on the correct step.

    Regards,

  • Hi @Gim6626,

    Both Deployment definition files show the same label and selector. Two operators with the same label causes resource management conflicts.

    You can revisit the two Deployment definition files and correct the labels and selectors, or create both deployments via imperative commands - much easier and labels will be correctly assigned.

    Regards,
    -Chris

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training