Welcome to the Linux Foundation Forum!

LFD259 Lab 5.1 and 5.2 issues with PVC

Options

when doing 5.1 creating deployment leads to 6 pods in 0/2 state. Here is what i see:

student@lfckadclass-instance-1:~$ k describe pod try1-5b8b8cc57b-f9496
Name: try1-5b8b8cc57b-f9496
Namespace: default
Priority: 0
Service Account: default
Node:
Labels: app=try1
pod-template-hash=5b8b8cc57b
Annotations:
Status: Pending
IP:
IPs:
Controlled By: ReplicaSet/try1-5b8b8cc57b
Containers:
simpleapp:
Image: 10.101.118.197:5000/simpleapp
Port:
Host Port:
Readiness: exec [ls /etc/cars] delay=0s timeout=1s period=5s #success=1 #fa ilure=3
Environment Variables from:
colors ConfigMap Optional: false
Environment:
ilike: Optional: false
Mounts:
/etc/cars from car-vol (rw)
/opt from nfs-vol (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-khb4p ( ro)
goproxy:
Image: registry.k8s.io/goproxy:0.1
Port: 8080/TCP
Host Port: 0/TCP
Liveness: tcp-socket :8080 delay=15s timeout=1s period=20s #success=1 #f ailure=3
Readiness: tcp-socket :8080 delay=5s timeout=1s period=10s #success=1 #fa ilure=3
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-khb4p ( ro)
Conditions:
Type Status
PodScheduled False
Volumes:
car-vol:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: fast-car
Optional: false
nfs-vol:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: pvc-one
ReadOnly: false
kube-api-access-khb4p:
Type: Projected (a volume that contains injected data fro m multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists fo r 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 20s default-scheduler 0/2 nodes are available: 2 persistentvolumeclaim "pvc-one" not found. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.

Obs!!! When using PVC definition from lab 5.2 i see another error:
k describe pvc pvc-one
Name: pvc-one
Namespace: default
StorageClass: manual
Status: Pending
....
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ProvisioningFailed 2m16s (x26 over 8m26s) persistentvolume-controller storageclass.storage.k8s.io "manual" not found
student@lfckadclass-instance-1:~$

Answers

  • alexanderlvov1
    Options

    ok, i think its because up untill lab 4 i could take the file with the "edited" suffix and make changes as is
    outlined in the current lab, but starting with lab 5 i need to take the previous lab result of something like that. confusing!

  • chrispokorni
    Options

    Hi @alexanderlvov1,

    Please see my response on your earlier question posted in a different class:

    @chrispokorni said:
    Hi @alexanderlvov1,

    All these labs have consistently worked on GCE VMs. If your infrastructure is configured according to the instructions from the demo video from the introductory chapter, and the installation and bootstrapping were successful per lab 3, then all should work as expected.

    The depeloyment replicas do not have nodes assigned because it seems there is a missing application dependency - the pvc-one persistent volume claim.

    Make sure that the NFS packages are successfully installed, and that the PV pvvol-1 is created after the PVol.yaml manifest is updated with the required cp node hostname.
    The PVC pvc-one should show a bound status upon successful creation. The pvc-one PVC and the pvvol-1 PV should be bound to each other.

    It may be easier to delete the try1 deployment, delete the PVC, delete the PV (in this order) and then ensure the necessary NFS packages are installed on each respective node, properly configured on each respective node, then inspect the PV manifest and update any fields as instructed in the lab guide, then create the PVC, ensure they are bound to each other. Finally, create the deployment, ensuring the manifest properly defines the volume and the volume mount.

    If you suspect the manifest is not correct, feel free to share it here.

    Regards,
    -Chris

Categories

Upcoming Training