No matter how I write the initContainer command in Kubernetes challange 1, I see the task as incomplete.
Here is my POD configuration.
apiVersion: v1
kind: Pod
metadata:
name: jekyll
labels:
run: jekyll
spec:
initContainers:
name: copy-jekyll-site
image: kodekloud/jekyll
command: [‘sh’, ‘-c’, “jekyll new /site”]
volumeMounts:
name: site
mountPath: /site
containers:
name: jekyll
image: kodekloud/jekyll-serve
volumeMounts:
name: site
mountPath: /site
volumes:
name: site
persistentVolumeClaim:
claimName: jekyll-site
I tried with command: [ “jekyll”, “new”, “/site”] . That too was not accepted. Where am I going wrong?
mmkmou
January 29, 2023, 10:38pm
#2
Hi @venumadhav.hari
You add container
information inside initContainers
base on the YAML file you provide. The right syntax should be :
apiVersion: v1
kind: Pod
metadata:
namespace: development
name: jekyll
labels:
run: jekyll
spec:
containers:
- name: jekyll
image: kodekloud/jekyll-serve
volumeMounts:
- mountPath: /site
name: site
initContainers:
- name: copy-jekyll-site
image: kodekloud/jekyll
command: [ "jekyll", "new", "/site" ]
volumeMounts:
- mountPath: /site
name: site
volumes:
- name: site
persistentVolumeClaim:
claimName: jekyll-site
You need to create a block container
Regard
Hi @mmkmou ,
Thanks for the reply.
The error in my Yaml was a copy paste indentation error.
However, I have tried the same exact way that you have mentioned in your yaml. But still I got the same error.
Thanks,
Venu
mmkmou
January 29, 2023, 11:09pm
#4
Hi @venumadhav.hari ,
Can you please provide us the copy - paste of your error?
I have the same issue, I have all task green except for the pod and the only issue is the command
apiVersion: v1
kind: Pod
metadata:
name: jekyll
namespace: development
labels:
run: jekyll
spec:
containers:
- name: jekyll
image: kodekloud/jekyll-serve
volumeMounts:
- name: site
mountPath: /site
initContainers:
- name: copy-jekyll-site
image: kodekloud/jekyll
command: [ "jekyll", "new", "/site" ]
volumeMounts:
- name: site
mountPath: /site
volumes:
- name: site
persistentVolumeClaim:
claimName: jekyll-site
Thanks
mmkmou
May 16, 2023, 9:34pm
#6
Hi @deanholmes @venumadhav.hari
Just tested the challenge and its work fine
Then I’m more confused.
Any ideas?
mmkmou
May 16, 2023, 10:10pm
#8
Please try again and be sure that the pod is running
Hi,
I now have multiple attempts at this, the pod is running but I still get the x at the command
kubectl get pods jekyll -n development
NAME READY STATUS RESTARTS AGE
jekyll 1/1 Running 0 80s
kubectl describe pod jekyll -n development
Name: jekyll
Namespace: development
Priority: 0
Node: node01/192.30.252.9
Start Time: Wed, 17 May 2023 17:19:44 +0000
Labels: run=jekyll
Annotations: <none>
Status: Running
IP: 10.244.192.2
IPs:
IP: 10.244.192.2
Init Containers:
copy-jekyll-site:
Container ID: docker://b3721a13581ebebf5dd4ed04e71edfe015de61fb92c1ee3106b1e54b4a820ec7
Image: kodekloud/jekyll
Image ID: docker-pullable://kodekloud/jekyll@sha256:e7776dd75bf813e7da2e76badecd9bfadf1e7893fe0d588cc552ea090594e00f
Port: <none>
Host Port: <none>
Command:
jekyll
new
/site
State: Terminated
Reason: Completed
Exit Code: 0
Started: Wed, 17 May 2023 17:20:02 +0000
Finished: Wed, 17 May 2023 17:20:17 +0000
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/site from site (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l6tl7 (ro)
Containers:
jekyll:
Container ID: docker://2b49d80158db4576690a5bc9964724b0d0845688e40c1fbbbe56e18e058a822f
Image: kodekloud/jekyll-serve
Image ID: docker-pullable://kodekloud/jekyll-serve@sha256:5e2be6d03d137e9a724624118b2567931aff94e33ae9dabed34dc2626772e8be
Port: <none>
Host Port: <none>
State: Running
Started: Wed, 17 May 2023 17:20:19 +0000
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/site from site (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l6tl7 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
site:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: jekyll-site
ReadOnly: false
kube-api-access-l6tl7:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 44s default-scheduler Successfully assigned development/jekyll to node01
Normal Pulling 43s kubelet Pulling image "kodekloud/jekyll"
Normal Pulled 27s kubelet Successfully pulled image "kodekloud/jekyll" in 15.308893949s
Normal Created 27s kubelet Created container copy-jekyll-site
Normal Started 26s kubelet Started container copy-jekyll-site
Normal Pulling 10s kubelet Pulling image "kodekloud/jekyll-serve"
Normal Pulled 9s kubelet Successfully pulled image "kodekloud/jekyll-serve" in 904.162511ms
Normal Created 9s kubelet Created container jekyll
Normal Started 9s kubelet Started container jekyll
Thanks
Dean
I don’t know what I did different but it finally completed, it might be a timing thing, giving it enough time to complete the command
I’m going to run it a few more times just to practice
Thanks
Dean
1 Like