Team, My task is running fine with json output but I just want to look for pod name and namespace instead of outputting the whole pod json output. so, i am using debug to pull the pod name but not sure how to pull all pods names along side namespace..
any hint? I am not able to understand from here: extracting a variable from json output then debug and register the outout with ansible
- name: "Get a list of all pods from any namespace"
k8s_facts:
kind: Pod
namespace: webhook
kubeconfig: $WORKSPACE
verify_ssl: no
register: pod_list
- debug:
var: pod_list
- name: list names and namespaces
debug:
msg: "{{ pod_list.resources[0].metadata.name }}"
output:
TASK [3_validations_on_ssh : list names and namespaces] *******************************************************************************************************************************
ok: [target1] => {
"msg": "k8s-webhook-auth-xxxx1"
}
sample output snippet that looks for a pod is below: similarly it continues for other pods in pod_lsit
TASK [3_validations_on_ssh : debug] *****************************************************
ok: [target1] => {
"pod_list": {
"changed": false,
"failed": false,
"resources": [
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"creationTimestamp": "2019-10-11T18:44:04Z",
"generateName": "k8s-webhook-auth-",
"labels": {
"app": "k8s-webhook-auth",
"controller-revision-hash": "666c6cb69d",
"pod-template-generation": "20",
"release": "k8s-webhook-auth"
},
"name": "k8s-webhook-auth-xxxx1",
"namespace": "webhook",
"ownerReferences": [
{
"apiVersion": "apps/v1",
"blockOwnerDeletion": true,
"controller": true,
"kind": "DaemonSet",
"name": "k8s-webhook-auth",
"uid": "1e9-8e9b-ac1f6b4ea082"
}
],
"resourceVersion": "47592900",
"selfLink": "/api/v1/namespaces/webhook/pods/k8s-webhook-auth-5jx6w",
"uid": "1e9-8e9b-ac1f6b4ea082"
},
expected output:
k8s-webhook-auth-xxxx1 webhook
k8s-webhook-auth-xxxx2 webhook
k8s-webhook-auth-xxxx3 webhook