Code Engine: Debugging using kubectl - IraAngeles-sw-dev/IBM-Cloud-resources GitHub Wiki

1. Login to IBM Cloud account

Command:

ibmcloud login -g Default

2. Select Code-engine project

Command:

ibmcloud ce project select -n <project name>

Sample output:

❯ ibmcloud ce project select -n ocelot-ira-test
Selecting project 'ocelot-ira-test'...
OK

3. Get current project details

Commnad:

ibmcloud ce project current

Sample output:

❯ ibmcloud ce project current
Getting the current project context...
OK

Name:       ocelot-ira-test  
ID:         8d9fbed7-a7a7-4f11-9c55-00000000  
Subdomain:  c87fptli0uc  
Domain:     jp-tok.codeengine.appdomain.cloud  
Region:     jp-tok  

Kubernetes Config:    
Context:               c87fptli0uc  
Environment Variable:  export KUBECONFIG="/Users/isaias/.bluemix/plugins/code-engine/ocelot-ira-test-8d9fbed7-a7a7-4f11-9c55-00000000.yaml"export KUBECONFIG="/Users/isaias/.bluemix/plugins/code-engine/ocelot-ira-test-8d9fbed7-a7a7-4f11-9c55-00000000.yaml"

4. Connect kubectl to Code-engine cluster

Command: Copy the export KUBECONFIG command provided above.

export KUBECONFIG="/Users/isaias/.bluemix/plugins/code-engine/ocelot-ira-test-8d9fbed7-a7a7-4f11-9c55-00000000.yaml"
  • To check if connected get existing pods in cluster
    Command:
kubectl get pods

Sample output

❯ kubectl get pods
NAME                                                           READY   STATUS             RESTARTS   AGE
account-management-service-00012-deployment-65bd7688c4-lb84m   1/3     ImagePullBackOff   992        7d8h
account-management-service-00013-deployment-5cfb4b7569-2hl8c   1/3     ImagePullBackOff   1009       7d11h
account-management-service-00013-deployment-c9b89bccf-v928f    1/3     ImagePullBackOff   1003       7d10h
app-ce-ocelot-00001-deployment-56c486d8f6-kw7jd                3/3     Running            0          7d8h
icos-00004-deployment-6f54b87b8b-xjwk2                         3/3     Running            0          7d8h
ocelot-api-gateway-00020-deployment-7c56467b7b-q4ll9           3/3     Running            0          6d22h

* Restart a pod (ensure image is available in repository before deleting the pod)

Command:

kubectl delete pod <name of pod>

Sample output:

❯ kubectl delete pod ocelot-api-gateway-00020-deployment-7c56467b7b-q4ll9
pod "ocelot-api-gateway-00020-deployment-7c56467b7b-q4ll9" deleted
❯ kubectl get pods
NAME                                                           READY   STATUS              RESTARTS   AGE
account-management-service-00012-deployment-65bd7688c4-hqksk   1/3     ImagePullBackOff    382        2d20h
account-management-service-00013-deployment-5cfb4b7569-2hl8c   1/3     ImagePullBackOff    1392       10d
account-management-service-00013-deployment-c9b89bccf-v928f    1/3     ImagePullBackOff    1386       10d
app-ce-ocelot-00001-deployment-56c486d8f6-kw7jd                3/3     Running             0          10d
icos-00004-deployment-6f54b87b8b-xjwk2                         3/3     Running             0          10d
ocelot-api-gateway-00020-deployment-7c56467b7b-q4ll9           2/3     Terminating         0          4m24s
ocelot-api-gateway-00020-deployment-7c56467b7b-4bxlr           0/3     ContainerCreating   0          10s
❯ kubectl get pods
NAME                                                           READY   STATUS             RESTARTS   AGE
account-management-service-00012-deployment-65bd7688c4-hqksk   1/3     ImagePullBackOff   382        2d20h
account-management-service-00013-deployment-5cfb4b7569-2hl8c   1/3     ImagePullBackOff   1391       10d
account-management-service-00013-deployment-c9b89bccf-v928f    1/3     ImagePullBackOff   1386       10d
app-ce-ocelot-00001-deployment-56c486d8f6-kw7jd                3/3     Running            0          10d
icos-00004-deployment-6f54b87b8b-xjwk2                         3/3     Running            0          10d
ocelot-api-gateway-00020-deployment-7c56467b7b-4bxlr           3/3     Running            0          48s

* Display pod status or events

Command:

kubectl describe pod <name of pod>

Sample output:

❯ kubectl describe pod account-management-service-00012-deployment-65bd7688c4-hqksk
Name:         account-management-service-00012-deployment-65bd7688c4-hqksk
Namespace:    c87fptli0uc
Priority:     0
Node:         192.168.0.18/192.168.0.18
Start Time:   Fri, 22 Oct 2021 13:41:27 +0800
.
.
.
Node-Selectors:  ibm-cloud.kubernetes.io/worker-pool-name=codeengine-user-bx2-16x64
Tolerations:     codeengine.cloud.ibm.com/node-restriction-worker-pool-name=codeengine-user-bx2-16x64:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute op=Exists for 600s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 600s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  90s                default-scheduler  Successfully assigned c87fptli0uc/account-management-service-00012-deployment-65bd7688c4-hqksk to 192.168.0.18
  Normal   Pulled     89s                kubelet            Container image "icr.io/obs/codeengine/istio/proxyv2:1.11.1-rc4" already present on machine
  Normal   Created    89s                kubelet            Created container istio-proxy
  Normal   Started    88s                kubelet            Started container istio-proxy
  Normal   Pulled     84s                kubelet            Container image "icr.io/obs/codeengine/knative-serving/knative.dev/serving/cmd/queue:v0.24.0-rc2@sha256:a0f7181ab8dedbc0f798665d561a6bdd57e6fa3d6e96640a12e23721ba8719e5" already present on machine
⚠️ **GitHub.com Fallback** ⚠️