Welcome to the Linux Foundation Forum!

Lab 9.1 Deployment Endpoint

toma
toma Posts: 3
edited July 2021 in LFS258 Class Forum

Hello,

Just following the [link to copyrighted content removed]

last step:

containerPort: 8080

modified to

containerPort: 80

and even after deleting the endpoint it still shows:

student@master:~/src/lfs258$ kubectl -n accounting get endpoints nginx-one
NAME ENDPOINTS AGE
nginx-one 192.168.171.88:8080,192.168.171.89:8080 14m

any idea how to fix it?

Also,

in [link to copyrighted content removed]

"Exercise 9.2: Configure a NodePort
[Copyrighted content removed]" but there was no LoadBalancer involved.

Any idea how to fix these?

Comments

  • chrispokorni
    chrispokorni Posts: 2,349

    Hi @toma,

    The nginx-one service needs to be re-created in order for the endpoints to show the correct port number.

    If you revisit an earlier Exercise 3.5, you will find the LoadBalancer type service.

    Regards,
    -Chris

  • toma
    toma Posts: 3

    Thank you @chrispokorni, I deleted, recreated with 80, nothing changed.

  • chrispokorni
    chrispokorni Posts: 2,349

    Hi @toma,

    After re-creating the nginx-one deployment, can you describe one of its pod replicas and confirm that the nginx container has its Port set to 80?

    Regards,
    -Chris

  • toma
    toma Posts: 3

    student@master:~/src/lfs258$ kubectl -n accounting describe endpoints nginx-one
    Name: nginx-one
    Namespace: accounting
    Labels: system=secondary
    Annotations: endpoints.kubernetes.io/last-change-trigger-time: 2021-07-22T12:34:58Z
    Subsets:
    Addresses: 192.168.171.97,192.168.171.98
    NotReadyAddresses:
    Ports:
    Name Port Protocol
    ---- ---- --------
    8080 TCP

    Events:

    student@master:~/src/lfs258$ kubectl -n accounting describe replica
    replicasets.apps replicationcontrollers
    student@master:~/src/lfs258$ kubectl -n accounting describe replicasets.apps
    Name: nginx-one-575f648647
    Namespace: accounting
    Selector: pod-template-hash=575f648647,system=secondary
    Labels: pod-template-hash=575f648647
    system=secondary
    Annotations: deployment.kubernetes.io/desired-replicas: 2
    deployment.kubernetes.io/max-replicas: 3
    deployment.kubernetes.io/revision: 1
    Controlled By: Deployment/nginx-one
    Replicas: 2 current / 2 desired
    Pods Status: 2 Running / 0 Waiting / 0 Succeeded / 0 Failed
    Pod Template:
    Labels: pod-template-hash=575f648647
    system=secondary
    Containers:
    nginx:
    Image: nginx:1.20.1
    Port: 80/TCP
    Host Port: 0/TCP
    Environment:
    Mounts:
    Volumes:
    Events:
    Type Reason Age From Message
    ---- ------ ---- ---- -------
    Normal SuccessfulCreate 5m10s replicaset-controller Created pod: nginx-one-575f648647-nkrtl
    Normal SuccessfulCreate 5m10s replicaset-controller Created pod: nginx-one-575f648647-qnkwq

    any idea?

  • Coincidentally I was also just stuck here - lab 9.1 seemed to end very abruptly without reaching a final state...

    Simply recreating the pods to listen on port 80 did not seem to be sufficient for me either.

    I ran ubuntu@k8s-master:~$ kubectl describe -n accounting service nginx-one and saw the service is still using 8080:

    Name:              nginx-one
    Namespace:         accounting
    Labels:            system=secondary
    Annotations:       <none>
    Selector:          system=secondary
    Type:              ClusterIP
    IP Family Policy:  SingleStack
    IP Families:       IPv4
    IP:                10.99.168.32
    IPs:               10.99.168.32
    Port:              <unset>  8080/TCP
    TargetPort:        8080/TCP
    Endpoints:         192.168.254.136:8080,192.168.254.140:8080
    Session Affinity:  None
    Events:            <none>
    

    So I did kubectl -n accounting delete service nginx-one and then repeated kubectl -n accounting expose deployment nginx-one. Now curl to both endpoints listed in kubectl -n accounting get ep nginx-one works for me. Just not sure if this was the intended final result.

  • chrispokorni
    chrispokorni Posts: 2,349

    Hi @mvanderwesthuizen,

    That is the expected result, but for Exercise 9.2 Step 1, where the nginx-one deployment is exposed once more.

    Regards,
    -Chris

  • chrispokorni
    chrispokorni Posts: 2,349

    Hi @toma,

    Just deleting the endpoints does not update the target port of the service. You would need to delete the service and expose the deployment again for the target port values to be updated - this in case you missed one of my earlier responses.

    Regards,
    -Chris

Categories

Upcoming Training