We expect to provide a Java client (Please using JDK 17):
- Flexibility. It can support all Kubernetes-based systems with minimized extra development, such as Openshift, istio, etc.
- Usability. Developers just need to learn to write json/yaml(kubernetes native style) from Kubernetes documentation.
- Integration. It can work with the other Kubernetes clients, such as fabric8, official.
This project is based on the following softwares.
NAME | Website | LICENSE |
---|---|---|
Apache HttpComponent | https://github.com/apache/httpcomponents-client | Apache License 2.0 |
Apache Commons-codec | https://github.com/apache/commons-codec | Apache License 2.0 |
FasterXML Jackson | https://github.com/FasterXML/jackson-databind | Apache License 2.0 |
Snakeyaml | https://github.com/asomov/snakeyaml | Apache License 2.0 |
official | fabric8 | this project | |
---|---|---|---|
Compatibility | provide different SDK versions | provide different SDK versions | one version for all |
Support customized Kubernetes resources | a lot of development | a lot of development | zero-deployment |
Works with the other SDKs | / | / | simple |
- National Key Research and Development Program of China (2023YFB3308702)
To install the Java client library to your local Maven repository, simply execute:
git clone --recursive https://github.com/kubesys/client-java
cd java
mvn install
Add this dependency to your project's POM:
<dependency>
<groupId>io.github.kubesys</groupId>
<artifactId>client-java</artifactId>
<version>1.2.3</version>
</dependency>
- maven setting
<settings>
<!-- omitted xml -->
<servers>
<server>
<id>g-ubjg5602-iscas-system-maven</id>
<username>wuheng@iscas.ac.cn</username>
<password>[PASSWORD]</password>
</server>
</servers>
</settings>
- pom setting
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>g-ubjg5602-iscas-system-maven</id>
<name>maven</name>
<url>https://g-ubjg5602-maven.pkg.coding.net/repository/iscas-system/jars/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
docker run -it --net host --rm -v /root/.m2:/root/.m2 -v "$(pwd)":/usr/src/mymaven -w /usr/src/mymaven maven:3.8.5-openjdk-17-slim mvn clean install -Dmaven.test.skip
Two easiest way to create a client is:
CA:
File file = new File("/etc/kubernetes/admin.conf"); // if you installed Kuberentes, this file exist, or using the file $HOME/.kube/config
KubernetesClient client = new KubernetesClient(file);
Bearer token:
String url = "https://IP:6443/";
String token = "xxx";
KubernetesClient client = new KubernetesClient(url, token);
you can create and get a token by the following commands:
- create token
kubectl create -f https://raw.githubusercontent.com/kubesys/client-java/master/token.yaml
- get token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep iscas-client | awk '{print $1}') | grep "token:" | awk -F":" '{print$2}' | sed 's/ //g'
- get kind
Here, the 'kind' means the Kubernetes kind
System.out.println(client.getKinds().toPrettyString());
for example, the output is
[
"DaemonSet",
"Node",
"Pod",
"ClusterRole",
"StorageClass",
"PriorityClass",
"ReplicationController",
"PersistentVolume",
"ReplicaSet",
"Job"
]
- get fullkind
Here, fullkind = apiversion + "." + kind
System.out.println(client.getFullKinds().toPrettyString());
for example, the output is
[
"apps.DaemonSet",
"Node",
"Pod",
"rbac.authorization.k8s.io.ClusterRole",
"storage.k8s.io.StorageClass",
"scheduling.k8s.io.PriorityClass",
"apps.ReplicaSet",
"batch.Job"
]
Assume you have a json:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "busybox",
"namespace": "default",
"labels": {
"test": "test"
}
}
}
List resources:
client.listResources("Pod") // kind or fullKind
Create a resource:
client.createResource(new ObjectMapper().readTree(json));
Get a resource:
client.getResource("Pod", "default", "busybox"); // kind or fullKind
Delete a resource::
client.deleteResource("Pod", "default", "busybox") // kind or fullKind
Close client
client.close()
KubernetesWatcher watcher = new KubernetesWatcher(client) {
public void doModified(JsonNode node) {
System.out.println(node);
}
public void doDeleted(JsonNode node) {
System.out.println(node);
}
public void doAdded(JsonNode node) {
System.out.println(node);
}
public void doClose() {
System.out.println("close");
}
};
client.watchResources("Pod", KubernetesConstants.VALUE_ALL_NAMESPACES, watcher);
and the output is as
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-nexus3-7b5769ccf7-95p4p","generateName":"kube-nexus3-7b5769ccf7-","namespace":"kube-system","uid":"c55d4976-165a-4a04-bd15-bbb2a42f7fc0","resourceVersion":"101041","creationTimestamp":"2021-08-18T07:06:03Z","labels":{"name":"kube-nexus3","pod-template-hash":"7b5769ccf7"},"annotations":{"cni.projectcalico.org/containerID":"11c985c51253d2aed8f2276d6045be2d66338120f1968b2205ffcd92e808b696","cni.projectcalico.org/podIP":"10.244.158.133/32","cni.projectcalico.org/podIPs":"10.244.158.133/32"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"kube-nexus3-7b5769ccf7","uid":"ce20ed7d-c561-4699-994f-9f8556fc33bc","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-18T07:06:03Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:name":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"ce20ed7d-c561-4699-994f-9f8556fc33bc\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"kube-nexus3\"}":{".":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/nexus-data\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:nodeSelector":{".":{},"f:node-role.kubernetes.io/master":{}},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"data\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}}}},{"manager":"calico","operation":"Update","apiVersion":"v1","time":"2021-08-18T07:06:04Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-18T07:06:21Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"10.244.158.133\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"data","hostPath":{"path":"/var/lib/doslab/nexus","type":""}},{"name":"default-token-zfqwp","secret":{"secretName":"default-token-zfqwp","defaultMode":420}}],"containers":[{"name":"kube-nexus3","image":"sonatype/nexus3","resources":{},"volumeMounts":[{"name":"data","mountPath":"/nexus-data"},{"name":"default-token-zfqwp","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeSelector":{"node-role.kubernetes.io/master":""},"serviceAccountName":"default","serviceAccount":"default","nodeName":"iz8vb39159pi4b6k0wfz68z","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node-role.kubernetes.io/master","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-18T07:06:04Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-18T07:06:21Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-18T07:06:21Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-18T07:06:04Z"}],"hostIP":"172.23.136.69","podIP":"10.244.158.133","podIPs":[{"ip":"10.244.158.133"}],"startTime":"2021-08-18T07:06:04Z","containerStatuses":[{"name":"kube-nexus3","state":{"running":{"startedAt":"2021-08-18T07:06:20Z"}},"lastState":{"terminated":{"exitCode":0,"reason":"Completed","startedAt":"2021-08-18T07:06:06Z","finishedAt":"2021-08-18T07:06:07Z","containerID":"containerd://88648ca0c629223ba99f4a4109fb348896553f1b287da43073268a949fcee778"}},"ready":true,"restartCount":2,"image":"docker.io/sonatype/nexus3:latest","imageID":"docker.io/sonatype/nexus3@sha256:94d9032990de23a4fbdeae45960a256a6153f130ab39dbe53880849dbbf18e05","containerID":"containerd://34d63461c68892e868ec44b4e854b29109592e5925d3d18adb2d9550f03d394e","started":true}],"qosClass":"BestEffort"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"etcd-iz8vb39159pi4b6k0wfz68z","namespace":"kube-system","uid":"217e6f93-5daa-4986-be9e-d844c3fb6805","resourceVersion":"610","creationTimestamp":"2021-08-17T07:52:52Z","labels":{"component":"etcd","tier":"control-plane"},"annotations":{"kubeadm.kubernetes.io/etcd.advertise-client-urls":"https://172.23.136.69:2379","kubernetes.io/config.hash":"a08b6d0d8f468604b7564b87de8dfd49","kubernetes.io/config.mirror":"a08b6d0d8f468604b7564b87de8dfd49","kubernetes.io/config.seen":"2021-08-17T15:52:46.797594841+08:00","kubernetes.io/config.source":"file"},"ownerReferences":[{"apiVersion":"v1","kind":"Node","name":"iz8vb39159pi4b6k0wfz68z","uid":"c2716d4d-0926-4cac-88fa-5700d5194920","controller":true}],"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:53:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubeadm.kubernetes.io/etcd.advertise-client-urls":{},"f:kubernetes.io/config.hash":{},"f:kubernetes.io/config.mirror":{},"f:kubernetes.io/config.seen":{},"f:kubernetes.io/config.source":{}},"f:labels":{".":{},"f:component":{},"f:tier":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"c2716d4d-0926-4cac-88fa-5700d5194920\"}":{".":{},"f:apiVersion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"etcd\"}":{".":{},"f:command":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:resources":{".":{},"f:requests":{".":{},"f:cpu":{},"f:memory":{}}},"f:startupProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/kubernetes/pki/etcd\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/var/lib/etcd\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:nodeName":{},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"etcd-certs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"etcd-data\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}},"f:status":{"f:conditions":{".":{},"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"PodScheduled\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"etcd-certs","hostPath":{"path":"/etc/kubernetes/pki/etcd","type":"DirectoryOrCreate"}},{"name":"etcd-data","hostPath":{"path":"/var/lib/etcd","type":"DirectoryOrCreate"}}],"containers":[{"name":"etcd","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0","command":["etcd","--advertise-client-urls=https://172.23.136.69:2379","--cert-file=/etc/kubernetes/pki/etcd/server.crt","--client-cert-auth=true","--data-dir=/var/lib/etcd","--initial-advertise-peer-urls=https://172.23.136.69:2380","--initial-cluster=iz8vb39159pi4b6k0wfz68z=https://172.23.136.69:2380","--key-file=/etc/kubernetes/pki/etcd/server.key","--listen-client-urls=https://127.0.0.1:2379,https://172.23.136.69:2379","--listen-metrics-urls=http://127.0.0.1:2381","--listen-peer-urls=https://172.23.136.69:2380","--name=iz8vb39159pi4b6k0wfz68z","--peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt","--peer-client-cert-auth=true","--peer-key-file=/etc/kubernetes/pki/etcd/peer.key","--peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt","--snapshot-count=10000","--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt"],"resources":{"requests":{"cpu":"100m","memory":"100Mi"}},"volumeMounts":[{"name":"etcd-data","mountPath":"/var/lib/etcd"},{"name":"etcd-certs","mountPath":"/etc/kubernetes/pki/etcd"}],"livenessProbe":{"httpGet":{"path":"/health","port":2381,"host":"127.0.0.1","scheme":"HTTP"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":8},"startupProbe":{"httpGet":{"path":"/health","port":2381,"host":"127.0.0.1","scheme":"HTTP"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":24},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"operator":"Exists","effect":"NoExecute"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:53:56Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:53:56Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:52Z","containerStatuses":[{"name":"etcd","state":{"running":{"startedAt":"2021-08-17T07:52:34Z"}},"lastState":{"terminated":{"exitCode":128,"reason":"StartError","message":"failed to create containerd task: failed to create container loggers: failed to create and open log file: open /var/log/pods/kube-system_etcd-iz8vb39159pi4b6k0wfz68z_a08b6d0d8f468604b7564b87de8dfd49/etcd/0.log: no such file or directory","startedAt":"1970-01-01T00:00:00Z","finishedAt":"2021-08-17T07:52:34Z","containerID":"containerd://9ac90e6599d20c66c3cf926606cc477b7766ed76d101b9545c8dc827c0a665c0"}},"ready":true,"restartCount":1,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/etcd@sha256:4ad90a11b55313b182afc186b9876c8e891531b8db4c9bf1541953021618d0e2","containerID":"containerd://41ea1f99572e47998ef32d5b2b305ac91d668e615ace8558bb592618c81821e0","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-apiserver-iz8vb39159pi4b6k0wfz68z","namespace":"kube-system","uid":"90a196b9-65c6-44be-8f5f-de6c85a6af3a","resourceVersion":"522","creationTimestamp":"2021-08-17T07:52:52Z","labels":{"component":"kube-apiserver","tier":"control-plane"},"annotations":{"kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint":"172.23.136.69:6443","kubernetes.io/config.hash":"381e417cd6668baba50088391c9f9c3f","kubernetes.io/config.mirror":"381e417cd6668baba50088391c9f9c3f","kubernetes.io/config.seen":"2021-08-17T15:52:46.797602570+08:00","kubernetes.io/config.source":"file"},"ownerReferences":[{"apiVersion":"v1","kind":"Node","name":"iz8vb39159pi4b6k0wfz68z","uid":"c2716d4d-0926-4cac-88fa-5700d5194920","controller":true}],"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:53:02Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint":{},"f:kubernetes.io/config.hash":{},"f:kubernetes.io/config.mirror":{},"f:kubernetes.io/config.seen":{},"f:kubernetes.io/config.source":{}},"f:labels":{".":{},"f:component":{},"f:tier":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"c2716d4d-0926-4cac-88fa-5700d5194920\"}":{".":{},"f:apiVersion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"kube-apiserver\"}":{".":{},"f:command":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:readinessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:resources":{".":{},"f:requests":{".":{},"f:cpu":{}}},"f:startupProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/kubernetes/pki\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/etc/pki\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/etc/ssl/certs\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:nodeName":{},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"ca-certs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"etc-pki\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"k8s-certs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}},"f:status":{"f:conditions":{".":{},"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"PodScheduled\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"ca-certs","hostPath":{"path":"/etc/ssl/certs","type":"DirectoryOrCreate"}},{"name":"etc-pki","hostPath":{"path":"/etc/pki","type":"DirectoryOrCreate"}},{"name":"k8s-certs","hostPath":{"path":"/etc/kubernetes/pki","type":"DirectoryOrCreate"}}],"containers":[{"name":"kube-apiserver","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.10","command":["kube-apiserver","--advertise-address=172.23.136.69","--allow-privileged=true","--authorization-mode=Node,RBAC","--client-ca-file=/etc/kubernetes/pki/ca.crt","--enable-admission-plugins=NodeRestriction","--enable-bootstrap-token-auth=true","--etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt","--etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt","--etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key","--etcd-servers=https://127.0.0.1:2379","--insecure-port=0","--kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt","--kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key","--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname","--proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt","--proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key","--requestheader-allowed-names=front-proxy-client","--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt","--requestheader-extra-headers-prefix=X-Remote-Extra-","--requestheader-group-headers=X-Remote-Group","--requestheader-username-headers=X-Remote-User","--secure-port=6443","--service-account-issuer=https://kubernetes.default.svc.cluster.local","--service-account-key-file=/etc/kubernetes/pki/sa.pub","--service-account-signing-key-file=/etc/kubernetes/pki/sa.key","--service-cluster-ip-range=10.96.0.0/12","--tls-cert-file=/etc/kubernetes/pki/apiserver.crt","--tls-private-key-file=/etc/kubernetes/pki/apiserver.key"],"resources":{"requests":{"cpu":"250m"}},"volumeMounts":[{"name":"ca-certs","readOnly":true,"mountPath":"/etc/ssl/certs"},{"name":"etc-pki","readOnly":true,"mountPath":"/etc/pki"},{"name":"k8s-certs","readOnly":true,"mountPath":"/etc/kubernetes/pki"}],"livenessProbe":{"httpGet":{"path":"/livez","port":6443,"host":"172.23.136.69","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":8},"readinessProbe":{"httpGet":{"path":"/readyz","port":6443,"host":"172.23.136.69","scheme":"HTTPS"},"timeoutSeconds":15,"periodSeconds":1,"successThreshold":1,"failureThreshold":3},"startupProbe":{"httpGet":{"path":"/livez","port":6443,"host":"172.23.136.69","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":24},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"operator":"Exists","effect":"NoExecute"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:53Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:53Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:52Z","containerStatuses":[{"name":"kube-apiserver","state":{"running":{"startedAt":"2021-08-17T07:52:34Z"}},"lastState":{"terminated":{"exitCode":128,"reason":"StartError","message":"failed to create containerd task: failed to create container loggers: failed to create and open log file: open /var/log/pods/kube-system_kube-apiserver-iz8vb39159pi4b6k0wfz68z_381e417cd6668baba50088391c9f9c3f/kube-apiserver/0.log: no such file or directory","startedAt":"1970-01-01T00:00:00Z","finishedAt":"2021-08-17T07:52:34Z","containerID":"containerd://5676ab3e72c4392e0043ff4fce2814371e3df6baf8a8c4209c7afa92fb00d390"}},"ready":true,"restartCount":1,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.10","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver@sha256:228035fe701f9aae63060ba4c7e2e9f1fdfe70e34f8f741ed615854118ef4883","containerID":"containerd://40e6c6a2ecd085e697d788b3f0f331d335e44ef0b6083bb3b388a4f26091b090","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-scheduler-iz8vb39159pi4b6k0wfz68z","namespace":"kube-system","uid":"4e691f86-0cab-4d80-bccf-48a622bd26c8","resourceVersion":"627","creationTimestamp":"2021-08-17T07:52:52Z","labels":{"component":"kube-scheduler","tier":"control-plane"},"annotations":{"kubernetes.io/config.hash":"f7b9f5957890748e69ac83cbc3f4afc8","kubernetes.io/config.mirror":"f7b9f5957890748e69ac83cbc3f4afc8","kubernetes.io/config.seen":"2021-08-17T15:52:46.797606786+08:00","kubernetes.io/config.source":"file"},"ownerReferences":[{"apiVersion":"v1","kind":"Node","name":"iz8vb39159pi4b6k0wfz68z","uid":"c2716d4d-0926-4cac-88fa-5700d5194920","controller":true}],"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:54:04Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubernetes.io/config.hash":{},"f:kubernetes.io/config.mirror":{},"f:kubernetes.io/config.seen":{},"f:kubernetes.io/config.source":{}},"f:labels":{".":{},"f:component":{},"f:tier":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"c2716d4d-0926-4cac-88fa-5700d5194920\"}":{".":{},"f:apiVersion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"kube-scheduler\"}":{".":{},"f:command":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:resources":{".":{},"f:requests":{".":{},"f:cpu":{}}},"f:startupProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/kubernetes/scheduler.conf\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:nodeName":{},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"kubeconfig\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}},"f:status":{"f:conditions":{".":{},"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"PodScheduled\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"kubeconfig","hostPath":{"path":"/etc/kubernetes/scheduler.conf","type":"FileOrCreate"}}],"containers":[{"name":"kube-scheduler","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.10","command":["kube-scheduler","--authentication-kubeconfig=/etc/kubernetes/scheduler.conf","--authorization-kubeconfig=/etc/kubernetes/scheduler.conf","--bind-address=127.0.0.1","--kubeconfig=/etc/kubernetes/scheduler.conf","--leader-elect=true","--port=0"],"resources":{"requests":{"cpu":"100m"}},"volumeMounts":[{"name":"kubeconfig","readOnly":true,"mountPath":"/etc/kubernetes/scheduler.conf"}],"livenessProbe":{"httpGet":{"path":"/healthz","port":10259,"host":"127.0.0.1","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":8},"startupProbe":{"httpGet":{"path":"/healthz","port":10259,"host":"127.0.0.1","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":24},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"operator":"Exists","effect":"NoExecute"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:04Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:04Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:52Z","containerStatuses":[{"name":"kube-scheduler","state":{"running":{"startedAt":"2021-08-17T07:52:34Z"}},"lastState":{"terminated":{"exitCode":128,"reason":"StartError","message":"failed to create containerd task: failed to create container loggers: failed to create and open log file: open /var/log/pods/kube-system_kube-scheduler-iz8vb39159pi4b6k0wfz68z_f7b9f5957890748e69ac83cbc3f4afc8/kube-scheduler/0.log: no such file or directory","startedAt":"1970-01-01T00:00:00Z","finishedAt":"2021-08-17T07:52:34Z","containerID":"containerd://d861c464c0dbdaafa897165ec6249c467ed401458f7faefd3c50807bd986a63e"}},"ready":true,"restartCount":1,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.10","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler@sha256:cdd595d0fc80b1e88fd6702723603b6348505a49e39b98cb23070e19766a8780","containerID":"containerd://551ad7824be20b0b457fe64d7032d3501c53552bd3ad7eff5e0be24156a56ace","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"calico-node-cczd2","generateName":"calico-node-","namespace":"kube-system","uid":"fe44d0bf-27e5-4eed-9298-f2cff3e734ef","resourceVersion":"721","creationTimestamp":"2021-08-17T07:52:56Z","labels":{"controller-revision-hash":"5bf698879","k8s-app":"calico-node","pod-template-generation":"1"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"calico-node","uid":"2ecdfaa5-f46a-4bf0-b750-dcaf56e41d77","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:controller-revision-hash":{},"f:k8s-app":{},"f:pod-template-generation":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"2ecdfaa5-f46a-4bf0-b750-dcaf56e41d77\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:affinity":{".":{},"f:nodeAffinity":{".":{},"f:requiredDuringSchedulingIgnoredDuringExecution":{".":{},"f:nodeSelectorTerms":{}}}},"f:containers":{"k:{\"name\":\"calico-node\"}":{".":{},"f:env":{".":{},"k:{\"name\":\"CALICO_DISABLE_FILE_LOGGING\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"CALICO_IPV4POOL_IPIP\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"CALICO_IPV4POOL_VXLAN\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"CALICO_NETWORKING_BACKEND\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"CLUSTER_TYPE\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"DATASTORE_TYPE\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"FELIX_DEFAULTENDPOINTTOHOSTACTION\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"FELIX_HEALTHENABLED\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"FELIX_IPINIPMTU\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"FELIX_IPV6SUPPORT\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"FELIX_VXLANMTU\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"FELIX_WIREGUARDMTU\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"IP\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"NODENAME\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:fieldRef":{".":{},"f:apiVersion":{},"f:fieldPath":{}}}},"k:{\"name\":\"WAIT_FOR_DATASTORE\"}":{".":{},"f:name":{},"f:value":{}}},"f:envFrom":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:exec":{".":{},"f:command":{}},"f:failureThreshold":{},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:readinessProbe":{".":{},"f:exec":{".":{},"f:command":{}},"f:failureThreshold":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:resources":{".":{},"f:requests":{".":{},"f:cpu":{}}},"f:securityContext":{".":{},"f:privileged":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/lib/modules\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/run/xtables.lock\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/sys/fs/\"}":{".":{},"f:mountPath":{},"f:mountPropagation":{},"f:name":{}},"k:{\"mountPath\":\"/var/lib/calico\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/var/log/calico/cni\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/var/run/calico\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/var/run/nodeagent\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:initContainers":{".":{},"k:{\"name\":\"flexvol-driver\"}":{".":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:securityContext":{".":{},"f:privileged":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/host/driver\"}":{".":{},"f:mountPath":{},"f:name":{}}}},"k:{\"name\":\"install-cni\"}":{".":{},"f:command":{},"f:env":{".":{},"k:{\"name\":\"CNI_CONF_NAME\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"CNI_MTU\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"CNI_NETWORK_CONFIG\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"KUBERNETES_NODE_NAME\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:fieldRef":{".":{},"f:apiVersion":{},"f:fieldPath":{}}}},"k:{\"name\":\"SLEEP\"}":{".":{},"f:name":{},"f:value":{}}},"f:envFrom":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:securityContext":{".":{},"f:privileged":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/host/etc/cni/net.d\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/host/opt/cni/bin\"}":{".":{},"f:mountPath":{},"f:name":{}}}},"k:{\"name\":\"upgrade-ipam\"}":{".":{},"f:command":{},"f:env":{".":{},"k:{\"name\":\"CALICO_NETWORKING_BACKEND\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:configMapKeyRef":{".":{},"f:key":{},"f:name":{}}}},"k:{\"name\":\"KUBERNETES_NODE_NAME\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:fieldRef":{".":{},"f:apiVersion":{},"f:fieldPath":{}}}}},"f:envFrom":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:securityContext":{".":{},"f:privileged":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/host/opt/cni/bin\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/var/lib/cni/networks\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:nodeSelector":{".":{},"f:kubernetes.io/os":{}},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:serviceAccount":{},"f:serviceAccountName":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"cni-bin-dir\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"cni-log-dir\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"cni-net-dir\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"flexvol-driver-host\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"host-local-net-dir\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"lib-modules\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"policysync\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"sysfs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"var-lib-calico\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"var-run-calico\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"xtables-lock\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:54:58Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:initContainerStatuses":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"lib-modules","hostPath":{"path":"/lib/modules","type":""}},{"name":"var-run-calico","hostPath":{"path":"/var/run/calico","type":""}},{"name":"var-lib-calico","hostPath":{"path":"/var/lib/calico","type":""}},{"name":"xtables-lock","hostPath":{"path":"/run/xtables.lock","type":"FileOrCreate"}},{"name":"sysfs","hostPath":{"path":"/sys/fs/","type":"DirectoryOrCreate"}},{"name":"cni-bin-dir","hostPath":{"path":"/opt/cni/bin","type":""}},{"name":"cni-net-dir","hostPath":{"path":"/etc/cni/net.d","type":""}},{"name":"cni-log-dir","hostPath":{"path":"/var/log/calico/cni","type":""}},{"name":"host-local-net-dir","hostPath":{"path":"/var/lib/cni/networks","type":""}},{"name":"policysync","hostPath":{"path":"/var/run/nodeagent","type":"DirectoryOrCreate"}},{"name":"flexvol-driver-host","hostPath":{"path":"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds","type":"DirectoryOrCreate"}},{"name":"calico-node-token-m6f2b","secret":{"secretName":"calico-node-token-m6f2b","defaultMode":420}}],"initContainers":[{"name":"upgrade-ipam","image":"docker.io/calico/cni:v3.19.2","command":["/opt/cni/bin/calico-ipam","-upgrade"],"envFrom":[{"configMapRef":{"name":"kubernetes-services-endpoint","optional":true}}],"env":[{"name":"KUBERNETES_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"CALICO_NETWORKING_BACKEND","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"calico_backend"}}}],"resources":{},"volumeMounts":[{"name":"host-local-net-dir","mountPath":"/var/lib/cni/networks"},{"name":"cni-bin-dir","mountPath":"/host/opt/cni/bin"},{"name":"calico-node-token-m6f2b","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"privileged":true}},{"name":"install-cni","image":"docker.io/calico/cni:v3.19.2","command":["/opt/cni/bin/install"],"envFrom":[{"configMapRef":{"name":"kubernetes-services-endpoint","optional":true}}],"env":[{"name":"CNI_CONF_NAME","value":"10-calico.conflist"},{"name":"CNI_NETWORK_CONFIG","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"cni_network_config"}}},{"name":"KUBERNETES_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"CNI_MTU","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"veth_mtu"}}},{"name":"SLEEP","value":"false"}],"resources":{},"volumeMounts":[{"name":"cni-bin-dir","mountPath":"/host/opt/cni/bin"},{"name":"cni-net-dir","mountPath":"/host/etc/cni/net.d"},{"name":"calico-node-token-m6f2b","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"privileged":true}},{"name":"flexvol-driver","image":"docker.io/calico/pod2daemon-flexvol:v3.19.2","resources":{},"volumeMounts":[{"name":"flexvol-driver-host","mountPath":"/host/driver"},{"name":"calico-node-token-m6f2b","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"privileged":true}}],"containers":[{"name":"calico-node","image":"docker.io/calico/node:v3.19.2","envFrom":[{"configMapRef":{"name":"kubernetes-services-endpoint","optional":true}}],"env":[{"name":"DATASTORE_TYPE","value":"kubernetes"},{"name":"WAIT_FOR_DATASTORE","value":"true"},{"name":"NODENAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"CALICO_NETWORKING_BACKEND","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"calico_backend"}}},{"name":"CLUSTER_TYPE","value":"k8s,bgp"},{"name":"IP","value":"autodetect"},{"name":"CALICO_IPV4POOL_IPIP","value":"Always"},{"name":"CALICO_IPV4POOL_VXLAN","value":"Never"},{"name":"FELIX_IPINIPMTU","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"veth_mtu"}}},{"name":"FELIX_VXLANMTU","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"veth_mtu"}}},{"name":"FELIX_WIREGUARDMTU","valueFrom":{"configMapKeyRef":{"name":"calico-config","key":"veth_mtu"}}},{"name":"CALICO_DISABLE_FILE_LOGGING","value":"true"},{"name":"FELIX_DEFAULTENDPOINTTOHOSTACTION","value":"ACCEPT"},{"name":"FELIX_IPV6SUPPORT","value":"false"},{"name":"FELIX_HEALTHENABLED","value":"true"}],"resources":{"requests":{"cpu":"250m"}},"volumeMounts":[{"name":"lib-modules","readOnly":true,"mountPath":"/lib/modules"},{"name":"xtables-lock","mountPath":"/run/xtables.lock"},{"name":"var-run-calico","mountPath":"/var/run/calico"},{"name":"var-lib-calico","mountPath":"/var/lib/calico"},{"name":"policysync","mountPath":"/var/run/nodeagent"},{"name":"sysfs","mountPath":"/sys/fs/","mountPropagation":"Bidirectional"},{"name":"cni-log-dir","readOnly":true,"mountPath":"/var/log/calico/cni"},{"name":"calico-node-token-m6f2b","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"livenessProbe":{"exec":{"command":["/bin/calico-node","-felix-live","-bird-live"]},"initialDelaySeconds":10,"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":6},"readinessProbe":{"exec":{"command":["/bin/calico-node","-felix-ready","-bird-ready"]},"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"privileged":true}}],"restartPolicy":"Always","terminationGracePeriodSeconds":0,"dnsPolicy":"ClusterFirst","nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"calico-node","serviceAccount":"calico-node","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"affinity":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchFields":[{"key":"metadata.name","operator":"In","values":["iz8vb39159pi4b6k0wfz68z"]}]}]}}},"schedulerName":"default-scheduler","tolerations":[{"operator":"Exists","effect":"NoSchedule"},{"key":"CriticalAddonsOnly","operator":"Exists"},{"operator":"Exists","effect":"NoExecute"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute"},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute"},{"key":"node.kubernetes.io/disk-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/memory-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/pid-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/unschedulable","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/network-unavailable","operator":"Exists","effect":"NoSchedule"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:53:57Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:58Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:58Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:57Z","initContainerStatuses":[{"name":"upgrade-ipam","state":{"terminated":{"exitCode":0,"reason":"Completed","startedAt":"2021-08-17T07:53:40Z","finishedAt":"2021-08-17T07:53:40Z","containerID":"containerd://bd3cf9bf4491030b21a2afa466fe019fd5a1cd18c9787baaecc7d7cc6b21bd7b"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/calico/cni:v3.19.2","imageID":"docker.io/calico/cni@sha256:15255514d176b4ff4e83d4cc674e0ec3ce76ad32e2b85db7b1075653d0223161","containerID":"containerd://bd3cf9bf4491030b21a2afa466fe019fd5a1cd18c9787baaecc7d7cc6b21bd7b"},{"name":"install-cni","state":{"terminated":{"exitCode":0,"reason":"Completed","startedAt":"2021-08-17T07:53:42Z","finishedAt":"2021-08-17T07:53:43Z","containerID":"containerd://9c437307aba8fdff73ad699bc46bc5df15d3d4da5173bee2998616ad9b61dae9"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/calico/cni:v3.19.2","imageID":"docker.io/calico/cni@sha256:15255514d176b4ff4e83d4cc674e0ec3ce76ad32e2b85db7b1075653d0223161","containerID":"containerd://9c437307aba8fdff73ad699bc46bc5df15d3d4da5173bee2998616ad9b61dae9"},{"name":"flexvol-driver","state":{"terminated":{"exitCode":0,"reason":"Completed","startedAt":"2021-08-17T07:53:57Z","finishedAt":"2021-08-17T07:53:57Z","containerID":"containerd://b2e00b72ee7e38aae2003f0c2523864b6e1ce8a941fff62762117b14ad0ad0ee"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/calico/pod2daemon-flexvol:v3.19.2","imageID":"docker.io/calico/pod2daemon-flexvol@sha256:fab7660cd60a8a36be6ff1a908f04e8aa3b2bd4d2dc9160ba1a5d956d1b4e20b","containerID":"containerd://b2e00b72ee7e38aae2003f0c2523864b6e1ce8a941fff62762117b14ad0ad0ee"}],"containerStatuses":[{"name":"calico-node","state":{"running":{"startedAt":"2021-08-17T07:54:55Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/calico/node:v3.19.2","imageID":"docker.io/calico/node@sha256:8c23fc1b07d6a5b183f3f002500c84e10fc7047b6f49ed3a3ffb78b10fd97b6a","containerID":"containerd://868e2bac935f35ee106fb8dc38910bd6756bfeb181fce99cdbf474ff85d42a49","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-proxy-76tn6","generateName":"kube-proxy-","namespace":"kube-system","uid":"6d61d569-a399-4b26-b6ff-2c88669b63a1","resourceVersion":"515","creationTimestamp":"2021-08-17T07:52:56Z","labels":{"controller-revision-hash":"6d98cf8774","k8s-app":"kube-proxy","pod-template-generation":"1"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"DaemonSet","name":"kube-proxy","uid":"07bf2fc7-3c48-4afa-a39d-282fe257d32c","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:56Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:controller-revision-hash":{},"f:k8s-app":{},"f:pod-template-generation":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"07bf2fc7-3c48-4afa-a39d-282fe257d32c\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:affinity":{".":{},"f:nodeAffinity":{".":{},"f:requiredDuringSchedulingIgnoredDuringExecution":{".":{},"f:nodeSelectorTerms":{}}}},"f:containers":{"k:{\"name\":\"kube-proxy\"}":{".":{},"f:command":{},"f:env":{".":{},"k:{\"name\":\"NODE_NAME\"}":{".":{},"f:name":{},"f:valueFrom":{".":{},"f:fieldRef":{".":{},"f:apiVersion":{},"f:fieldPath":{}}}}},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:securityContext":{".":{},"f:privileged":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/lib/modules\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/run/xtables.lock\"}":{".":{},"f:mountPath":{},"f:name":{}},"k:{\"mountPath\":\"/var/lib/kube-proxy\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:nodeSelector":{".":{},"f:kubernetes.io/os":{}},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:serviceAccount":{},"f:serviceAccountName":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"kube-proxy\"}":{".":{},"f:configMap":{".":{},"f:defaultMode":{},"f:name":{}},"f:name":{}},"k:{\"name\":\"lib-modules\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"xtables-lock\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:59Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"kube-proxy","configMap":{"name":"kube-proxy","defaultMode":420}},{"name":"xtables-lock","hostPath":{"path":"/run/xtables.lock","type":"FileOrCreate"}},{"name":"lib-modules","hostPath":{"path":"/lib/modules","type":""}},{"name":"kube-proxy-token-xhgv2","secret":{"secretName":"kube-proxy-token-xhgv2","defaultMode":420}}],"containers":[{"name":"kube-proxy","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.10","command":["/usr/local/bin/kube-proxy","--config=/var/lib/kube-proxy/config.conf","--hostname-override=$(NODE_NAME)"],"env":[{"name":"NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}}],"resources":{},"volumeMounts":[{"name":"kube-proxy","mountPath":"/var/lib/kube-proxy"},{"name":"xtables-lock","mountPath":"/run/xtables.lock"},{"name":"lib-modules","readOnly":true,"mountPath":"/lib/modules"},{"name":"kube-proxy-token-xhgv2","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"privileged":true}}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"kube-proxy","serviceAccount":"kube-proxy","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"affinity":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchFields":[{"key":"metadata.name","operator":"In","values":["iz8vb39159pi4b6k0wfz68z"]}]}]}}},"schedulerName":"default-scheduler","tolerations":[{"key":"CriticalAddonsOnly","operator":"Exists"},{"operator":"Exists"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute"},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute"},{"key":"node.kubernetes.io/disk-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/memory-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/pid-pressure","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/unschedulable","operator":"Exists","effect":"NoSchedule"},{"key":"node.kubernetes.io/network-unavailable","operator":"Exists","effect":"NoSchedule"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:57Z","containerStatuses":[{"name":"kube-proxy","state":{"running":{"startedAt":"2021-08-17T07:52:57Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.10","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy@sha256:50d32cbbc3e75a4f51d1541d8bf7892fd25b7214ecffbd71e30cff0b078cfe4f","containerID":"containerd://48a2486a509b4e65c6faa0a1a8983d9685caad4e93710a36522f816a0ef41ba6","started":true}],"qosClass":"BestEffort"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"coredns-54d67798b7-46kgs","generateName":"coredns-54d67798b7-","namespace":"kube-system","uid":"ff20f1d2-aae8-4802-8f86-0ddca29311ec","resourceVersion":"750","creationTimestamp":"2021-08-17T07:52:57Z","labels":{"k8s-app":"kube-dns","pod-template-hash":"54d67798b7"},"annotations":{"cni.projectcalico.org/containerID":"1bbf8c2d7af989d1b085c2c97117f71c9706ff2a7b1add0946898cd0f0d41bbe","cni.projectcalico.org/podIP":"10.244.158.131/32","cni.projectcalico.org/podIPs":"10.244.158.131/32"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"coredns-54d67798b7","uid":"189553f6-98ab-478e-87db-4b7aa9943808","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:57Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:k8s-app":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"189553f6-98ab-478e-87db-4b7aa9943808\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"coredns\"}":{".":{},"f:args":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:ports":{".":{},"k:{\"containerPort\":53,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}},"k:{\"containerPort\":53,\"protocol\":\"UDP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}},"k:{\"containerPort\":9153,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}}},"f:readinessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:resources":{".":{},"f:limits":{".":{},"f:memory":{}},"f:requests":{".":{},"f:cpu":{},"f:memory":{}}},"f:securityContext":{".":{},"f:allowPrivilegeEscalation":{},"f:capabilities":{".":{},"f:add":{},"f:drop":{}},"f:readOnlyRootFilesystem":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/coredns\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:nodeSelector":{".":{},"f:kubernetes.io/os":{}},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:serviceAccount":{},"f:serviceAccountName":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"config-volume\"}":{".":{},"f:configMap":{".":{},"f:defaultMode":{},"f:items":{},"f:name":{}},"f:name":{}}}}}},{"manager":"calico","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:55:00Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:55:02Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"10.244.158.131\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"config-volume","configMap":{"name":"coredns","items":[{"key":"Corefile","path":"Corefile"}],"defaultMode":420}},{"name":"coredns-token-brmcp","secret":{"secretName":"coredns-token-brmcp","defaultMode":420}}],"containers":[{"name":"coredns","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0","args":["-conf","/etc/coredns/Corefile"],"ports":[{"name":"dns","containerPort":53,"protocol":"UDP"},{"name":"dns-tcp","containerPort":53,"protocol":"TCP"},{"name":"metrics","containerPort":9153,"protocol":"TCP"}],"resources":{"limits":{"memory":"170Mi"},"requests":{"cpu":"100m","memory":"70Mi"}},"volumeMounts":[{"name":"config-volume","readOnly":true,"mountPath":"/etc/coredns"},{"name":"coredns-token-brmcp","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"livenessProbe":{"httpGet":{"path":"/health","port":8080,"scheme":"HTTP"},"initialDelaySeconds":60,"timeoutSeconds":5,"periodSeconds":10,"successThreshold":1,"failureThreshold":5},"readinessProbe":{"httpGet":{"path":"/ready","port":8181,"scheme":"HTTP"},"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{"add":["NET_BIND_SERVICE"],"drop":["all"]},"readOnlyRootFilesystem":true,"allowPrivilegeEscalation":false}}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"Default","nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"coredns","serviceAccount":"coredns","nodeName":"iz8vb39159pi4b6k0wfz68z","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"CriticalAddonsOnly","operator":"Exists"},{"key":"node-role.kubernetes.io/master","effect":"NoSchedule"},{"key":"node-role.kubernetes.io/control-plane","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priorityClassName":"system-cluster-critical","priority":2000000000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:02Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:02Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"}],"hostIP":"172.23.136.69","podIP":"10.244.158.131","podIPs":[{"ip":"10.244.158.131"}],"startTime":"2021-08-17T07:52:57Z","containerStatuses":[{"name":"coredns","state":{"running":{"startedAt":"2021-08-17T07:55:00Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns@sha256:73ca82b4ce829766d4f1f10947c3a338888f876fbed0540dc849c89ff256e90c","containerID":"containerd://b3215f4baea3815c40718dcf3cceb8043f2e99136df9cda6e89338d10a883b95","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"coredns-54d67798b7-gntlz","generateName":"coredns-54d67798b7-","namespace":"kube-system","uid":"c9194dc9-1579-4540-a000-d7a082f73089","resourceVersion":"755","creationTimestamp":"2021-08-17T07:52:57Z","labels":{"k8s-app":"kube-dns","pod-template-hash":"54d67798b7"},"annotations":{"cni.projectcalico.org/containerID":"16f05abaa8a882e50f10a6606b8c8d1aaecafb21e0abd88d4dc7574afb6516dd","cni.projectcalico.org/podIP":"10.244.158.130/32","cni.projectcalico.org/podIPs":"10.244.158.130/32"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"coredns-54d67798b7","uid":"189553f6-98ab-478e-87db-4b7aa9943808","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:57Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:k8s-app":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"189553f6-98ab-478e-87db-4b7aa9943808\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"coredns\"}":{".":{},"f:args":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:ports":{".":{},"k:{\"containerPort\":53,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}},"k:{\"containerPort\":53,\"protocol\":\"UDP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}},"k:{\"containerPort\":9153,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:name":{},"f:protocol":{}}},"f:readinessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:resources":{".":{},"f:limits":{".":{},"f:memory":{}},"f:requests":{".":{},"f:cpu":{},"f:memory":{}}},"f:securityContext":{".":{},"f:allowPrivilegeEscalation":{},"f:capabilities":{".":{},"f:add":{},"f:drop":{}},"f:readOnlyRootFilesystem":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/coredns\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:nodeSelector":{".":{},"f:kubernetes.io/os":{}},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:serviceAccount":{},"f:serviceAccountName":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"config-volume\"}":{".":{},"f:configMap":{".":{},"f:defaultMode":{},"f:items":{},"f:name":{}},"f:name":{}}}}}},{"manager":"calico","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:55:00Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:55:02Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"10.244.158.130\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"config-volume","configMap":{"name":"coredns","items":[{"key":"Corefile","path":"Corefile"}],"defaultMode":420}},{"name":"coredns-token-brmcp","secret":{"secretName":"coredns-token-brmcp","defaultMode":420}}],"containers":[{"name":"coredns","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0","args":["-conf","/etc/coredns/Corefile"],"ports":[{"name":"dns","containerPort":53,"protocol":"UDP"},{"name":"dns-tcp","containerPort":53,"protocol":"TCP"},{"name":"metrics","containerPort":9153,"protocol":"TCP"}],"resources":{"limits":{"memory":"170Mi"},"requests":{"cpu":"100m","memory":"70Mi"}},"volumeMounts":[{"name":"config-volume","readOnly":true,"mountPath":"/etc/coredns"},{"name":"coredns-token-brmcp","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"livenessProbe":{"httpGet":{"path":"/health","port":8080,"scheme":"HTTP"},"initialDelaySeconds":60,"timeoutSeconds":5,"periodSeconds":10,"successThreshold":1,"failureThreshold":5},"readinessProbe":{"httpGet":{"path":"/ready","port":8181,"scheme":"HTTP"},"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent","securityContext":{"capabilities":{"add":["NET_BIND_SERVICE"],"drop":["all"]},"readOnlyRootFilesystem":true,"allowPrivilegeEscalation":false}}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"Default","nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"coredns","serviceAccount":"coredns","nodeName":"iz8vb39159pi4b6k0wfz68z","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"CriticalAddonsOnly","operator":"Exists"},{"key":"node-role.kubernetes.io/master","effect":"NoSchedule"},{"key":"node-role.kubernetes.io/control-plane","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priorityClassName":"system-cluster-critical","priority":2000000000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:02Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:02Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"}],"hostIP":"172.23.136.69","podIP":"10.244.158.130","podIPs":[{"ip":"10.244.158.130"}],"startTime":"2021-08-17T07:52:57Z","containerStatuses":[{"name":"coredns","state":{"running":{"startedAt":"2021-08-17T07:55:00Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/coredns@sha256:73ca82b4ce829766d4f1f10947c3a338888f876fbed0540dc849c89ff256e90c","containerID":"containerd://096a9f80a91dbc50e95a09f40c221a6097618516582e857194fde65ee7cbae02","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-controller-manager-iz8vb39159pi4b6k0wfz68z","namespace":"kube-system","uid":"a7e1ebd7-bd9d-474d-87b9-6db1408abed4","resourceVersion":"656","creationTimestamp":"2021-08-17T07:52:52Z","labels":{"component":"kube-controller-manager","tier":"control-plane"},"annotations":{"kubernetes.io/config.hash":"f7bb5c1be3e7cfef3e990ff2b2984e9f","kubernetes.io/config.mirror":"f7bb5c1be3e7cfef3e990ff2b2984e9f","kubernetes.io/config.seen":"2021-08-17T15:52:46.797604800+08:00","kubernetes.io/config.source":"file"},"ownerReferences":[{"apiVersion":"v1","kind":"Node","name":"iz8vb39159pi4b6k0wfz68z","uid":"c2716d4d-0926-4cac-88fa-5700d5194920","controller":true}],"managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:54:23Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubernetes.io/config.hash":{},"f:kubernetes.io/config.mirror":{},"f:kubernetes.io/config.seen":{},"f:kubernetes.io/config.source":{}},"f:labels":{".":{},"f:component":{},"f:tier":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"c2716d4d-0926-4cac-88fa-5700d5194920\"}":{".":{},"f:apiVersion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"kube-controller-manager\"}":{".":{},"f:command":{},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:resources":{".":{},"f:requests":{".":{},"f:cpu":{}}},"f:startupProbe":{".":{},"f:failureThreshold":{},"f:httpGet":{".":{},"f:host":{},"f:path":{},"f:port":{},"f:scheme":{}},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/etc/kubernetes/controller-manager.conf\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/etc/kubernetes/pki\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/etc/pki\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/etc/ssl/certs\"}":{".":{},"f:mountPath":{},"f:name":{},"f:readOnly":{}},"k:{\"mountPath\":\"/usr/libexec/kubernetes/kubelet-plugins/volume/exec\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:hostNetwork":{},"f:nodeName":{},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"ca-certs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"etc-pki\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"flexvolume-dir\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"k8s-certs\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}},"k:{\"name\":\"kubeconfig\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}},"f:status":{"f:conditions":{".":{},"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"PodScheduled\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"172.23.136.69\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"ca-certs","hostPath":{"path":"/etc/ssl/certs","type":"DirectoryOrCreate"}},{"name":"etc-pki","hostPath":{"path":"/etc/pki","type":"DirectoryOrCreate"}},{"name":"flexvolume-dir","hostPath":{"path":"/usr/libexec/kubernetes/kubelet-plugins/volume/exec","type":"DirectoryOrCreate"}},{"name":"k8s-certs","hostPath":{"path":"/etc/kubernetes/pki","type":"DirectoryOrCreate"}},{"name":"kubeconfig","hostPath":{"path":"/etc/kubernetes/controller-manager.conf","type":"FileOrCreate"}}],"containers":[{"name":"kube-controller-manager","image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.10","command":["kube-controller-manager","--allocate-node-cidrs=true","--authentication-kubeconfig=/etc/kubernetes/controller-manager.conf","--authorization-kubeconfig=/etc/kubernetes/controller-manager.conf","--bind-address=127.0.0.1","--client-ca-file=/etc/kubernetes/pki/ca.crt","--cluster-cidr=10.244.0.0/16","--cluster-name=kubernetes","--cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt","--cluster-signing-key-file=/etc/kubernetes/pki/ca.key","--controllers=*,bootstrapsigner,tokencleaner","--kubeconfig=/etc/kubernetes/controller-manager.conf","--leader-elect=true","--port=0","--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt","--root-ca-file=/etc/kubernetes/pki/ca.crt","--service-account-private-key-file=/etc/kubernetes/pki/sa.key","--service-cluster-ip-range=10.96.0.0/12","--use-service-account-credentials=true"],"resources":{"requests":{"cpu":"200m"}},"volumeMounts":[{"name":"ca-certs","readOnly":true,"mountPath":"/etc/ssl/certs"},{"name":"etc-pki","readOnly":true,"mountPath":"/etc/pki"},{"name":"flexvolume-dir","mountPath":"/usr/libexec/kubernetes/kubelet-plugins/volume/exec"},{"name":"k8s-certs","readOnly":true,"mountPath":"/etc/kubernetes/pki"},{"name":"kubeconfig","readOnly":true,"mountPath":"/etc/kubernetes/controller-manager.conf"}],"livenessProbe":{"httpGet":{"path":"/healthz","port":10257,"host":"127.0.0.1","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":8},"startupProbe":{"httpGet":{"path":"/healthz","port":10257,"host":"127.0.0.1","scheme":"HTTPS"},"initialDelaySeconds":10,"timeoutSeconds":15,"periodSeconds":10,"successThreshold":1,"failureThreshold":24},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeName":"iz8vb39159pi4b6k0wfz68z","hostNetwork":true,"securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"operator":"Exists","effect":"NoExecute"}],"priorityClassName":"system-node-critical","priority":2000001000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:23Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:54:23Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:52Z"}],"hostIP":"172.23.136.69","podIP":"172.23.136.69","podIPs":[{"ip":"172.23.136.69"}],"startTime":"2021-08-17T07:52:52Z","containerStatuses":[{"name":"kube-controller-manager","state":{"running":{"startedAt":"2021-08-17T07:52:34Z"}},"lastState":{"terminated":{"exitCode":128,"reason":"StartError","message":"failed to create containerd task: failed to create container loggers: failed to create and open log file: open /var/log/pods/kube-system_kube-controller-manager-iz8vb39159pi4b6k0wfz68z_f7bb5c1be3e7cfef3e990ff2b2984e9f/kube-controller-manager/0.log: no such file or directory","startedAt":"1970-01-01T00:00:00Z","finishedAt":"2021-08-17T07:52:34Z","containerID":"containerd://681f89d91f9bdf359b6cf368378a9e6c4799fcd26af9931225b4ccb382f6f6ab"}},"ready":true,"restartCount":1,"image":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.10","imageID":"registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager@sha256:7c381e4966a361417dffb7ddd34892d175af7020a7ebea48223688b7f8d216f8","containerID":"containerd://973aebd2d736bd0fc097c54dd118937fcbb0f1337be18e9775c32d1bc773197f","started":true}],"qosClass":"Burstable"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"calico-kube-controllers-69f455688f-shp4n","generateName":"calico-kube-controllers-69f455688f-","namespace":"kube-system","uid":"d89d3017-96cc-4ee3-a63a-cca36e6d2c60","resourceVersion":"798","creationTimestamp":"2021-08-17T07:52:57Z","labels":{"k8s-app":"calico-kube-controllers","pod-template-hash":"69f455688f"},"annotations":{"cni.projectcalico.org/containerID":"258c8ea882e885c8642be3691ad929fc84674e6486eed24ff540ecb2121a2914","cni.projectcalico.org/podIP":"10.244.158.129/32","cni.projectcalico.org/podIPs":"10.244.158.129/32"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"calico-kube-controllers-69f455688f","uid":"dd6c6633-19f9-4765-ba8e-49fb1e6bc467","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:52:57Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:k8s-app":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"dd6c6633-19f9-4765-ba8e-49fb1e6bc467\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"calico-kube-controllers\"}":{".":{},"f:env":{".":{},"k:{\"name\":\"DATASTORE_TYPE\"}":{".":{},"f:name":{},"f:value":{}},"k:{\"name\":\"ENABLED_CONTROLLERS\"}":{".":{},"f:name":{},"f:value":{}}},"f:image":{},"f:imagePullPolicy":{},"f:livenessProbe":{".":{},"f:exec":{".":{},"f:command":{}},"f:failureThreshold":{},"f:initialDelaySeconds":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:name":{},"f:readinessProbe":{".":{},"f:exec":{".":{},"f:command":{}},"f:failureThreshold":{},"f:periodSeconds":{},"f:successThreshold":{},"f:timeoutSeconds":{}},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:nodeSelector":{".":{},"f:kubernetes.io/os":{}},"f:priorityClassName":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:serviceAccount":{},"f:serviceAccountName":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{}}}},{"manager":"calico","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:54:58Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-17T07:55:29Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"10.244.158.129\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"calico-kube-controllers-token-pwgwc","secret":{"secretName":"calico-kube-controllers-token-pwgwc","defaultMode":420}}],"containers":[{"name":"calico-kube-controllers","image":"docker.io/calico/kube-controllers:v3.19.2","env":[{"name":"ENABLED_CONTROLLERS","value":"node"},{"name":"DATASTORE_TYPE","value":"kubernetes"}],"resources":{},"volumeMounts":[{"name":"calico-kube-controllers-token-pwgwc","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"livenessProbe":{"exec":{"command":["/usr/bin/check-status","-l"]},"initialDelaySeconds":10,"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":6},"readinessProbe":{"exec":{"command":["/usr/bin/check-status","-r"]},"timeoutSeconds":1,"periodSeconds":10,"successThreshold":1,"failureThreshold":3},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeSelector":{"kubernetes.io/os":"linux"},"serviceAccountName":"calico-kube-controllers","serviceAccount":"calico-kube-controllers","nodeName":"iz8vb39159pi4b6k0wfz68z","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"CriticalAddonsOnly","operator":"Exists"},{"key":"node-role.kubernetes.io/master","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priorityClassName":"system-cluster-critical","priority":2000000000,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:29Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:55:29Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-17T07:52:57Z"}],"hostIP":"172.23.136.69","podIP":"10.244.158.129","podIPs":[{"ip":"10.244.158.129"}],"startTime":"2021-08-17T07:52:57Z","containerStatuses":[{"name":"calico-kube-controllers","state":{"running":{"startedAt":"2021-08-17T07:55:24Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/calico/kube-controllers:v3.19.2","imageID":"docker.io/calico/kube-controllers@sha256:9db02506a5ddf18c23500456b2ae57fcbbafc0300a2dcd07a4c4b9ec7b80d7d0","containerID":"containerd://dad08f01d624d7beb073abbfb044ec416ec80541f16d08d8550717b7a6eafebc","started":true}],"qosClass":"BestEffort"}}
{"kind":"Pod","apiVersion":"v1","metadata":{"name":"kube-database-7dbbfd468f-qgll2","generateName":"kube-database-7dbbfd468f-","namespace":"kube-system","uid":"71ed2fde-9a3a-42f8-bd71-ddca86a8795d","resourceVersion":"234492","creationTimestamp":"2021-08-19T13:58:05Z","labels":{"name":"kube-database","pod-template-hash":"7dbbfd468f"},"annotations":{"cni.projectcalico.org/containerID":"12722d4cabf265059f6bc8d57a13f0d3c6dc155d109ca8a6d615c518e605e20d","cni.projectcalico.org/podIP":"10.244.158.134/32","cni.projectcalico.org/podIPs":"10.244.158.134/32"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"kube-database-7dbbfd468f","uid":"06aad137-95d1-4b75-bbdb-d2aaa3365e36","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"calico","operation":"Update","apiVersion":"v1","time":"2021-08-19T13:58:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}},{"manager":"kube-controller-manager","operation":"Update","apiVersion":"v1","time":"2021-08-19T13:58:05Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:name":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"06aad137-95d1-4b75-bbdb-d2aaa3365e36\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"adminer\"}":{".":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:ports":{".":{},"k:{\"containerPort\":8080,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:protocol":{}}},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{}},"k:{\"name\":\"postgres\"}":{".":{},"f:env":{".":{},"k:{\"name\":\"POSTGRES_PASSWORD\"}":{".":{},"f:name":{},"f:value":{}}},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:ports":{".":{},"k:{\"containerPort\":5432,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:protocol":{}}},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{},"f:volumeMounts":{".":{},"k:{\"mountPath\":\"/var/lib/postgresql\"}":{".":{},"f:mountPath":{},"f:name":{}}}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:nodeSelector":{".":{},"f:node-role.kubernetes.io/master":{}},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{},"f:tolerations":{},"f:volumes":{".":{},"k:{\"name\":\"data\"}":{".":{},"f:hostPath":{".":{},"f:path":{},"f:type":{}},"f:name":{}}}}}},{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-19T14:01:37Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"10.244.158.134\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},"spec":{"volumes":[{"name":"data","hostPath":{"path":"/var/lib/doslab/postgresql","type":""}},{"name":"default-token-zfqwp","secret":{"secretName":"default-token-zfqwp","defaultMode":420}}],"containers":[{"name":"postgres","image":"postgres:13.3-alpine","ports":[{"containerPort":5432,"protocol":"TCP"}],"env":[{"name":"POSTGRES_PASSWORD","value":"onceas"}],"resources":{},"volumeMounts":[{"name":"data","mountPath":"/var/lib/postgresql"},{"name":"default-token-zfqwp","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"},{"name":"adminer","image":"adminer:4.8.0-standalone","ports":[{"containerPort":8080,"protocol":"TCP"}],"resources":{},"volumeMounts":[{"name":"default-token-zfqwp","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","nodeSelector":{"node-role.kubernetes.io/master":""},"serviceAccountName":"default","serviceAccount":"default","nodeName":"iz8vb39159pi4b6k0wfz68z","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node-role.kubernetes.io/master","effect":"NoSchedule"},{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true,"preemptionPolicy":"PreemptLowerPriority"},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-19T13:58:05Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-19T14:01:37Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-19T14:01:37Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2021-08-19T13:58:05Z"}],"hostIP":"172.23.136.69","podIP":"10.244.158.134","podIPs":[{"ip":"10.244.158.134"}],"startTime":"2021-08-19T13:58:05Z","containerStatuses":[{"name":"adminer","state":{"running":{"startedAt":"2021-08-19T14:01:36Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/library/adminer:4.8.0-standalone","imageID":"docker.io/library/adminer@sha256:ace4f8160eaee416242599f63a740317a99936a417fe99e0780aa09f8ea717ff","containerID":"containerd://b3dea37221720efb7b648b49b3f8053b31ca2b61f83e8e42a619d39221b985a2","started":true},{"name":"postgres","state":{"running":{"startedAt":"2021-08-19T13:59:45Z"}},"lastState":{},"ready":true,"restartCount":0,"image":"docker.io/library/postgres:13.3-alpine","imageID":"docker.io/library/postgres@sha256:e98a69a836391fe94d889a6ccfbb21257b93f47b2794da114a82ef23e342342f","containerID":"containerd://b8a932eb6962439efccc911280eb548d7d9d1ce236f580f86289771b298fc23d","started":true}],"qosClass":"BestEffort"}}
Unlike fabric8, you need to implement 'create, update, delete, list, get, watch' operators for customized Kubernetes resources.
This SDK peovides a unified API using JSON, and can automatically support customized Kubernetes resources.
In addition, if you want to get object (not JSON), you just need to write a JavaBean or reused a JavaBean from an existing SDKs.
Let take fabric8 for example.
JsonNode json = client.getResource("Pod", "default", "busybox");
io.fabric8.kubernetes.api.model.Pod pod = new ObjectMapper().readValue(json.toString(), io.fabric8.kubernetes.api.model.Pod.class);
- 1.2.x: support webhook
- 1.3.x: example doc generation