diff --git a/config/crds/troubleshoot.sh_analyzers.yaml b/config/crds/troubleshoot.sh_analyzers.yaml index 52d562e8..54617c82 100644 --- a/config/crds/troubleshoot.sh_analyzers.yaml +++ b/config/crds/troubleshoot.sh_analyzers.yaml @@ -142,6 +142,71 @@ spec: required: - outcomes type: object + clusterResource: + properties: + annotations: + additionalProperties: + type: string + type: object + checkName: + type: string + clusterScoped: + type: boolean + collectorName: + type: string + exclude: + type: BoolString + expectedValue: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + outcomes: + items: + properties: + fail: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + pass: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + warn: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + type: object + type: array + strict: + type: BoolString + yamlPath: + type: string + required: + - clusterScoped + - kind + - name + - outcomes + - yamlPath + type: object clusterVersion: properties: annotations: diff --git a/config/crds/troubleshoot.sh_preflights.yaml b/config/crds/troubleshoot.sh_preflights.yaml index 59809d4c..c5549c6b 100644 --- a/config/crds/troubleshoot.sh_preflights.yaml +++ b/config/crds/troubleshoot.sh_preflights.yaml @@ -142,6 +142,71 @@ spec: required: - outcomes type: object + clusterResource: + properties: + annotations: + additionalProperties: + type: string + type: object + checkName: + type: string + clusterScoped: + type: boolean + collectorName: + type: string + exclude: + type: BoolString + expectedValue: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + outcomes: + items: + properties: + fail: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + pass: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + warn: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + type: object + type: array + strict: + type: BoolString + yamlPath: + type: string + required: + - clusterScoped + - kind + - name + - outcomes + - yamlPath + type: object clusterVersion: properties: annotations: diff --git a/config/crds/troubleshoot.sh_supportbundles.yaml b/config/crds/troubleshoot.sh_supportbundles.yaml index 256c7367..c04621ae 100644 --- a/config/crds/troubleshoot.sh_supportbundles.yaml +++ b/config/crds/troubleshoot.sh_supportbundles.yaml @@ -173,6 +173,71 @@ spec: required: - outcomes type: object + clusterResource: + properties: + annotations: + additionalProperties: + type: string + type: object + checkName: + type: string + clusterScoped: + type: boolean + collectorName: + type: string + exclude: + type: BoolString + expectedValue: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + outcomes: + items: + properties: + fail: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + pass: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + warn: + properties: + message: + type: string + uri: + type: string + when: + type: string + type: object + type: object + type: array + strict: + type: BoolString + yamlPath: + type: string + required: + - clusterScoped + - kind + - name + - outcomes + - yamlPath + type: object clusterVersion: properties: annotations: diff --git a/pkg/analyze/analyzer.go b/pkg/analyze/analyzer.go index a96fa989..82a76758 100644 --- a/pkg/analyze/analyzer.go +++ b/pkg/analyze/analyzer.go @@ -210,6 +210,20 @@ func Analyze(analyzer *troubleshootv1beta2.Analyze, getFile getCollectedFileCont } return results, nil } + if analyzer.ClusterResource != nil { + isExcluded, err := isExcluded(analyzer.ClusterResource.Exclude) + if err != nil { + return nil, err + } + if isExcluded { + return nil, nil + } + result, err := analyzeResource(analyzer.ClusterResource, getFile) + if err != nil { + return nil, err + } + return []*AnalyzeResult{result}, nil + } if analyzer.StatefulsetStatus != nil { isExcluded, err := isExcluded(analyzer.StatefulsetStatus.Exclude) if err != nil { diff --git a/pkg/analyze/files/support-bundle/cluster-resources/deployments/default.json b/pkg/analyze/files/support-bundle/cluster-resources/deployments/default.json new file mode 100644 index 00000000..4f3e9f11 --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/deployments/default.json @@ -0,0 +1,459 @@ +{ + "kind": "DeploymentList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195651" + }, + "items": [ + { + "metadata": { + "name": "kotsadm-api", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/deployments/kotsadm-api", + "uid": "56526035-cd29-4d08-8375-291503b1a006", + "resourceVersion": "1583068", + "generation": 1, + "creationTimestamp": "2019-11-07T00:34:32Z", + "labels": { + "app.kubernetes.io/managed-by": "skaffold-v0.41.0" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"},\"name\":\"kotsadm-api\",\"namespace\":\"default\"},\"spec\":{\"selector\":{\"matchLabels\":{\"app\":\"kotsadm-api\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"kotsadm-api\",\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"}},\"spec\":{\"affinity\":{\"podAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"ship-www\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"},\"weight\":1}]},\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"kotsadm-api\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"},\"weight\":2}]}},\"containers\":[{\"env\":[{\"name\":\"DEV_NAMESPACE\",\"value\":\"test\"},{\"name\":\"LOG_LEVEL\",\"value\":\"debug\"},{\"name\":\"SESSION_KEY\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"key\",\"name\":\"session\"}}},{\"name\":\"POSTGRES_URI\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"uri\",\"name\":\"ship-postgres\"}}},{\"name\":\"API_ENCRYPTION_KEY\",\"value\":\"IvWItkB8+ezMisPjSMBknT1PdKjBx7Xc/txZqOP8Y2Oe7+Jy\"},{\"name\":\"INIT_SERVER_URI\",\"value\":\"http://init-server:3000\"},{\"name\":\"WATCH_SERVER_URI\",\"value\":\"http://watch-server:3000\"},{\"name\":\"PINO_LOG_PRETTY\",\"value\":\"1\"},{\"name\":\"S3_BUCKET_NAME\",\"value\":\"shipbucket\"},{\"name\":\"AIRGAP_BUNDLE_S3_BUCKET\",\"value\":\"airgap\"},{\"name\":\"S3_ENDPOINT\",\"value\":\"http://kotsadm-s3.default.svc.cluster.local:4569/\"},{\"name\":\"S3_ACCESS_KEY_ID\",\"value\":\"***HIDDEN***\"},{\"name\":\"S3_SECRET_ACCESS_KEY\",\"value\":\"***HIDDEN***\"},{\"name\":\"S3_BUCKET_ENDPOINT\",\"value\":\"true\"},{\"name\":\"GITHUB_CLIENT_ID\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"client-id\",\"name\":\"github-app\"}}},{\"name\":\"GITHUB_CLIENT_SECRET\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"client-secret\",\"name\":\"github-app\"}}},{\"name\":\"GITHUB_INTEGRATION_ID\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"integration-id\",\"name\":\"github-app\"}}},{\"name\":\"GITHUB_PRIVATE_KEY_FILE\",\"value\":\"/keys/github/private-key.pem\"},{\"name\":\"SHIP_API_ENDPOINT\",\"value\":\"http://kotsadm-api.default.svc.cluster.local:3000\"},{\"name\":\"SHIP_API_ADVERTISE_ENDPOINT\",\"value\":\"http://localhost:30065\"},{\"name\":\"GRAPHQL_PREM_ENDPOINT\",\"value\":\"http://graphql-api-prem:3000/graphql\"},{\"name\":\"AUTO_CREATE_CLUSTER\",\"value\":\"1\"},{\"name\":\"AUTO_CREATE_CLUSTER_NAME\",\"value\":\"microk8s\"},{\"name\":\"AUTO_CREATE_CLUSTER_TOKEN\",\"value\":\"***HIDDEN***\"},{\"name\":\"ENABLE_SHIP\",\"value\":\"1\"},{\"name\":\"ENABLE_KOTS\",\"value\":\"1\"},{\"name\":\"ENABLE_KURL\",\"value\":\"1\"},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}}],\"image\":\"localhost:32000/kotsadm-api:v1.0.1-30-g8fa13e34-dirty@sha256:4a0ca1a2eae46472bd2d454f9e763a458ddd172689e179b17054262507bb4fc8\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"kotsadm-api\",\"ports\":[{\"containerPort\":3000,\"name\":\"http\"},{\"containerPort\":9229,\"name\":\"debug\"}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/healthz\",\"port\":3000},\"initialDelaySeconds\":2,\"periodSeconds\":2},\"volumeMounts\":[{\"mountPath\":\"/keys/github\",\"name\":\"github-app-private-key\",\"readOnly\":true}]}],\"restartPolicy\":\"Always\",\"securityContext\":{\"runAsUser\":0},\"serviceAccount\":\"kotsadm-api\",\"volumes\":[{\"name\":\"github-app-private-key\",\"secret\":{\"secretName\":\"github-app-private-key\"}}]}}}}\n" + } + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kotsadm-api" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kotsadm-api" + } + }, + "spec": { + "containers": [ + { + "name": "kotsadm-api", + "image": "localhost:32000/kotsadm-api:v1.0.1-30-g8fa13e34-dirty@sha256:4a0ca1a2eae46472bd2d454f9e763a458ddd172689e179b17054262507bb4fc8", + "ports": [ + { + "name": "http", + "containerPort": 3000, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "DEV_NAMESPACE", + "value": "test" + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "resources": {}, + "readinessProbe": { + "httpGet": { + "path": "/healthz", + "port": 3000, + "scheme": "HTTP" + }, + "initialDelaySeconds": 2, + "timeoutSeconds": 1, + "periodSeconds": 2, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "kotsadm-api", + "serviceAccount": "kotsadm-api", + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2019-11-07T00:35:23Z", + "lastTransitionTime": "2019-11-07T00:35:23Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2019-11-07T00:35:23Z", + "lastTransitionTime": "2019-11-07T00:34:32Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kotsadm-api-6f4b994bd5\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "kotsadm-operator", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/deployments/kotsadm-operator", + "uid": "cfae9877-eef4-44c9-acac-0bf0d1aa547e", + "resourceVersion": "1583379", + "generation": 2, + "creationTimestamp": "2019-11-07T00:34:32Z", + "labels": { + "app.kubernetes.io/managed-by": "skaffold-v0.41.0" + }, + "annotations": { + "deployment.kubernetes.io/revision": "2", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"},\"name\":\"kotsadm-operator\",\"namespace\":\"default\"},\"spec\":{\"selector\":{\"matchLabels\":{\"app\":\"kotsadm-operator\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"kotsadm-operator\",\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"}},\"spec\":{\"containers\":[{\"env\":[{\"name\":\"KOTSADM_API_ENDPOINT\",\"value\":\"http://kotsadm-api:3000\"},{\"name\":\"KOTSADM_TOKEN\",\"value\":\"***HIDDEN***\"},{\"name\":\"KOTSADM_TARGET_NAMESPACE\",\"value\":\"test\"}],\"image\":\"localhost:32000/kotsadm-operator:v1.0.1-30-g8fa13e34-dirty@sha256:177c15b6399717048e9355bc8fd8b8ed213be90615c7c6ee7b7fdcee50aca6c5\",\"imagePullPolicy\":\"Always\",\"name\":\"kotsadm-operator\",\"resources\":{\"limits\":{\"cpu\":\"200m\",\"memory\":\"1000Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"500Mi\"}}}],\"restartPolicy\":\"Always\"}}}}\n" + } + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kotsadm-operator" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kotsadm-operator" + } + }, + "spec": { + "containers": [ + { + "name": "kotsadm-operator", + "image": "localhost:32000/kotsadm-operator:v1.0.1-30-g8fa13e34-dirty@sha256:177c15b6399717048e9355bc8fd8b8ed213be90615c7c6ee7b7fdcee50aca6c5", + "env": [ + { + "name": "KOTSADM_API_ENDPOINT", + "value": "http://kotsadm-api:3000" + }, + { + "name": "KOTSADM_TOKEN", + "value": "***HIDDEN***" + }, + { + "name": "KOTSADM_TARGET_NAMESPACE", + "value": "test" + } + ], + "resources": { + "limits": { + "cpu": "200m", + "memory": "1000Mi" + }, + "requests": { + "cpu": "100m", + "memory": "500Mi" + } + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "Always" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 2, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2019-11-07T00:34:37Z", + "lastTransitionTime": "2019-11-07T00:34:37Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2019-11-07T00:36:34Z", + "lastTransitionTime": "2019-11-07T00:34:32Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kotsadm-operator-5b5c977699\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "kotsadm-postgres-watch", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/deployments/kotsadm-postgres-watch", + "uid": "ec195b07-4fd2-4bbe-8b01-4cbdfbe0e79d", + "resourceVersion": "1582762", + "generation": 1, + "creationTimestamp": "2019-11-07T00:34:39Z", + "annotations": { + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "databases.schemahero.io/v1alpha2", + "kind": "Database", + "name": "kotsadm-postgres", + "uid": "e6d51ce6-c4c1-428f-9e8e-56f1a3a43588", + "controller": true, + "blockOwnerDeletion": true + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "deployment": "kotsadm-postgreswatch" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "deployment": "kotsadm-postgreswatch" + } + }, + "spec": { + "containers": [ + { + "name": "schemahero", + "image": "schemahero/schemahero:alpha", + "args": [ + "watch", + "--driver", + "postgres", + "--uri", + "postgres://shipcloud:password@postgres.default.svc.cluster.local:5432/shipcloud?sslmode=disable", + "--namespace", + "default", + "--instance", + "kotsadm-postgres" + ], + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "Always" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "kotsadm-postgres", + "serviceAccount": "kotsadm-postgres", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2019-11-07T00:35:00Z", + "lastTransitionTime": "2019-11-07T00:35:00Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2019-11-07T00:35:00Z", + "lastTransitionTime": "2019-11-07T00:34:39Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kotsadm-postgres-watch-5cf76f4c45\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "kotsadm-web", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/deployments/kotsadm-web", + "uid": "4e657f8a-5edb-498b-9402-1f93f51f5dda", + "resourceVersion": "1582354", + "generation": 1, + "creationTimestamp": "2019-11-07T00:34:32Z", + "labels": { + "app.kubernetes.io/managed-by": "skaffold-v0.41.0", + "skaffold.dev/builder": "local", + "skaffold.dev/cleanup": "true", + "skaffold.dev/deployer": "kustomize", + "skaffold.dev/docker-api-version": "1.40", + "skaffold.dev/run-id": "98f0a02b-9739-4d94-ba11-3e4d273c743e", + "skaffold.dev/tag-policy": "git-commit", + "skaffold.dev/tail": "true" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"},\"name\":\"kotsadm-web\",\"namespace\":\"default\"},\"spec\":{\"selector\":{\"matchLabels\":{\"app\":\"kotsadm-web\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"kotsadm-web\",\"app.kubernetes.io/managed-by\":\"skaffold-v0.41.0\",\"skaffold.dev/builder\":\"local\",\"skaffold.dev/cleanup\":\"true\",\"skaffold.dev/deployer\":\"kustomize\",\"skaffold.dev/docker-api-version\":\"1.40\",\"skaffold.dev/run-id\":\"98f0a02b-9739-4d94-ba11-3e4d273c743e\",\"skaffold.dev/tag-policy\":\"git-commit\",\"skaffold.dev/tail\":\"true\"}},\"spec\":{\"containers\":[{\"env\":[{\"name\":\"GITHUB_CLIENT_ID\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"client-id\",\"name\":\"github-app\"}}},{\"name\":\"GITHUB_INSTALL_URL\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"install-url\",\"name\":\"github-app\"}}},{\"name\":\"SHIP_CLUSTER_API_SERVER\",\"value\":\"http://localhost:30065\"},{\"name\":\"SHIP_CLUSTER_WEB_URI\",\"value\":\"http://localhost:8000\"}],\"image\":\"localhost:32000/kotsadm-web:v1.0.1-30-g8fa13e34@sha256:5b5b5b640b6e09d8b3185d4ae15ac4dc558d4e2ea034ac3e567d8cce04eadb9c\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"kotsadm-web\",\"ports\":[{\"containerPort\":8000,\"name\":\"http\"}]}]}}}}\n" + } + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kotsadm-web" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kotsadm-web", + "app.kubernetes.io/managed-by": "skaffold-v0.41.0", + "skaffold.dev/builder": "local", + "skaffold.dev/cleanup": "true", + "skaffold.dev/deployer": "kustomize", + "skaffold.dev/docker-api-version": "1.40", + "skaffold.dev/run-id": "98f0a02b-9739-4d94-ba11-3e4d273c743e", + "skaffold.dev/tag-policy": "git-commit", + "skaffold.dev/tail": "true" + } + }, + "spec": { + "containers": [ + { + "name": "kotsadm-web", + "image": "localhost:32000/kotsadm-web:v1.0.1-30-g8fa13e34@sha256:5b5b5b640b6e09d8b3185d4ae15ac4dc558d4e2ea034ac3e567d8cce04eadb9c", + "ports": [ + { + "name": "http", + "containerPort": 8000, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "GITHUB_CLIENT_ID", + "valueFrom": { + "secretKeyRef": { + "name": "github-app", + "key": "client-id" + } + } + } + ], + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2019-11-07T00:34:39Z", + "lastTransitionTime": "2019-11-07T00:34:39Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2019-11-07T00:34:39Z", + "lastTransitionTime": "2019-11-07T00:34:32Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kotsadm-web-79bfb95c48\" has successfully progressed." + } + ] + } + } + ] +} diff --git a/pkg/analyze/files/support-bundle/cluster-resources/deployments/kube-system.json b/pkg/analyze/files/support-bundle/cluster-resources/deployments/kube-system.json new file mode 100644 index 00000000..c4ceb676 --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/deployments/kube-system.json @@ -0,0 +1,667 @@ +{ + "kind": "DeploymentList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195652" + }, + "items": [ + { + "metadata": { + "name": "coredns", + "namespace": "kube-system", + "selfLink": "/apis/apps/v1/namespaces/kube-system/deployments/coredns", + "uid": "4e008c0d-39fd-4c54-acb7-45ad67c91ef4", + "resourceVersion": "734", + "generation": 1, + "creationTimestamp": "2021-12-17T18:38:57Z", + "labels": { + "k8s-app": "kube-dns" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1" + }, + "managedFields": [ + { + "manager": "kubeadm", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:38:57Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:k8s-app": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:k8s-app": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:k8s-app": {} + } + }, + "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: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": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:39:42Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 2, + "selector": { + "matchLabels": { + "k8s-app": "kube-dns" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "k8s-app": "kube-dns" + } + }, + "spec": { + "volumes": [ + { + "name": "config-volume", + "configMap": { + "name": "coredns", + "items": [ + { + "key": "Corefile", + "path": "Corefile" + } + ], + "defaultMode": 420 + } + } + ], + "containers": [ + { + "name": "coredns", + "image": "k8s.gcr.io/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" + } + ], + "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", + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "CriticalAddonsOnly", + "operator": "Exists" + }, + { + "key": "node-role.kubernetes.io/master", + "effect": "NoSchedule" + } + ], + "priorityClassName": "system-cluster-critical" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": 1, + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "updatedReplicas": 2, + "readyReplicas": 2, + "availableReplicas": 2, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:39:25Z", + "lastTransitionTime": "2021-12-17T18:39:25Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:39:42Z", + "lastTransitionTime": "2021-12-17T18:39:05Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"coredns-f9fd979d6\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "metrics-server", + "namespace": "kube-system", + "selfLink": "/apis/apps/v1/namespaces/kube-system/deployments/metrics-server", + "uid": "2247dee8-5d1d-4e05-a6e8-a50f15db140b", + "resourceVersion": "2998", + "generation": 1, + "creationTimestamp": "2021-12-17T18:42:38Z", + "labels": { + "k8s-app": "metrics-server" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"metrics-server\"},\"name\":\"metrics-server\",\"namespace\":\"kube-system\"},\"spec\":{\"selector\":{\"matchLabels\":{\"k8s-app\":\"metrics-server\"}},\"template\":{\"metadata\":{\"labels\":{\"k8s-app\":\"metrics-server\"},\"name\":\"metrics-server\"},\"spec\":{\"containers\":[{\"args\":[\"--cert-dir=/tmp\",\"--secure-port=4443\",\"--kubelet-insecure-tls\"],\"image\":\"k8s.gcr.io/metrics-server/metrics-server:v0.3.7\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"metrics-server\",\"ports\":[{\"containerPort\":4443,\"name\":\"main-port\",\"protocol\":\"TCP\"}],\"securityContext\":{\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":1000},\"volumeMounts\":[{\"mountPath\":\"/tmp\",\"name\":\"tmp-dir\"}]}],\"nodeSelector\":{\"kubernetes.io/os\":\"linux\"},\"serviceAccountName\":\"metrics-server\",\"volumes\":[{\"emptyDir\":{},\"name\":\"tmp-dir\"}]}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:38Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:k8s-app": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:k8s-app": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:k8s-app": {} + }, + "f:name": {} + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"metrics-server\"}": { + ".": {}, + "f:args": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":4443,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:readOnlyRootFilesystem": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/tmp\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:nodeSelector": { + ".": {}, + "f:kubernetes.io/os": {} + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"tmp-dir\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + } + } + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:47Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "k8s-app": "metrics-server" + } + }, + "template": { + "metadata": { + "name": "metrics-server", + "creationTimestamp": null, + "labels": { + "k8s-app": "metrics-server" + } + }, + "spec": { + "volumes": [ + { + "name": "tmp-dir", + "emptyDir": {} + } + ], + "containers": [ + { + "name": "metrics-server", + "image": "k8s.gcr.io/metrics-server/metrics-server:v0.3.7", + "args": [ + "--cert-dir=/tmp", + "--secure-port=4443", + "--kubelet-insecure-tls" + ], + "ports": [ + { + "name": "main-port", + "containerPort": 4443, + "protocol": "TCP" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "tmp-dir", + "mountPath": "/tmp" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "runAsUser": 1000, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "nodeSelector": { + "kubernetes.io/os": "linux" + }, + "serviceAccountName": "metrics-server", + "serviceAccount": "metrics-server", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:42:47Z", + "lastTransitionTime": "2021-12-17T18:42:47Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:42:47Z", + "lastTransitionTime": "2021-12-17T18:42:38Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"metrics-server-56df6d849\" has successfully progressed." + } + ] + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/deployments/monitoring.json b/pkg/analyze/files/support-bundle/cluster-resources/deployments/monitoring.json new file mode 100644 index 00000000..d4f6500c --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/deployments/monitoring.json @@ -0,0 +1,1650 @@ +{ + "kind": "DeploymentList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195653" + }, + "items": [ + { + "metadata": { + "name": "grafana", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/deployments/grafana", + "uid": "00cd5f1f-2a6b-49a6-8951-2c321187b31e", + "resourceVersion": "2197", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:27Z", + "labels": { + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/name": "grafana", + "app.kubernetes.io/version": "8.0.5", + "helm.sh/chart": "grafana-6.14.1" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"grafana\",\"app.kubernetes.io/version\":\"8.0.5\",\"helm.sh/chart\":\"grafana-6.14.1\"},\"name\":\"grafana\",\"namespace\":\"monitoring\"},\"spec\":{\"replicas\":1,\"revisionHistoryLimit\":10,\"selector\":{\"matchLabels\":{\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/name\":\"grafana\"}},\"strategy\":{\"type\":\"RollingUpdate\"},\"template\":{\"metadata\":{\"annotations\":{\"checksum/config\":\"76e4c3d8e9384607b5dafa08c9dd7eaeb44b6d5c224ca070de5b99667138dc04\",\"checksum/dashboards-json-config\":\"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b\",\"checksum/sc-dashboard-provider-config\":\"5f18351bfe1f60ece9f2e169280646d34eb18165e6884855f79bbcd6b92a07f2\"},\"labels\":{\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/name\":\"grafana\"}},\"spec\":{\"automountServiceAccountToken\":true,\"containers\":[{\"env\":[{\"name\":\"METHOD\",\"value\":null},{\"name\":\"LABEL\",\"value\":\"grafana_dashboard\"},{\"name\":\"FOLDER\",\"value\":\"/tmp/dashboards\"},{\"name\":\"RESOURCE\",\"value\":\"both\"}],\"image\":\"quay.io/kiwigrid/k8s-sidecar:1.12.2\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"grafana-sc-dashboard\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/tmp/dashboards\",\"name\":\"sc-dashboard-volume\"}]},{\"env\":[{\"name\":\"GF_SECURITY_ADMIN_USER\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"admin-user\",\"name\":\"grafana-admin\"}}},{\"name\":\"GF_SECURITY_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"admin-password\",\"name\":\"grafana-admin\"}}},{\"name\":\"GF_PATHS_DATA\",\"value\":\"/var/lib/grafana/\"},{\"name\":\"GF_PATHS_LOGS\",\"value\":\"/var/log/grafana\"},{\"name\":\"GF_PATHS_PLUGINS\",\"value\":\"/var/lib/grafana/plugins\"},{\"name\":\"GF_PATHS_PROVISIONING\",\"value\":\"/etc/grafana/provisioning\"}],\"image\":\"grafana/grafana:8.0.5\",\"imagePullPolicy\":\"IfNotPresent\",\"livenessProbe\":{\"failureThreshold\":10,\"httpGet\":{\"path\":\"/api/health\",\"port\":3000},\"initialDelaySeconds\":60,\"timeoutSeconds\":30},\"name\":\"grafana\",\"ports\":[{\"containerPort\":80,\"name\":\"service\",\"protocol\":\"TCP\"},{\"containerPort\":3000,\"name\":\"grafana\",\"protocol\":\"TCP\"}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/api/health\",\"port\":3000}},\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"128Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"128Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/grafana/grafana.ini\",\"name\":\"config\",\"subPath\":\"grafana.ini\"},{\"mountPath\":\"/var/lib/grafana\",\"name\":\"storage\"},{\"mountPath\":\"/tmp/dashboards\",\"name\":\"sc-dashboard-volume\"},{\"mountPath\":\"/etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml\",\"name\":\"sc-dashboard-provider\",\"subPath\":\"provider.yaml\"},{\"mountPath\":\"/etc/grafana/provisioning/datasources\",\"name\":\"sc-datasources-volume\"}]}],\"enableServiceLinks\":true,\"initContainers\":[{\"env\":[{\"name\":\"METHOD\",\"value\":\"LIST\"},{\"name\":\"LABEL\",\"value\":\"grafana_datasource\"},{\"name\":\"FOLDER\",\"value\":\"/etc/grafana/provisioning/datasources\"},{\"name\":\"RESOURCE\",\"value\":\"both\"}],\"image\":\"quay.io/kiwigrid/k8s-sidecar:1.12.2\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"grafana-sc-datasources\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/etc/grafana/provisioning/datasources\",\"name\":\"sc-datasources-volume\"}]}],\"securityContext\":{\"fsGroup\":472,\"runAsGroup\":472,\"runAsUser\":472},\"serviceAccountName\":\"grafana\",\"volumes\":[{\"configMap\":{\"name\":\"grafana\"},\"name\":\"config\"},{\"emptyDir\":{},\"name\":\"storage\"},{\"emptyDir\":{},\"name\":\"sc-dashboard-volume\"},{\"configMap\":{\"name\":\"grafana-config-dashboards\"},\"name\":\"sc-dashboard-provider\"},{\"emptyDir\":{},\"name\":\"sc-datasources-volume\"}]}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:27Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {}, + "f:app.kubernetes.io/version": {}, + "f:helm.sh/chart": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/name": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:checksum/config": {}, + "f:checksum/dashboards-json-config": {}, + "f:checksum/sc-dashboard-provider-config": {} + }, + "f:labels": { + ".": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/name": {} + } + }, + "f:spec": { + "f:automountServiceAccountToken": {}, + "f:containers": { + "k:{\"name\":\"grafana\"}": { + ".": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"GF_PATHS_DATA\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"GF_PATHS_LOGS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"GF_PATHS_PLUGINS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"GF_PATHS_PROVISIONING\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"GF_SECURITY_ADMIN_PASSWORD\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"GF_SECURITY_ADMIN_USER\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "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\":80,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + }, + "k:{\"containerPort\":3000,\"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:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/grafana/grafana.ini\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:subPath": {} + }, + "k:{\"mountPath\":\"/etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:subPath": {} + }, + "k:{\"mountPath\":\"/etc/grafana/provisioning/datasources\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/tmp/dashboards\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/grafana\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"grafana-sc-dashboard\"}": { + ".": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"FOLDER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"LABEL\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"METHOD\"}": { + ".": {}, + "f:name": {} + }, + "k:{\"name\":\"RESOURCE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/tmp/dashboards\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:enableServiceLinks": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"grafana-sc-datasources\"}": { + ".": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"FOLDER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"LABEL\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"METHOD\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"RESOURCE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/grafana/provisioning/datasources\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsGroup": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"config\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"sc-dashboard-provider\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"sc-dashboard-volume\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"sc-datasources-volume\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"storage\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + } + } + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:50Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/name": "grafana" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/name": "grafana" + }, + "annotations": { + "checksum/config": "76e4c3d8e9384607b5dafa08c9dd7eaeb44b6d5c224ca070de5b99667138dc04", + "checksum/dashboards-json-config": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", + "checksum/sc-dashboard-provider-config": "5f18351bfe1f60ece9f2e169280646d34eb18165e6884855f79bbcd6b92a07f2" + } + }, + "spec": { + "volumes": [ + { + "name": "config", + "configMap": { + "name": "grafana", + "defaultMode": 420 + } + }, + { + "name": "storage", + "emptyDir": {} + }, + { + "name": "sc-dashboard-volume", + "emptyDir": {} + }, + { + "name": "sc-dashboard-provider", + "configMap": { + "name": "grafana-config-dashboards", + "defaultMode": 420 + } + }, + { + "name": "sc-datasources-volume", + "emptyDir": {} + } + ], + "initContainers": [ + { + "name": "grafana-sc-datasources", + "image": "quay.io/kiwigrid/k8s-sidecar:1.12.2", + "env": [ + { + "name": "METHOD", + "value": "LIST" + }, + { + "name": "LABEL", + "value": "grafana_datasource" + }, + { + "name": "FOLDER", + "value": "/etc/grafana/provisioning/datasources" + }, + { + "name": "RESOURCE", + "value": "both" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "sc-datasources-volume", + "mountPath": "/etc/grafana/provisioning/datasources" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "containers": [ + { + "name": "grafana-sc-dashboard", + "image": "quay.io/kiwigrid/k8s-sidecar:1.12.2", + "env": [ + { + "name": "METHOD" + }, + { + "name": "LABEL", + "value": "grafana_dashboard" + }, + { + "name": "FOLDER", + "value": "/tmp/dashboards" + }, + { + "name": "RESOURCE", + "value": "both" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "sc-dashboard-volume", + "mountPath": "/tmp/dashboards" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "grafana", + "image": "grafana/grafana:8.0.5", + "ports": [ + { + "name": "service", + "containerPort": 80, + "protocol": "TCP" + }, + { + "name": "grafana", + "containerPort": 3000, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "GF_SECURITY_ADMIN_USER", + "valueFrom": { + "secretKeyRef": { + "name": "grafana-admin", + "key": "admin-user" + } + } + }, + { + "name": "GF_SECURITY_ADMIN_PASSWORD", + "valueFrom": { + "secretKeyRef": { + "name": "grafana-admin", + "key": "admin-password" + } + } + }, + { + "name": "GF_PATHS_DATA", + "value": "/var/lib/grafana/" + }, + { + "name": "GF_PATHS_LOGS", + "value": "/var/log/grafana" + }, + { + "name": "GF_PATHS_PLUGINS", + "value": "/var/lib/grafana/plugins" + }, + { + "name": "GF_PATHS_PROVISIONING", + "value": "/etc/grafana/provisioning" + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "128Mi" + }, + "requests": { + "cpu": "100m", + "memory": "128Mi" + } + }, + "volumeMounts": [ + { + "name": "config", + "mountPath": "/etc/grafana/grafana.ini", + "subPath": "grafana.ini" + }, + { + "name": "storage", + "mountPath": "/var/lib/grafana" + }, + { + "name": "sc-dashboard-volume", + "mountPath": "/tmp/dashboards" + }, + { + "name": "sc-dashboard-provider", + "mountPath": "/etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml", + "subPath": "provider.yaml" + }, + { + "name": "sc-datasources-volume", + "mountPath": "/etc/grafana/provisioning/datasources" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/api/health", + "port": 3000, + "scheme": "HTTP" + }, + "initialDelaySeconds": 60, + "timeoutSeconds": 30, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 10 + }, + "readinessProbe": { + "httpGet": { + "path": "/api/health", + "port": 3000, + "scheme": "HTTP" + }, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "grafana", + "serviceAccount": "grafana", + "automountServiceAccountToken": true, + "securityContext": { + "runAsUser": 472, + "runAsGroup": 472, + "fsGroup": 472 + }, + "schedulerName": "default-scheduler", + "enableServiceLinks": true + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:50Z", + "lastTransitionTime": "2021-12-17T18:41:50Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:50Z", + "lastTransitionTime": "2021-12-17T18:41:27Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"grafana-5b868476b6\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "kube-state-metrics", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/deployments/kube-state-metrics", + "uid": "41cdab80-2fa4-49fc-8ac4-b80dad242855", + "resourceVersion": "2153", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:27Z", + "labels": { + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/name": "kube-state-metrics", + "app.kubernetes.io/version": "2.1.0", + "helm.sh/chart": "kube-state-metrics-3.4.1" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/name\":\"kube-state-metrics\",\"app.kubernetes.io/version\":\"2.1.0\",\"helm.sh/chart\":\"kube-state-metrics-3.4.1\"},\"name\":\"kube-state-metrics\",\"namespace\":\"monitoring\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app.kubernetes.io/name\":\"kube-state-metrics\"}},\"template\":{\"metadata\":{\"labels\":{\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/name\":\"kube-state-metrics\"}},\"spec\":{\"containers\":[{\"args\":[\"--port=8080\",\"--resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments\",\"--telemetry-port=8081\"],\"image\":\"k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.1.0\",\"imagePullPolicy\":\"IfNotPresent\",\"livenessProbe\":{\"httpGet\":{\"path\":\"/healthz\",\"port\":8080},\"initialDelaySeconds\":5,\"timeoutSeconds\":5},\"name\":\"kube-state-metrics\",\"ports\":[{\"containerPort\":8080}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/\",\"port\":8080},\"initialDelaySeconds\":5,\"timeoutSeconds\":5}}],\"hostNetwork\":false,\"securityContext\":{\"fsGroup\":65534,\"runAsGroup\":65534,\"runAsUser\":65534},\"serviceAccountName\":\"kube-state-metrics\"}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:27Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {}, + "f:app.kubernetes.io/version": {}, + "f:helm.sh/chart": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app.kubernetes.io/name": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/name": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"kube-state-metrics\"}": { + ".": {}, + "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\":8080,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:protocol": {} + } + }, + "f:readinessProbe": { + ".": {}, + "f:failureThreshold": {}, + "f:httpGet": { + ".": {}, + "f:path": {}, + "f:port": {}, + "f:scheme": {} + }, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsGroup": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:46Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app.kubernetes.io/name": "kube-state-metrics" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/name": "kube-state-metrics" + } + }, + "spec": { + "containers": [ + { + "name": "kube-state-metrics", + "image": "k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.1.0", + "args": [ + "--port=8080", + "--resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments", + "--telemetry-port=8081" + ], + "ports": [ + { + "containerPort": 8080, + "protocol": "TCP" + } + ], + "resources": {}, + "livenessProbe": { + "httpGet": { + "path": "/healthz", + "port": 8080, + "scheme": "HTTP" + }, + "initialDelaySeconds": 5, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "readinessProbe": { + "httpGet": { + "path": "/", + "port": 8080, + "scheme": "HTTP" + }, + "initialDelaySeconds": 5, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "kube-state-metrics", + "serviceAccount": "kube-state-metrics", + "securityContext": { + "runAsUser": 65534, + "runAsGroup": 65534, + "fsGroup": 65534 + }, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:46Z", + "lastTransitionTime": "2021-12-17T18:41:46Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:46Z", + "lastTransitionTime": "2021-12-17T18:41:27Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kube-state-metrics-f97897479\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "prometheus-adapter", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/deployments/prometheus-adapter", + "uid": "4fed14e4-17a1-4389-a30e-20bd9f75a9cb", + "resourceVersion": "2290", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:27Z", + "labels": { + "app": "prometheus-adapter", + "chart": "prometheus-adapter-2.15.2", + "heritage": "Helm", + "release": "v0.49.0-17.1.3" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"prometheus-adapter\",\"chart\":\"prometheus-adapter-2.15.2\",\"heritage\":\"Helm\",\"release\":\"v0.49.0-17.1.3\"},\"name\":\"prometheus-adapter\",\"namespace\":\"monitoring\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"prometheus-adapter\",\"release\":\"v0.49.0-17.1.3\"}},\"strategy\":{\"rollingUpdate\":{\"maxSurge\":\"25%\",\"maxUnavailable\":\"25%\"},\"type\":\"RollingUpdate\"},\"template\":{\"metadata\":{\"annotations\":{\"checksum/config\":\"89f5608c27af8dcbe0df07191295c0195b7409f20fab98f2b6458cb8a0583581\"},\"labels\":{\"app\":\"prometheus-adapter\",\"chart\":\"prometheus-adapter-2.15.2\",\"heritage\":\"Helm\",\"release\":\"v0.49.0-17.1.3\"},\"name\":\"prometheus-adapter\"},\"spec\":{\"affinity\":{},\"containers\":[{\"args\":[\"/adapter\",\"--secure-port=6443\",\"--cert-dir=/tmp/cert\",\"--logtostderr=true\",\"--prometheus-url=http://prometheus.default.svc:9090\",\"--metrics-relist-interval=1m\",\"--v=4\",\"--config=/etc/adapter/config.yaml\"],\"image\":\"directxman12/k8s-prometheus-adapter-amd64:v0.8.4\",\"imagePullPolicy\":\"IfNotPresent\",\"livenessProbe\":{\"httpGet\":{\"path\":\"/healthz\",\"port\":\"https\",\"scheme\":\"HTTPS\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":5},\"name\":\"prometheus-adapter\",\"ports\":[{\"containerPort\":6443,\"name\":\"https\"}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/healthz\",\"port\":\"https\",\"scheme\":\"HTTPS\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":5},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"capabilities\":{\"drop\":[\"all\"]},\"readOnlyRootFilesystem\":true,\"runAsNonRoot\":true,\"runAsUser\":10001},\"volumeMounts\":[{\"mountPath\":\"/etc/adapter/\",\"name\":\"config\",\"readOnly\":true},{\"mountPath\":\"/tmp\",\"name\":\"tmp\"}]}],\"nodeSelector\":{},\"priorityClassName\":null,\"securityContext\":{\"fsGroup\":10001},\"serviceAccountName\":\"prometheus-adapter\",\"tolerations\":[],\"volumes\":[{\"configMap\":{\"name\":\"prometheus-adapter\"},\"name\":\"config\"},{\"emptyDir\":{},\"name\":\"tmp\"}]}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:27Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:chart": {}, + "f:heritage": {}, + "f:release": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {}, + "f:release": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:checksum/config": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:chart": {}, + "f:heritage": {}, + "f:release": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": {}, + "f:containers": { + "k:{\"name\":\"prometheus-adapter\"}": { + ".": {}, + "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\":6443,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:readinessProbe": { + ".": {}, + "f:failureThreshold": {}, + "f:httpGet": { + ".": {}, + "f:path": {}, + "f:port": {}, + "f:scheme": {} + }, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:drop": {} + }, + "f:readOnlyRootFilesystem": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/adapter/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/tmp\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"config\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"tmp\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + } + } + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:07Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "prometheus-adapter", + "release": "v0.49.0-17.1.3" + } + }, + "template": { + "metadata": { + "name": "prometheus-adapter", + "creationTimestamp": null, + "labels": { + "app": "prometheus-adapter", + "chart": "prometheus-adapter-2.15.2", + "heritage": "Helm", + "release": "v0.49.0-17.1.3" + }, + "annotations": { + "checksum/config": "89f5608c27af8dcbe0df07191295c0195b7409f20fab98f2b6458cb8a0583581" + } + }, + "spec": { + "volumes": [ + { + "name": "config", + "configMap": { + "name": "prometheus-adapter", + "defaultMode": 420 + } + }, + { + "name": "tmp", + "emptyDir": {} + } + ], + "containers": [ + { + "name": "prometheus-adapter", + "image": "directxman12/k8s-prometheus-adapter-amd64:v0.8.4", + "args": [ + "/adapter", + "--secure-port=6443", + "--cert-dir=/tmp/cert", + "--logtostderr=true", + "--prometheus-url=http://prometheus.default.svc:9090", + "--metrics-relist-interval=1m", + "--v=4", + "--config=/etc/adapter/config.yaml" + ], + "ports": [ + { + "name": "https", + "containerPort": 6443, + "protocol": "TCP" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "config", + "readOnly": true, + "mountPath": "/etc/adapter/" + }, + { + "name": "tmp", + "mountPath": "/tmp" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/healthz", + "port": "https", + "scheme": "HTTPS" + }, + "initialDelaySeconds": 30, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "readinessProbe": { + "httpGet": { + "path": "/healthz", + "port": "https", + "scheme": "HTTPS" + }, + "initialDelaySeconds": 30, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "drop": [ + "all" + ] + }, + "runAsUser": 10001, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "prometheus-adapter", + "serviceAccount": "prometheus-adapter", + "securityContext": { + "fsGroup": 10001 + }, + "affinity": {}, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 1, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:42:07Z", + "lastTransitionTime": "2021-12-17T18:42:07Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:42:07Z", + "lastTransitionTime": "2021-12-17T18:41:27Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"prometheus-adapter-75c7788d57\" has successfully progressed." + } + ] + } + }, + { + "metadata": { + "name": "prometheus-operator", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/deployments/prometheus-operator", + "uid": "e619939c-7c41-4a30-8f13-3cf1ad50b4f4", + "resourceVersion": "1813", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:27Z", + "labels": { + "app": "kube-prometheus-stack-operator", + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/part-of": "kube-prometheus-stack", + "app.kubernetes.io/version": "17.1.3", + "chart": "kube-prometheus-stack-17.1.3", + "heritage": "Helm", + "release": "v0.49.0-17.1.3" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"kube-prometheus-stack-operator\",\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/part-of\":\"kube-prometheus-stack\",\"app.kubernetes.io/version\":\"17.1.3\",\"chart\":\"kube-prometheus-stack-17.1.3\",\"heritage\":\"Helm\",\"release\":\"v0.49.0-17.1.3\"},\"name\":\"prometheus-operator\",\"namespace\":\"monitoring\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"kube-prometheus-stack-operator\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"kube-prometheus-stack-operator\",\"app.kubernetes.io/instance\":\"v0.49.0-17.1.3\",\"app.kubernetes.io/managed-by\":\"Helm\",\"app.kubernetes.io/part-of\":\"kube-prometheus-stack\",\"app.kubernetes.io/version\":\"17.1.3\",\"chart\":\"kube-prometheus-stack-17.1.3\",\"heritage\":\"Helm\",\"release\":\"v0.49.0-17.1.3\"}},\"spec\":{\"containers\":[{\"args\":[\"--kubelet-service=kube-system/prometheus-kubelet\",\"--localhost=***HIDDEN***\",\"--prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.49.0\",\"--config-reloader-cpu=100m\",\"--config-reloader-memory=50Mi\",\"--thanos-default-base-image=quay.io/thanos/thanos:v0.17.2\"],\"image\":\"quay.io/prometheus-operator/prometheus-operator:v0.49.0\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"kube-prometheus-stack\",\"ports\":[{\"containerPort\":8080,\"name\":\"http\"}],\"resources\":{\"limits\":{\"cpu\":\"200m\",\"memory\":\"200Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"100Mi\"}},\"securityContext\":{\"allowPrivilegeEscalation\":false,\"readOnlyRootFilesystem\":true}}],\"securityContext\":{\"fsGroup\":65534,\"runAsGroup\":65534,\"runAsNonRoot\":true,\"runAsUser\":65534},\"serviceAccountName\":\"prometheus-operator\"}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:27Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/part-of": {}, + "f:app.kubernetes.io/version": {}, + "f:chart": {}, + "f:heritage": {}, + "f:release": {} + } + }, + "f:spec": { + "f:progressDeadlineSeconds": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {} + } + }, + "f:strategy": { + "f:rollingUpdate": { + ".": {}, + "f:maxSurge": {}, + "f:maxUnavailable": {} + }, + "f:type": {} + }, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/part-of": {}, + "f:app.kubernetes.io/version": {}, + "f:chart": {}, + "f:heritage": {}, + "f:release": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"kube-prometheus-stack\"}": { + ".": {}, + "f:args": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":8080,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:readOnlyRootFilesystem": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsGroup": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:30Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:deployment.kubernetes.io/revision": {} + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Available\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Progressing\"}": { + ".": {}, + "f:lastTransitionTime": {}, + "f:lastUpdateTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kube-prometheus-stack-operator" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kube-prometheus-stack-operator", + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/part-of": "kube-prometheus-stack", + "app.kubernetes.io/version": "17.1.3", + "chart": "kube-prometheus-stack-17.1.3", + "heritage": "Helm", + "release": "v0.49.0-17.1.3" + } + }, + "spec": { + "containers": [ + { + "name": "kube-prometheus-stack", + "image": "quay.io/prometheus-operator/prometheus-operator:v0.49.0", + "args": [ + "--kubelet-service=kube-system/prometheus-kubelet", + "--localhost=***HIDDEN***", + "--prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.49.0", + "--config-reloader-cpu=100m", + "--config-reloader-memory=50Mi", + "--thanos-default-base-image=quay.io/thanos/thanos:v0.17.2" + ], + "ports": [ + { + "name": "http", + "containerPort": 8080, + "protocol": "TCP" + } + ], + "resources": { + "limits": { + "cpu": "200m", + "memory": "200Mi" + }, + "requests": { + "cpu": "100m", + "memory": "100Mi" + } + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "prometheus-operator", + "serviceAccount": "prometheus-operator", + "securityContext": { + "runAsUser": 65534, + "runAsGroup": 65534, + "runAsNonRoot": true, + "fsGroup": 65534 + }, + "schedulerName": "default-scheduler" + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 10, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "updatedReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "conditions": [ + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:30Z", + "lastTransitionTime": "2021-12-17T18:41:30Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + }, + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2021-12-17T18:41:30Z", + "lastTransitionTime": "2021-12-17T18:41:27Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"prometheus-operator-7f6d8fdc86\" has successfully progressed." + } + ] + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/jobs/projectcontour.json b/pkg/analyze/files/support-bundle/cluster-resources/jobs/projectcontour.json new file mode 100644 index 00000000..b8d0298f --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/jobs/projectcontour.json @@ -0,0 +1,204 @@ +{ + "kind": "JobList", + "apiVersion": "batch/v1", + "metadata": { + "resourceVersion": "27195661" + }, + "items": [ + { + "metadata": { + "name": "contour-certgen-v1.19.1", + "namespace": "projectcontour", + "selfLink": "/apis/batch/v1/namespaces/projectcontour/jobs/contour-certgen-v1.19.1", + "uid": "416a2a9d-b862-47b8-93d9-160775641fbe", + "resourceVersion": "1386", + "creationTimestamp": "2021-12-17T18:41:14Z", + "labels": { + "app": "contour-certgen", + "controller-uid": "416a2a9d-b862-47b8-93d9-160775641fbe", + "job-name": "contour-certgen-v1.19.1" + }, + "annotations": { + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"batch/v1\",\"kind\":\"Job\",\"metadata\":{\"annotations\":{},\"name\":\"contour-certgen-v1.19.1\",\"namespace\":\"projectcontour\"},\"spec\":{\"backoffLimit\":1,\"completions\":1,\"parallelism\":1,\"template\":{\"metadata\":{\"labels\":{\"app\":\"contour-certgen\"}},\"spec\":{\"containers\":[{\"command\":[\"contour\",\"certgen\",\"--kube\",\"--incluster\",\"--overwrite\",\"--secrets-format=compact\",\"--namespace=$(CONTOUR_NAMESPACE)\"],\"env\":[{\"name\":\"CONTOUR_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}}],\"image\":\"ghcr.io/projectcontour/contour:v1.19.1\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"contour\"}],\"restartPolicy\":\"Never\",\"securityContext\":{\"runAsGroup\":65534,\"runAsNonRoot\":true,\"runAsUser\":65534},\"serviceAccountName\":\"contour-certgen\"}},\"ttlSecondsAfterFinished\":0}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-12-17T18:41:14Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:app": {} + } + }, + "f:spec": { + "f:backoffLimit": {}, + "f:completions": {}, + "f:parallelism": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"contour\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTOUR_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:runAsGroup": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {} + } + }, + "f:ttlSecondsAfterFinished": {} + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-12-17T18:41:17Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:status": { + "f:completionTime": {}, + "f:conditions": { + ".": {}, + "k:{\"type\":\"Complete\"}": { + ".": {}, + "f:lastProbeTime": {}, + "f:lastTransitionTime": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:startTime": {}, + "f:succeeded": {} + } + } + } + ] + }, + "spec": { + "parallelism": 1, + "completions": 1, + "backoffLimit": 1, + "selector": { + "matchLabels": { + "controller-uid": "416a2a9d-b862-47b8-93d9-160775641fbe" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "contour-certgen", + "controller-uid": "416a2a9d-b862-47b8-93d9-160775641fbe", + "job-name": "contour-certgen-v1.19.1" + } + }, + "spec": { + "containers": [ + { + "name": "contour", + "image": "ghcr.io/projectcontour/contour:v1.19.1", + "command": [ + "contour", + "certgen", + "--kube", + "--incluster", + "--overwrite", + "--secrets-format=compact", + "--namespace=$(CONTOUR_NAMESPACE)" + ], + "env": [ + { + "name": "CONTOUR_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Never", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "contour-certgen", + "serviceAccount": "contour-certgen", + "securityContext": { + "runAsUser": 65534, + "runAsGroup": 65534, + "runAsNonRoot": true + }, + "schedulerName": "default-scheduler" + } + } + }, + "status": { + "conditions": [ + { + "type": "Complete", + "status": "True", + "lastProbeTime": "2021-12-17T18:41:17Z", + "lastTransitionTime": "2021-12-17T18:41:17Z" + } + ], + "startTime": "2021-12-17T18:41:14Z", + "completionTime": "2021-12-17T18:41:17Z", + "succeeded": 0, + "failed": 1 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/jobs/test.json b/pkg/analyze/files/support-bundle/cluster-resources/jobs/test.json new file mode 100644 index 00000000..535b5e6b --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/jobs/test.json @@ -0,0 +1,325 @@ +{ + "kind": "JobList", + "apiVersion": "batch/v1", + "metadata": { + "resourceVersion": "27195662" + }, + "items": [ + { + "metadata": { + "name": "pre-install-job", + "namespace": "test", + "uid": "4545c8ba-0462-45a6-96c3-793a545dfcf6", + "resourceVersion": "8303004", + "creationTimestamp": "2021-10-05T19:11:43Z", + "labels": { + "kots.io/app-slug": "test", + "kots.io/backup": "velero" + }, + "annotations": { + "helm.sh/hook": "pre-install", + "helm.sh/hook-weight": "2", + "kots.io/app-slug": "test", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"batch/v1\",\"kind\":\"Job\",\"metadata\":{\"annotations\":{\"helm.sh/hook\":\"pre-install\",\"helm.sh/hook-weight\":\"2\",\"kots.io/app-slug\":\"test\"},\"labels\":{\"kots.io/app-slug\":\"test\",\"kots.io/backup\":\"velero\"},\"name\":\"pre-install-job\",\"namespace\":\"test\"},\"spec\":{\"backoffLimit\":3,\"template\":{\"metadata\":{\"annotations\":{\"kots.io/app-slug\":\"test\"},\"labels\":{\"kots.io/app-slug\":\"test\",\"kots.io/backup\":\"velero\"},\"name\":\"security-test\"},\"spec\":{\"containers\":[{\"command\":[\"sh\",\"-c\",\"sleep 10\"],\"image\":\"alpine\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"hook-test\"}],\"restartPolicy\":\"Never\"}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-10-05T19:11:43Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:helm.sh/hook": {}, + "f:helm.sh/hook-weight": {}, + "f:kots.io/app-slug": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:kots.io/app-slug": {}, + "f:kots.io/backup": {} + } + }, + "f:spec": { + "f:backoffLimit": {}, + "f:completions": {}, + "f:parallelism": {}, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kots.io/app-slug": {} + }, + "f:labels": { + ".": {}, + "f:kots.io/app-slug": {}, + "f:kots.io/backup": {} + }, + "f:name": {} + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"hook-test\"}": { + ".": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {} + } + } + } + } + }, + { + "manager": "k3s", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-10-05T19:11:55Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:status": { + "f:completionTime": {}, + "f:conditions": {}, + "f:startTime": {}, + "f:succeeded": {} + } + } + } + ] + }, + "spec": { + "parallelism": 1, + "completions": 1, + "backoffLimit": 3, + "selector": { + "matchLabels": { + "controller-uid": "4545c8ba-0462-45a6-96c3-793a545dfcf6" + } + }, + "template": { + "metadata": { + "name": "security-test", + "creationTimestamp": null, + "labels": { + "controller-uid": "4545c8ba-0462-45a6-96c3-793a545dfcf6", + "job-name": "pre-install-job", + "kots.io/app-slug": "test", + "kots.io/backup": "velero" + }, + "annotations": { + "kots.io/app-slug": "test" + } + }, + "spec": { + "containers": [ + { + "name": "hook-test", + "image": "alpine", + "command": [ + "sh", + "-c", + "sleep 10" + ], + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Never", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + } + }, + "status": { + "conditions": [ + { + "type": "Complete", + "status": "True", + "lastProbeTime": "2021-10-05T19:11:55Z", + "lastTransitionTime": "2021-10-05T19:11:55Z" + } + ], + "startTime": "2021-10-05T19:11:43Z", + "completionTime": "2021-10-05T19:11:55Z", + "succeeded": 1 + } + }, + { + "metadata": { + "name": "post-install-job", + "namespace": "test", + "uid": "13844969-d21a-4514-8bed-66157f216af7", + "resourceVersion": "8303007", + "creationTimestamp": "2021-10-05T19:11:43Z", + "labels": { + "kots.io/app-slug": "test", + "kots.io/backup": "velero" + }, + "annotations": { + "helm.sh/hook": "post-install", + "helm.sh/hook-weight": "2", + "kots.io/app-slug": "test", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"batch/v1\",\"kind\":\"Job\",\"metadata\":{\"annotations\":{\"helm.sh/hook\":\"post-install\",\"helm.sh/hook-weight\":\"2\",\"kots.io/app-slug\":\"test\"},\"labels\":{\"kots.io/app-slug\":\"test\",\"kots.io/backup\":\"velero\"},\"name\":\"post-install-job\",\"namespace\":\"test\"},\"spec\":{\"backoffLimit\":3,\"template\":{\"metadata\":{\"annotations\":{\"kots.io/app-slug\":\"test\"},\"labels\":{\"kots.io/app-slug\":\"test\",\"kots.io/backup\":\"velero\"},\"name\":\"security-test\"},\"spec\":{\"containers\":[{\"command\":[\"sh\",\"-c\",\"sleep 10\"],\"image\":\"alpine\",\"imagePullPolicy\":\"IfNotPresent\",\"name\":\"hook-test\"}],\"restartPolicy\":\"Never\"}}}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-10-05T19:11:43Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:helm.sh/hook": {}, + "f:helm.sh/hook-weight": {}, + "f:kots.io/app-slug": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:kots.io/app-slug": {}, + "f:kots.io/backup": {} + } + }, + "f:spec": { + "f:backoffLimit": {}, + "f:completions": {}, + "f:parallelism": {}, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kots.io/app-slug": {} + }, + "f:labels": { + ".": {}, + "f:kots.io/app-slug": {}, + "f:kots.io/backup": {} + }, + "f:name": {} + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"hook-test\"}": { + ".": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {} + } + } + } + } + }, + { + "manager": "k3s", + "operation": "Update", + "apiVersion": "batch/v1", + "time": "2021-10-05T19:11:55Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:status": { + "f:completionTime": {}, + "f:conditions": {}, + "f:startTime": {}, + "f:succeeded": {} + } + } + } + ] + }, + "spec": { + "parallelism": 1, + "completions": 1, + "backoffLimit": 3, + "selector": { + "matchLabels": { + "controller-uid": "13844969-d21a-4514-8bed-66157f216af7" + } + }, + "template": { + "metadata": { + "name": "security-test", + "creationTimestamp": null, + "labels": { + "controller-uid": "13844969-d21a-4514-8bed-66157f216af7", + "job-name": "post-install-job", + "kots.io/app-slug": "test", + "kots.io/backup": "velero" + }, + "annotations": { + "kots.io/app-slug": "test" + } + }, + "spec": { + "containers": [ + { + "name": "hook-test", + "image": "alpine", + "command": [ + "sh", + "-c", + "sleep 10" + ], + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Never", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + } + }, + "status": { + "conditions": [ + { + "type": "Failed", + "status": "True", + "lastProbeTime": "2021-10-05T19:11:55Z", + "lastTransitionTime": "2021-10-05T19:11:55Z", + "message": "Job has reached the specified backoff limit", + "reason": "BackoffLimitExceeded" + } + ], + "startTime": "2021-10-05T19:11:43Z", + "completionTime": "2021-10-05T19:11:55Z", + "failed": 1 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/nodes.json b/pkg/analyze/files/support-bundle/cluster-resources/nodes.json new file mode 100644 index 00000000..bae95f8f --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/nodes.json @@ -0,0 +1,2870 @@ +{ + "kind": "NodeList", + "apiVersion": "v1", + "metadata": { + "resourceVersion": "27195722" + }, + "items": [ + { + "apiVersion": "v1", + "kind": "Node", + "metadata": { + "annotations": { + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "creationTimestamp": "2019-10-23T18:16:43Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/os": "linux", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "repldev-marc", + "kubernetes.io/os": "linux", + "microk8s.io/cluster": "true" + }, + "name": "repldev-marc", + "resourceVersion": "1769699", + "selfLink": "/api/v1/nodes/repldev-marc", + "uid": "cd30c57f-b445-437f-9473-f13343124030" + }, + "spec": {}, + "status": { + "addresses": [ + { + "address": "10.168.0.26", + "type": "InternalIP" + }, + { + "address": "repldev-marc", + "type": "Hostname" + } + ], + "allocatable": { + "cpu": "8", + "ephemeral-storage": "1015018628Ki", + "hugepages-1Gi": "0", + "hugepages-2Mi": "0", + "memory": "30770604Ki", + "pods": "110" + }, + "capacity": { + "cpu": "8", + "ephemeral-storage": "1016067204Ki", + "hugepages-1Gi": "0", + "hugepages-2Mi": "0", + "memory": "30873004Ki", + "pods": "110" + }, + "conditions": [ + { + "lastHeartbeatTime": "2019-11-08T17:03:39Z", + "lastTransitionTime": "2019-10-31T21:28:36Z", + "message": "kubelet has sufficient memory available", + "reason": "KubeletHasSufficientMemory", + "status": "False", + "type": "MemoryPressure" + }, + { + "lastHeartbeatTime": "2019-11-08T17:03:39Z", + "lastTransitionTime": "2019-10-31T21:28:36Z", + "message": "kubelet has no disk pressure", + "reason": "KubeletHasNoDiskPressure", + "status": "False", + "type": "DiskPressure" + }, + { + "lastHeartbeatTime": "2019-11-08T17:03:39Z", + "lastTransitionTime": "2019-10-31T21:28:36Z", + "message": "kubelet has sufficient PID available", + "reason": "KubeletHasSufficientPID", + "status": "False", + "type": "PIDPressure" + }, + { + "lastHeartbeatTime": "2019-11-08T17:03:39Z", + "lastTransitionTime": "2019-10-31T21:28:36Z", + "message": "kubelet is posting ready status. AppArmor enabled", + "reason": "KubeletReady", + "status": "True", + "type": "Ready" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "images": [ + { + "names": [ + "localhost:32000/kotsadm-api@sha256:d4821b65869454dfac53ad01f295740df6fcd52711f0dcf6aa9d7e515f7ebe3c" + ], + "sizeBytes": 755312372 + }, + { + "names": [ + "localhost:32000/kotsadm-api@sha256:fc3c971facc9dbd1b07e19c1ebb33c6361dd219af8efed0616afd1278f81fa4e" + ], + "sizeBytes": 755312032 + } + ], + "nodeInfo": { + "architecture": "amd64", + "bootID": "3401cdf2-129c-473d-a50c-723afd7378d3", + "containerRuntimeVersion": "containerd://1.2.5", + "kernelVersion": "5.0.0-1021-gcp", + "kubeProxyVersion": "v1.16.2", + "kubeletVersion": "v1.16.2", + "machineID": "97f4a34d2aa9e26785177a6b64fb9108", + "operatingSystem": "linux", + "osImage": "Ubuntu 18.04.2 LTS", + "systemUUID": "9dc594e5-ac7b-c649-e61f-cad715a28f79" + } + } + }, + { + "metadata": { + "name": "biggernode-3i745", + "selfLink": "/api/v1/nodes/biggernode-3i745", + "uid": "6111596f-2013-4e12-a4b2-b4abfdc16e91", + "resourceVersion": "45488694", + "creationTimestamp": "2020-12-03T22:26:44Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/instance-type": "g-8vcpu-32gb", + "beta.kubernetes.io/os": "linux", + "doks.digitalocean.com/node-id": "f7fadc44-4401-4d53-947c-c569adde7504", + "doks.digitalocean.com/node-pool": "biggernode", + "doks.digitalocean.com/node-pool-id": "af086d58-e8a1-4350-aaa0-c633d63339f2", + "doks.digitalocean.com/version": "1.19.3-do.2", + "failure-domain.beta.kubernetes.io/region": "sfo2", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "biggernode-3i745", + "kubernetes.io/os": "linux", + "node.kubernetes.io/instance-type": "g-8vcpu-32gb", + "region": "sfo2", + "topology.kubernetes.io/region": "sfo2" + }, + "annotations": { + "alpha.kubernetes.io/provided-node-ip": "***HIDDEN***", + "csi.volume.kubernetes.io/nodeid": "{\"dobs.csi.digitalocean.com\":\"219734582\"}", + "io.cilium.network.ipv4-cilium-host": "***HIDDEN***", + "io.cilium.network.ipv4-health-ip": "***HIDDEN***", + "io.cilium.network.ipv4-pod-cidr": "***HIDDEN***/25", + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "managedFields": [ + { + "manager": "digitalocean-cloud-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:26:44Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + "f:beta.kubernetes.io/instance-type": {}, + "f:failure-domain.beta.kubernetes.io/region": {}, + "f:node.kubernetes.io/instance-type": {}, + "f:topology.kubernetes.io/region": {} + } + }, + "f:status": { + "f:addresses": { + "k:{\"type\":\"ExternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "cilium-agent", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:26:52Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:io.cilium.network.ipv4-cilium-host": {}, + "f:io.cilium.network.ipv4-health-ip": {}, + "f:io.cilium.network.ipv4-pod-cidr": {} + } + }, + "f:status": { + "f:conditions": { + "k:{\"type\":\"NetworkUnavailable\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:33:17Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:node.alpha.kubernetes.io/ttl": {} + }, + "f:labels": { + "f:beta.kubernetes.io/arch": {}, + "f:beta.kubernetes.io/os": {} + } + }, + "f:spec": { + "f:podCIDR": {}, + "f:podCIDRs": { + ".": {}, + "v:\"***HIDDEN***/25\"": {} + } + }, + "f:status": { + "f:volumesAttached": {} + } + } + }, + { + "manager": "kubelet", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:42:48Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:alpha.kubernetes.io/provided-node-ip": {}, + "f:csi.volume.kubernetes.io/nodeid": {}, + "f:volumes.kubernetes.io/controller-managed-attach-detach": {} + }, + "f:labels": { + ".": {}, + "f:doks.digitalocean.com/node-id": {}, + "f:doks.digitalocean.com/node-pool": {}, + "f:doks.digitalocean.com/node-pool-id": {}, + "f:doks.digitalocean.com/version": {}, + "f:kubernetes.io/arch": {}, + "f:kubernetes.io/hostname": {}, + "f:kubernetes.io/os": {}, + "f:region": {} + } + }, + "f:spec": { + "f:providerID": {} + }, + "f:status": { + "f:addresses": { + ".": {}, + "k:{\"type\":\"Hostname\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + }, + "k:{\"type\":\"InternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + }, + "f:allocatable": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-1Gi": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:capacity": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-1Gi": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:conditions": { + ".": {}, + "k:{\"type\":\"DiskPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"MemoryPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"PIDPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Ready\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:daemonEndpoints": { + "f:kubeletEndpoint": { + "f:Port": {} + } + }, + "f:images": {}, + "f:nodeInfo": { + "f:architecture": {}, + "f:bootID": {}, + "f:containerRuntimeVersion": {}, + "f:kernelVersion": {}, + "f:kubeProxyVersion": {}, + "f:kubeletVersion": {}, + "f:machineID": {}, + "f:operatingSystem": {}, + "f:osImage": {}, + "f:systemUUID": {} + }, + "f:volumesInUse": {} + } + } + } + ] + }, + "spec": { + "podCIDR": "***HIDDEN***/25", + "podCIDRs": [ + "***HIDDEN***/25" + ], + "providerID": "digitalocean://219734582" + }, + "status": { + "capacity": { + "cpu": "8", + "ephemeral-storage": "103176100Ki", + "hugepages-1Gi": "0", + "hugepages-2Mi": "0", + "memory": "32941864Ki", + "pods": "110" + }, + "allocatable": { + "cpu": "8", + "ephemeral-storage": "95087093603", + "hugepages-1Gi": "0", + "hugepages-2Mi": "0", + "memory": "29222Mi", + "pods": "110" + }, + "conditions": [ + { + "type": "NetworkUnavailable", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:26:52Z", + "lastTransitionTime": "2020-12-03T22:26:52Z", + "reason": "CiliumIsUp", + "message": "Cilium is running on this node" + }, + { + "type": "MemoryPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:48Z", + "lastTransitionTime": "2020-12-03T22:26:43Z", + "reason": "KubeletHasSufficientMemory", + "message": "kubelet has sufficient memory available" + }, + { + "type": "DiskPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:48Z", + "lastTransitionTime": "2020-12-03T22:26:43Z", + "reason": "KubeletHasNoDiskPressure", + "message": "kubelet has no disk pressure" + }, + { + "type": "PIDPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:48Z", + "lastTransitionTime": "2020-12-03T22:26:43Z", + "reason": "KubeletHasSufficientPID", + "message": "kubelet has sufficient PID available" + }, + { + "type": "Ready", + "status": "True", + "lastHeartbeatTime": "2020-12-03T22:42:48Z", + "lastTransitionTime": "2020-12-03T22:26:54Z", + "reason": "KubeletReady", + "message": "kubelet is posting ready status. AppArmor enabled" + } + ], + "addresses": [ + { + "type": "Hostname", + "address": "biggernode-3i745" + }, + { + "type": "InternalIP", + "address": "***HIDDEN***" + }, + { + "type": "ExternalIP", + "address": "***HIDDEN***" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "nodeInfo": { + "machineID": "f1dc61431b674c2dac8039616e53dfde", + "systemUUID": "f1dc6143-1b67-4c2d-ac80-39616e53dfde", + "bootID": "7d9f0bfb-2df9-4e07-a7f0-82355089195e", + "kernelVersion": "4.19.0-11-amd64", + "osImage": "Debian GNU/Linux 10 (buster)", + "containerRuntimeVersion": "docker://19.3.13", + "kubeletVersion": "v1.19.3", + "kubeProxyVersion": "v1.19.3", + "operatingSystem": "linux", + "architecture": "amd64" + }, + "images": [ + { + "names": [ + "digitalocean/doks-debug@sha256:d1a215845d868d1d6b2a6a93cb225a892d61e131954d71b5ef45664d77d8d2c7", + "digitalocean/doks-debug:latest" + ], + "sizeBytes": 752144177 + }, + { + "names": [ + "kotsadm/kotsadm-operator@sha256:ebeb7a03864bfe794114934191411c7456f70263d77112b653a458cd904c8db4", + "kotsadm/kotsadm-operator:v1.24.1" + ], + "sizeBytes": 569543593 + }, + { + "names": [ + "cilium/cilium@sha256:3cbade4c15e7deba6b9a770475beec5e102a9f8e347c28307383a24581ebb6c4", + "cilium/cilium:v1.8.5" + ], + "sizeBytes": 421109795 + }, + { + "names": [ + "kotsadm/kotsadm@sha256:407a514c69c8cc2cd75fe6fab59f4d0b1f0fbb21d5c9ce39f7229ebb41ebd901", + "kotsadm/kotsadm:v1.18.1" + ], + "sizeBytes": 371386086 + }, + { + "names": [ + "kotsadm/kotsadm@sha256:2136d951e201ced55c8da3e11a3cb6405741245158600a95180d86cc178ca042", + "kotsadm/kotsadm:v1.24.1" + ], + "sizeBytes": 331022553 + }, + { + "names": [ + "postgres@sha256:cc8fb6b149b387fed332b5bebd144f810df544e2df514383f82f6e61698b2aea", + "postgres:10.7" + ], + "sizeBytes": 229651900 + }, + { + "names": [ + "nginx@sha256:6b1daa9462046581ac15be20277a7c75476283f969cb3a61c8725ec38d3b01c3", + "nginx:latest" + ], + "sizeBytes": 132895204 + }, + { + "names": [ + "nginx@sha256:c3a1592d2b6d275bef4087573355827b200b00ffc2d9849890a4f3aa2128c4ae", + "nginx:1.19.4" + ], + "sizeBytes": 132890123 + }, + { + "names": [ + "nginx@sha256:8aa7f6a9585d908a63e5e418dc5d14ae7467d2e36e1ab4f0d8f9d059a3d071ce", + "nginx:1.17.7" + ], + "sizeBytes": 126324348 + }, + { + "names": [ + "k8s.gcr.io/kube-apiserver@sha256:6ea8c40355df6c6c47050448e1f88cb4a5d618e9e96717818d4e11fcfe156ee0", + "k8s.gcr.io/kube-apiserver:v1.19.3" + ], + "sizeBytes": 118782314 + }, + { + "names": [ + "k8s.gcr.io/kube-proxy@sha256:1f99b26aad3a90358ad83b4065cf59002b5a913e839b70744caff4a84315a2e7", + "k8s.gcr.io/kube-proxy:v1.19.3" + ], + "sizeBytes": 117686573 + }, + { + "names": [ + "k8s.gcr.io/kube-controller-manager@sha256:1ad35b623b9123c6aab99306ba5427e2829b36b378b9b80a6e988713ac5bffd4", + "k8s.gcr.io/kube-controller-manager:v1.19.3" + ], + "sizeBytes": 110811498 + }, + { + "names": [ + "redis@sha256:82451b5a633f575c3ddd32765b228ae7d3585323dd089903bad29eefe5ac77e5", + "redis:5" + ], + "sizeBytes": 98374025 + }, + { + "names": [ + "k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:d6e51b58808b5abe74b57666114efab748a6d8ba73afdb24cd2a7f91f11c4b1b", + "k8s.gcr.io/autoscaling/cluster-autoscaler:v1.19.0" + ], + "sizeBytes": 90379091 + }, + { + "names": [ + "quay.io/coreos/etcd@sha256:6dde1430abf883cde8f72ee2eea18036b508f47c2f4eda2819f795974ca34cf9", + "quay.io/coreos/etcd:v3.4.9" + ], + "sizeBytes": 83761798 + }, + { + "names": [ + "cilium/operator@sha256:487ac18d5ab4aef03f2d3436a01b1bb1858bd2635f4c7f5793eac4e7438201e3", + "cilium/operator:v1.8.5" + ], + "sizeBytes": 63852651 + }, + { + "names": [ + "digitalocean/digitalocean-cloud-controller-manager@sha256:2646651c6009e8462add1761842e43a7e5de471116aa31af5f1f8b560d13a039", + "digitalocean/digitalocean-cloud-controller-manager:v0.1.30" + ], + "sizeBytes": 62940839 + }, + { + "names": [ + "kotsadm/minio@sha256:3384c64095a62bdc41157a7527f702ce9487e2c196f74130e506ec6567f91793", + "kotsadm/minio:v1.18.1" + ], + "sizeBytes": 50997780 + }, + { + "names": [ + "quay.io/k8scsi/csi-provisioner@sha256:80755314b906a87c9d8b678de14b03605a67e66c704cfc9455bb5b38643402fc", + "quay.io/k8scsi/csi-provisioner:v2.0.2" + ], + "sizeBytes": 50014788 + }, + { + "names": [ + "fluent/fluentd@sha256:b0b9e4fa12844c68af539890e20dc83db807c6872665d5591b71fb2704a1d718", + "fluent/fluentd:v1.7" + ], + "sizeBytes": 49495917 + }, + { + "names": [ + "quay.io/k8scsi/csi-snapshotter@sha256:fe290ee144392f121a8659c6cbadd8080e4ac818459bb1b644d9b4f7fe8d8d40", + "quay.io/k8scsi/csi-snapshotter:v3.0.0" + ], + "sizeBytes": 47970116 + }, + { + "names": [ + "quay.io/k8scsi/csi-resizer@sha256:83655a67f84ac500b67fd0e7084d1eaa9828321d179269171aa0c9bc35ca8ef9", + "quay.io/k8scsi/csi-resizer:v1.0.0" + ], + "sizeBytes": 47793157 + }, + { + "names": [ + "quay.io/k8scsi/csi-attacher@sha256:f141eca4d60481b2a460cbd6720a80e40bb289b0fc7a495f5e80d88eca31d9ba", + "quay.io/k8scsi/csi-attacher:v3.0.0" + ], + "sizeBytes": 47741542 + }, + { + "names": [ + "k8s.gcr.io/kube-scheduler@sha256:54c61fbd9939006a8fe691e308d28636bffd8031af9d53a97214d6e2d27b8720", + "k8s.gcr.io/kube-scheduler:v1.19.3" + ], + "sizeBytes": 45660522 + }, + { + "names": [ + "digitalocean/dosecret-operator@sha256:52c5fc89e2ba4052f9bc0bc2676ed6b806f837ce6c50990b7829a78cff541ac0", + "digitalocean/dosecret-operator:v1.0.2" + ], + "sizeBytes": 43679179 + }, + { + "names": [ + "quay.io/k8scsi/snapshot-controller@sha256:7e4916b2e53f4bf3ae5c4c85cdaf19d7844fa651da58f9e1f07342cc5f7ec35f", + "quay.io/k8scsi/snapshot-controller:v3.0.0" + ], + "sizeBytes": 43155701 + }, + { + "names": [ + "coredns/coredns@sha256:4a6e0769130686518325b21b0c1d0688b54e7c79244d48e1b15634e98e40c6ef", + "coredns/coredns:1.7.1" + ], + "sizeBytes": 42376931 + }, + { + "names": [ + "digitalocean/kubelet-rubber-stamp@sha256:df7e2c099dfeea0702dc93dbd4bc51c999f0148d84d2b288811ee714f5921927", + "digitalocean/kubelet-rubber-stamp:v0.1.1" + ], + "sizeBytes": 37250784 + }, + { + "names": [ + "digitalocean/do-agent@sha256:ca1aa3966b919594b0dfde29bcbc5d86dbfe8f75c20337efeb45cd24baf2b084", + "digitalocean/do-agent:3" + ], + "sizeBytes": 29339790 + }, + { + "names": [ + "digitalocean/do-csi-plugin@sha256:98a6080ca1de825de135caf6a8ab8a3b8ee3423f171d46979d906d32ee97600e", + "digitalocean/do-csi-plugin:v2.1.1" + ], + "sizeBytes": 26389491 + }, + { + "names": [ + "digitalocean/doks-tokenreview@sha256:18602a5ac91d1d9067a0bf25282f55974d63ab60c4e60c5cc8c4134dde1d50fa", + "digitalocean/doks-tokenreview:v0.0.8" + ], + "sizeBytes": 20843793 + }, + { + "names": [ + "quay.io/k8scsi/csi-node-driver-registrar@sha256:a104f0f0ec5fdd007a4a85ffad95a93cfb73dd7e86296d3cc7846fde505248d3", + "quay.io/k8scsi/csi-node-driver-registrar:v2.0.1" + ], + "sizeBytes": 18025755 + }, + { + "names": [ + "curlimages/curl@sha256:cda19aa5a866b225079d5b5b3ea31895c44a5d1cf3bfefe61829af9e690e8dfe", + "curlimages/curl:7.71.0" + ], + "sizeBytes": 11089089 + }, + { + "names": [ + "busybox@sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d", + "busybox:1.30" + ], + "sizeBytes": 1199418 + }, + { + "names": [ + "cilium/cilium-init@sha256:bae879d3a3c2bb599673a01d6bfa0bbf3eeb9887083479dcfb85898479b910ad", + "cilium/cilium-init:2019-04-05" + ], + "sizeBytes": 1146867 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", + "k8s.gcr.io/pause:3.1" + ], + "sizeBytes": 742472 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f", + "k8s.gcr.io/pause:3.2" + ], + "sizeBytes": 682696 + } + ], + "volumesInUse": [ + "kubernetes.io/csi/dobs.csi.digitalocean.com^f00014de-e0d8-11ea-bebe-0a58ac1420fe", + "kubernetes.io/csi/dobs.csi.digitalocean.com^f1260e74-e0d8-11ea-b57d-0a58ac1422bd" + ], + "volumesAttached": [ + { + "name": "kubernetes.io/csi/dobs.csi.digitalocean.com^f00014de-e0d8-11ea-bebe-0a58ac1420fe", + "devicePath": "" + }, + { + "name": "kubernetes.io/csi/dobs.csi.digitalocean.com^f1260e74-e0d8-11ea-b57d-0a58ac1422bd", + "devicePath": "" + } + ] + } + }, + { + "metadata": { + "name": "pool-yd23sqk7u-3i7i7", + "selfLink": "/api/v1/nodes/pool-yd23sqk7u-3i7i7", + "uid": "dd06574a-2858-4407-8fa0-2b1504d7313e", + "resourceVersion": "45488673", + "creationTimestamp": "2020-12-03T22:31:05Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/instance-type": "s-2vcpu-4gb", + "beta.kubernetes.io/os": "linux", + "doks.digitalocean.com/node-id": "b8d5f546-47e1-405c-b3a6-b1981ac46d8f", + "doks.digitalocean.com/node-pool": "pool-yd23sqk7u", + "doks.digitalocean.com/node-pool-id": "a4b78b58-8fd0-4133-b95b-d53e3caaf28e", + "doks.digitalocean.com/version": "1.19.3-do.2", + "failure-domain.beta.kubernetes.io/region": "sfo2", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "pool-yd23sqk7u-3i7i7", + "kubernetes.io/os": "linux", + "node.kubernetes.io/instance-type": "s-2vcpu-4gb", + "region": "sfo2", + "topology.kubernetes.io/region": "sfo2" + }, + "annotations": { + "alpha.kubernetes.io/provided-node-ip": "***HIDDEN***", + "csi.volume.kubernetes.io/nodeid": "{\"dobs.csi.digitalocean.com\":\"219734980\"}", + "io.cilium.network.ipv4-cilium-host": "***HIDDEN***", + "io.cilium.network.ipv4-health-ip": "***HIDDEN***", + "io.cilium.network.ipv4-pod-cidr": "***HIDDEN***/25", + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "managedFields": [ + { + "manager": "digitalocean-cloud-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:31:06Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + "f:beta.kubernetes.io/instance-type": {}, + "f:failure-domain.beta.kubernetes.io/region": {}, + "f:node.kubernetes.io/instance-type": {}, + "f:topology.kubernetes.io/region": {} + } + }, + "f:status": { + "f:addresses": { + "k:{\"type\":\"ExternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "cilium-agent", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:31:15Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:io.cilium.network.ipv4-cilium-host": {}, + "f:io.cilium.network.ipv4-health-ip": {}, + "f:io.cilium.network.ipv4-pod-cidr": {} + } + }, + "f:status": { + "f:conditions": { + "k:{\"type\":\"NetworkUnavailable\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:31:15Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:node.alpha.kubernetes.io/ttl": {} + }, + "f:labels": { + "f:beta.kubernetes.io/arch": {}, + "f:beta.kubernetes.io/os": {} + } + }, + "f:spec": { + "f:podCIDR": {}, + "f:podCIDRs": { + ".": {}, + "v:\"***HIDDEN***/25\"": {} + } + } + } + }, + { + "manager": "kubelet", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:42:39Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:alpha.kubernetes.io/provided-node-ip": {}, + "f:csi.volume.kubernetes.io/nodeid": {}, + "f:volumes.kubernetes.io/controller-managed-attach-detach": {} + }, + "f:labels": { + ".": {}, + "f:doks.digitalocean.com/node-id": {}, + "f:doks.digitalocean.com/node-pool": {}, + "f:doks.digitalocean.com/node-pool-id": {}, + "f:doks.digitalocean.com/version": {}, + "f:kubernetes.io/arch": {}, + "f:kubernetes.io/hostname": {}, + "f:kubernetes.io/os": {}, + "f:region": {} + } + }, + "f:spec": { + "f:providerID": {} + }, + "f:status": { + "f:addresses": { + ".": {}, + "k:{\"type\":\"Hostname\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + }, + "k:{\"type\":\"InternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + }, + "f:allocatable": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:capacity": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:conditions": { + ".": {}, + "k:{\"type\":\"DiskPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"MemoryPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"PIDPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Ready\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:daemonEndpoints": { + "f:kubeletEndpoint": { + "f:Port": {} + } + }, + "f:images": {}, + "f:nodeInfo": { + "f:architecture": {}, + "f:bootID": {}, + "f:containerRuntimeVersion": {}, + "f:kernelVersion": {}, + "f:kubeProxyVersion": {}, + "f:kubeletVersion": {}, + "f:machineID": {}, + "f:operatingSystem": {}, + "f:osImage": {}, + "f:systemUUID": {} + } + } + } + } + ] + }, + "spec": { + "podCIDR": "***HIDDEN***/25", + "podCIDRs": [ + "***HIDDEN***/25" + ], + "providerID": "digitalocean://219734980" + }, + "status": { + "capacity": { + "cpu": "2", + "ephemeral-storage": "82533764Ki", + "hugepages-2Mi": "0", + "memory": "4041568Ki", + "pods": "110" + }, + "allocatable": { + "cpu": "2", + "ephemeral-storage": "76063116777", + "hugepages-2Mi": "0", + "memory": "3110Mi", + "pods": "110" + }, + "conditions": [ + { + "type": "NetworkUnavailable", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:31:15Z", + "lastTransitionTime": "2020-12-03T22:31:15Z", + "reason": "CiliumIsUp", + "message": "Cilium is running on this node" + }, + { + "type": "MemoryPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:39Z", + "lastTransitionTime": "2020-12-03T22:31:05Z", + "reason": "KubeletHasSufficientMemory", + "message": "kubelet has sufficient memory available" + }, + { + "type": "DiskPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:39Z", + "lastTransitionTime": "2020-12-03T22:31:05Z", + "reason": "KubeletHasNoDiskPressure", + "message": "kubelet has no disk pressure" + }, + { + "type": "PIDPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:39Z", + "lastTransitionTime": "2020-12-03T22:31:05Z", + "reason": "KubeletHasSufficientPID", + "message": "kubelet has sufficient PID available" + }, + { + "type": "Ready", + "status": "True", + "lastHeartbeatTime": "2020-12-03T22:42:39Z", + "lastTransitionTime": "2020-12-03T22:31:15Z", + "reason": "KubeletReady", + "message": "kubelet is posting ready status. AppArmor enabled" + } + ], + "addresses": [ + { + "type": "Hostname", + "address": "pool-yd23sqk7u-3i7i7" + }, + { + "type": "InternalIP", + "address": "***HIDDEN***" + }, + { + "type": "ExternalIP", + "address": "***HIDDEN***" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "nodeInfo": { + "machineID": "1339576bba8440239f1ad41ac4c5c8b2", + "systemUUID": "1339576b-ba84-4023-9f1a-d41ac4c5c8b2", + "bootID": "f1f2cf7f-c852-410e-9574-b42a463cda3b", + "kernelVersion": "4.19.0-11-amd64", + "osImage": "Debian GNU/Linux 10 (buster)", + "containerRuntimeVersion": "docker://19.3.13", + "kubeletVersion": "v1.19.3", + "kubeProxyVersion": "v1.19.3", + "operatingSystem": "linux", + "architecture": "amd64" + }, + "images": [ + { + "names": [ + "digitalocean/doks-debug@sha256:d1a215845d868d1d6b2a6a93cb225a892d61e131954d71b5ef45664d77d8d2c7", + "digitalocean/doks-debug:latest" + ], + "sizeBytes": 752144177 + }, + { + "names": [ + "cilium/cilium@sha256:3cbade4c15e7deba6b9a770475beec5e102a9f8e347c28307383a24581ebb6c4", + "cilium/cilium:v1.8.5" + ], + "sizeBytes": 421109795 + }, + { + "names": [ + "nginx@sha256:6b1daa9462046581ac15be20277a7c75476283f969cb3a61c8725ec38d3b01c3", + "nginx:latest" + ], + "sizeBytes": 132895204 + }, + { + "names": [ + "k8s.gcr.io/kube-apiserver@sha256:6ea8c40355df6c6c47050448e1f88cb4a5d618e9e96717818d4e11fcfe156ee0", + "k8s.gcr.io/kube-apiserver:v1.19.3" + ], + "sizeBytes": 118782314 + }, + { + "names": [ + "k8s.gcr.io/kube-proxy@sha256:1f99b26aad3a90358ad83b4065cf59002b5a913e839b70744caff4a84315a2e7", + "k8s.gcr.io/kube-proxy:v1.19.3" + ], + "sizeBytes": 117686573 + }, + { + "names": [ + "k8s.gcr.io/kube-controller-manager@sha256:1ad35b623b9123c6aab99306ba5427e2829b36b378b9b80a6e988713ac5bffd4", + "k8s.gcr.io/kube-controller-manager:v1.19.3" + ], + "sizeBytes": 110811498 + }, + { + "names": [ + "redis@sha256:82451b5a633f575c3ddd32765b228ae7d3585323dd089903bad29eefe5ac77e5", + "redis:5" + ], + "sizeBytes": 98374025 + }, + { + "names": [ + "k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:d6e51b58808b5abe74b57666114efab748a6d8ba73afdb24cd2a7f91f11c4b1b", + "k8s.gcr.io/autoscaling/cluster-autoscaler:v1.19.0" + ], + "sizeBytes": 90379091 + }, + { + "names": [ + "quay.io/coreos/etcd@sha256:6dde1430abf883cde8f72ee2eea18036b508f47c2f4eda2819f795974ca34cf9", + "quay.io/coreos/etcd:v3.4.9" + ], + "sizeBytes": 83761798 + }, + { + "names": [ + "cilium/operator@sha256:487ac18d5ab4aef03f2d3436a01b1bb1858bd2635f4c7f5793eac4e7438201e3", + "cilium/operator:v1.8.5" + ], + "sizeBytes": 63852651 + }, + { + "names": [ + "digitalocean/digitalocean-cloud-controller-manager@sha256:2646651c6009e8462add1761842e43a7e5de471116aa31af5f1f8b560d13a039", + "digitalocean/digitalocean-cloud-controller-manager:v0.1.30" + ], + "sizeBytes": 62940839 + }, + { + "names": [ + "quay.io/k8scsi/csi-provisioner@sha256:80755314b906a87c9d8b678de14b03605a67e66c704cfc9455bb5b38643402fc", + "quay.io/k8scsi/csi-provisioner:v2.0.2" + ], + "sizeBytes": 50014788 + }, + { + "names": [ + "fluent/fluentd@sha256:b0b9e4fa12844c68af539890e20dc83db807c6872665d5591b71fb2704a1d718", + "fluent/fluentd:v1.7" + ], + "sizeBytes": 49495917 + }, + { + "names": [ + "quay.io/k8scsi/csi-snapshotter@sha256:fe290ee144392f121a8659c6cbadd8080e4ac818459bb1b644d9b4f7fe8d8d40", + "quay.io/k8scsi/csi-snapshotter:v3.0.0" + ], + "sizeBytes": 47970116 + }, + { + "names": [ + "quay.io/k8scsi/csi-resizer@sha256:83655a67f84ac500b67fd0e7084d1eaa9828321d179269171aa0c9bc35ca8ef9", + "quay.io/k8scsi/csi-resizer:v1.0.0" + ], + "sizeBytes": 47793157 + }, + { + "names": [ + "quay.io/k8scsi/csi-attacher@sha256:f141eca4d60481b2a460cbd6720a80e40bb289b0fc7a495f5e80d88eca31d9ba", + "quay.io/k8scsi/csi-attacher:v3.0.0" + ], + "sizeBytes": 47741542 + }, + { + "names": [ + "k8s.gcr.io/kube-scheduler@sha256:54c61fbd9939006a8fe691e308d28636bffd8031af9d53a97214d6e2d27b8720", + "k8s.gcr.io/kube-scheduler:v1.19.3" + ], + "sizeBytes": 45660522 + }, + { + "names": [ + "digitalocean/dosecret-operator@sha256:52c5fc89e2ba4052f9bc0bc2676ed6b806f837ce6c50990b7829a78cff541ac0", + "digitalocean/dosecret-operator:v1.0.2" + ], + "sizeBytes": 43679179 + }, + { + "names": [ + "quay.io/k8scsi/snapshot-controller@sha256:7e4916b2e53f4bf3ae5c4c85cdaf19d7844fa651da58f9e1f07342cc5f7ec35f", + "quay.io/k8scsi/snapshot-controller:v3.0.0" + ], + "sizeBytes": 43155701 + }, + { + "names": [ + "coredns/coredns@sha256:4a6e0769130686518325b21b0c1d0688b54e7c79244d48e1b15634e98e40c6ef", + "coredns/coredns:1.7.1" + ], + "sizeBytes": 42376931 + }, + { + "names": [ + "digitalocean/kubelet-rubber-stamp@sha256:df7e2c099dfeea0702dc93dbd4bc51c999f0148d84d2b288811ee714f5921927", + "digitalocean/kubelet-rubber-stamp:v0.1.1" + ], + "sizeBytes": 37250784 + }, + { + "names": [ + "digitalocean/do-agent@sha256:ca1aa3966b919594b0dfde29bcbc5d86dbfe8f75c20337efeb45cd24baf2b084", + "digitalocean/do-agent:3" + ], + "sizeBytes": 29339790 + }, + { + "names": [ + "digitalocean/do-csi-plugin@sha256:98a6080ca1de825de135caf6a8ab8a3b8ee3423f171d46979d906d32ee97600e", + "digitalocean/do-csi-plugin:v2.1.1" + ], + "sizeBytes": 26389491 + }, + { + "names": [ + "digitalocean/doks-tokenreview@sha256:18602a5ac91d1d9067a0bf25282f55974d63ab60c4e60c5cc8c4134dde1d50fa", + "digitalocean/doks-tokenreview:v0.0.8" + ], + "sizeBytes": 20843793 + }, + { + "names": [ + "quay.io/k8scsi/csi-node-driver-registrar@sha256:a104f0f0ec5fdd007a4a85ffad95a93cfb73dd7e86296d3cc7846fde505248d3", + "quay.io/k8scsi/csi-node-driver-registrar:v2.0.1" + ], + "sizeBytes": 18025755 + }, + { + "names": [ + "curlimages/curl@sha256:cda19aa5a866b225079d5b5b3ea31895c44a5d1cf3bfefe61829af9e690e8dfe", + "curlimages/curl:7.71.0" + ], + "sizeBytes": 11089089 + }, + { + "names": [ + "busybox@sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d", + "busybox:1.30" + ], + "sizeBytes": 1199418 + }, + { + "names": [ + "cilium/cilium-init@sha256:bae879d3a3c2bb599673a01d6bfa0bbf3eeb9887083479dcfb85898479b910ad", + "cilium/cilium-init:2019-04-05" + ], + "sizeBytes": 1146867 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", + "k8s.gcr.io/pause:3.1" + ], + "sizeBytes": 742472 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f", + "k8s.gcr.io/pause:3.2" + ], + "sizeBytes": 682696 + } + ] + } + }, + { + "metadata": { + "name": "pool-yd23sqk7u-3i7it", + "selfLink": "/api/v1/nodes/pool-yd23sqk7u-3i7it", + "uid": "bc2fdbc3-2418-4f24-a48c-0255d5a6ea27", + "resourceVersion": "45488667", + "creationTimestamp": "2020-12-03T22:35:33Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/instance-type": "s-2vcpu-4gb", + "beta.kubernetes.io/os": "linux", + "doks.digitalocean.com/node-id": "f973d7f1-16ee-4ac0-87fd-b417a274822d", + "doks.digitalocean.com/node-pool": "pool-yd23sqk7u", + "doks.digitalocean.com/node-pool-id": "a4b78b58-8fd0-4133-b95b-d53e3caaf28e", + "doks.digitalocean.com/version": "1.19.3-do.2", + "failure-domain.beta.kubernetes.io/region": "sfo2", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "pool-yd23sqk7u-3i7it", + "kubernetes.io/os": "linux", + "node.kubernetes.io/instance-type": "s-2vcpu-4gb", + "region": "sfo2", + "topology.kubernetes.io/region": "sfo2" + }, + "annotations": { + "alpha.kubernetes.io/provided-node-ip": "***HIDDEN***", + "csi.volume.kubernetes.io/nodeid": "{\"dobs.csi.digitalocean.com\":\"219736094\"}", + "io.cilium.network.ipv4-cilium-host": "***HIDDEN***", + "io.cilium.network.ipv4-health-ip": "***HIDDEN***", + "io.cilium.network.ipv4-pod-cidr": "***HIDDEN***/25", + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "managedFields": [ + { + "manager": "digitalocean-cloud-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:35:34Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + "f:beta.kubernetes.io/instance-type": {}, + "f:failure-domain.beta.kubernetes.io/region": {}, + "f:node.kubernetes.io/instance-type": {}, + "f:topology.kubernetes.io/region": {} + } + }, + "f:status": { + "f:addresses": { + "k:{\"type\":\"ExternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "cilium-agent", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:35:43Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:io.cilium.network.ipv4-cilium-host": {}, + "f:io.cilium.network.ipv4-health-ip": {}, + "f:io.cilium.network.ipv4-pod-cidr": {} + } + }, + "f:status": { + "f:conditions": { + "k:{\"type\":\"NetworkUnavailable\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:35:43Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:node.alpha.kubernetes.io/ttl": {} + }, + "f:labels": { + "f:beta.kubernetes.io/arch": {}, + "f:beta.kubernetes.io/os": {} + } + }, + "f:spec": { + "f:podCIDR": {}, + "f:podCIDRs": { + ".": {}, + "v:\"***HIDDEN***/25\"": {} + } + } + } + }, + { + "manager": "kubelet", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:42:37Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:alpha.kubernetes.io/provided-node-ip": {}, + "f:csi.volume.kubernetes.io/nodeid": {}, + "f:volumes.kubernetes.io/controller-managed-attach-detach": {} + }, + "f:labels": { + ".": {}, + "f:doks.digitalocean.com/node-id": {}, + "f:doks.digitalocean.com/node-pool": {}, + "f:doks.digitalocean.com/node-pool-id": {}, + "f:doks.digitalocean.com/version": {}, + "f:kubernetes.io/arch": {}, + "f:kubernetes.io/hostname": {}, + "f:kubernetes.io/os": {}, + "f:region": {} + } + }, + "f:spec": { + "f:providerID": {} + }, + "f:status": { + "f:addresses": { + ".": {}, + "k:{\"type\":\"Hostname\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + }, + "k:{\"type\":\"InternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + }, + "f:allocatable": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:capacity": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:conditions": { + ".": {}, + "k:{\"type\":\"DiskPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"MemoryPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"PIDPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Ready\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:daemonEndpoints": { + "f:kubeletEndpoint": { + "f:Port": {} + } + }, + "f:images": {}, + "f:nodeInfo": { + "f:architecture": {}, + "f:bootID": {}, + "f:containerRuntimeVersion": {}, + "f:kernelVersion": {}, + "f:kubeProxyVersion": {}, + "f:kubeletVersion": {}, + "f:machineID": {}, + "f:operatingSystem": {}, + "f:osImage": {}, + "f:systemUUID": {} + } + } + } + } + ] + }, + "spec": { + "podCIDR": "***HIDDEN***/25", + "podCIDRs": [ + "***HIDDEN***/25" + ], + "providerID": "digitalocean://219736094" + }, + "status": { + "capacity": { + "cpu": "2", + "ephemeral-storage": "82533764Ki", + "hugepages-2Mi": "0", + "memory": "4041600Ki", + "pods": "110" + }, + "allocatable": { + "cpu": "2", + "ephemeral-storage": "76063116777", + "hugepages-2Mi": "0", + "memory": "3110Mi", + "pods": "110" + }, + "conditions": [ + { + "type": "NetworkUnavailable", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:35:43Z", + "lastTransitionTime": "2020-12-03T22:35:43Z", + "reason": "CiliumIsUp", + "message": "Cilium is running on this node" + }, + { + "type": "MemoryPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:37Z", + "lastTransitionTime": "2020-12-03T22:35:32Z", + "reason": "KubeletHasSufficientMemory", + "message": "kubelet has sufficient memory available" + }, + { + "type": "DiskPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:37Z", + "lastTransitionTime": "2020-12-03T22:35:32Z", + "reason": "KubeletHasNoDiskPressure", + "message": "kubelet has no disk pressure" + }, + { + "type": "PIDPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:37Z", + "lastTransitionTime": "2020-12-03T22:35:32Z", + "reason": "KubeletHasSufficientPID", + "message": "kubelet has sufficient PID available" + }, + { + "type": "Ready", + "status": "True", + "lastHeartbeatTime": "2020-12-03T22:42:37Z", + "lastTransitionTime": "2020-12-03T22:35:43Z", + "reason": "KubeletReady", + "message": "kubelet is posting ready status. AppArmor enabled" + } + ], + "addresses": [ + { + "type": "Hostname", + "address": "pool-yd23sqk7u-3i7it" + }, + { + "type": "InternalIP", + "address": "***HIDDEN***" + }, + { + "type": "ExternalIP", + "address": "***HIDDEN***" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "nodeInfo": { + "machineID": "502cdcb6e2ec4abe81f79cae84aa8bf4", + "systemUUID": "502cdcb6-e2ec-4abe-81f7-9cae84aa8bf4", + "bootID": "0624450e-6ac3-453c-82a1-e3fb9805cb2b", + "kernelVersion": "4.19.0-11-amd64", + "osImage": "Debian GNU/Linux 10 (buster)", + "containerRuntimeVersion": "docker://19.3.13", + "kubeletVersion": "v1.19.3", + "kubeProxyVersion": "v1.19.3", + "operatingSystem": "linux", + "architecture": "amd64" + }, + "images": [ + { + "names": [ + "digitalocean/doks-debug@sha256:d1a215845d868d1d6b2a6a93cb225a892d61e131954d71b5ef45664d77d8d2c7", + "digitalocean/doks-debug:latest" + ], + "sizeBytes": 752144177 + }, + { + "names": [ + "cilium/cilium@sha256:3cbade4c15e7deba6b9a770475beec5e102a9f8e347c28307383a24581ebb6c4", + "cilium/cilium:v1.8.5" + ], + "sizeBytes": 421109795 + }, + { + "names": [ + "nginx@sha256:6b1daa9462046581ac15be20277a7c75476283f969cb3a61c8725ec38d3b01c3", + "nginx:latest" + ], + "sizeBytes": 132895204 + }, + { + "names": [ + "nginx@sha256:c3a1592d2b6d275bef4087573355827b200b00ffc2d9849890a4f3aa2128c4ae", + "nginx:1.19.4" + ], + "sizeBytes": 132890123 + }, + { + "names": [ + "k8s.gcr.io/kube-apiserver@sha256:6ea8c40355df6c6c47050448e1f88cb4a5d618e9e96717818d4e11fcfe156ee0", + "k8s.gcr.io/kube-apiserver:v1.19.3" + ], + "sizeBytes": 118782314 + }, + { + "names": [ + "k8s.gcr.io/kube-proxy@sha256:1f99b26aad3a90358ad83b4065cf59002b5a913e839b70744caff4a84315a2e7", + "k8s.gcr.io/kube-proxy:v1.19.3" + ], + "sizeBytes": 117686573 + }, + { + "names": [ + "k8s.gcr.io/kube-controller-manager@sha256:1ad35b623b9123c6aab99306ba5427e2829b36b378b9b80a6e988713ac5bffd4", + "k8s.gcr.io/kube-controller-manager:v1.19.3" + ], + "sizeBytes": 110811498 + }, + { + "names": [ + "redis@sha256:82451b5a633f575c3ddd32765b228ae7d3585323dd089903bad29eefe5ac77e5", + "redis:5" + ], + "sizeBytes": 98374025 + }, + { + "names": [ + "k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:d6e51b58808b5abe74b57666114efab748a6d8ba73afdb24cd2a7f91f11c4b1b", + "k8s.gcr.io/autoscaling/cluster-autoscaler:v1.19.0" + ], + "sizeBytes": 90379091 + }, + { + "names": [ + "quay.io/coreos/etcd@sha256:6dde1430abf883cde8f72ee2eea18036b508f47c2f4eda2819f795974ca34cf9", + "quay.io/coreos/etcd:v3.4.9" + ], + "sizeBytes": 83761798 + }, + { + "names": [ + "cilium/operator@sha256:487ac18d5ab4aef03f2d3436a01b1bb1858bd2635f4c7f5793eac4e7438201e3", + "cilium/operator:v1.8.5" + ], + "sizeBytes": 63852651 + }, + { + "names": [ + "digitalocean/digitalocean-cloud-controller-manager@sha256:2646651c6009e8462add1761842e43a7e5de471116aa31af5f1f8b560d13a039", + "digitalocean/digitalocean-cloud-controller-manager:v0.1.30" + ], + "sizeBytes": 62940839 + }, + { + "names": [ + "quay.io/k8scsi/csi-provisioner@sha256:80755314b906a87c9d8b678de14b03605a67e66c704cfc9455bb5b38643402fc", + "quay.io/k8scsi/csi-provisioner:v2.0.2" + ], + "sizeBytes": 50014788 + }, + { + "names": [ + "quay.io/k8scsi/csi-snapshotter@sha256:fe290ee144392f121a8659c6cbadd8080e4ac818459bb1b644d9b4f7fe8d8d40", + "quay.io/k8scsi/csi-snapshotter:v3.0.0" + ], + "sizeBytes": 47970116 + }, + { + "names": [ + "quay.io/k8scsi/csi-resizer@sha256:83655a67f84ac500b67fd0e7084d1eaa9828321d179269171aa0c9bc35ca8ef9", + "quay.io/k8scsi/csi-resizer:v1.0.0" + ], + "sizeBytes": 47793157 + }, + { + "names": [ + "quay.io/k8scsi/csi-attacher@sha256:f141eca4d60481b2a460cbd6720a80e40bb289b0fc7a495f5e80d88eca31d9ba", + "quay.io/k8scsi/csi-attacher:v3.0.0" + ], + "sizeBytes": 47741542 + }, + { + "names": [ + "k8s.gcr.io/kube-scheduler@sha256:54c61fbd9939006a8fe691e308d28636bffd8031af9d53a97214d6e2d27b8720", + "k8s.gcr.io/kube-scheduler:v1.19.3" + ], + "sizeBytes": 45660522 + }, + { + "names": [ + "digitalocean/dosecret-operator@sha256:52c5fc89e2ba4052f9bc0bc2676ed6b806f837ce6c50990b7829a78cff541ac0", + "digitalocean/dosecret-operator:v1.0.2" + ], + "sizeBytes": 43679179 + }, + { + "names": [ + "quay.io/k8scsi/snapshot-controller@sha256:7e4916b2e53f4bf3ae5c4c85cdaf19d7844fa651da58f9e1f07342cc5f7ec35f", + "quay.io/k8scsi/snapshot-controller:v3.0.0" + ], + "sizeBytes": 43155701 + }, + { + "names": [ + "coredns/coredns@sha256:4a6e0769130686518325b21b0c1d0688b54e7c79244d48e1b15634e98e40c6ef", + "coredns/coredns:1.7.1" + ], + "sizeBytes": 42376931 + }, + { + "names": [ + "digitalocean/kubelet-rubber-stamp@sha256:df7e2c099dfeea0702dc93dbd4bc51c999f0148d84d2b288811ee714f5921927", + "digitalocean/kubelet-rubber-stamp:v0.1.1" + ], + "sizeBytes": 37250784 + }, + { + "names": [ + "digitalocean/do-agent@sha256:ca1aa3966b919594b0dfde29bcbc5d86dbfe8f75c20337efeb45cd24baf2b084", + "digitalocean/do-agent:3" + ], + "sizeBytes": 29339790 + }, + { + "names": [ + "digitalocean/do-csi-plugin@sha256:98a6080ca1de825de135caf6a8ab8a3b8ee3423f171d46979d906d32ee97600e", + "digitalocean/do-csi-plugin:v2.1.1" + ], + "sizeBytes": 26389491 + }, + { + "names": [ + "digitalocean/doks-tokenreview@sha256:18602a5ac91d1d9067a0bf25282f55974d63ab60c4e60c5cc8c4134dde1d50fa", + "digitalocean/doks-tokenreview:v0.0.8" + ], + "sizeBytes": 20843793 + }, + { + "names": [ + "quay.io/k8scsi/csi-node-driver-registrar@sha256:a104f0f0ec5fdd007a4a85ffad95a93cfb73dd7e86296d3cc7846fde505248d3", + "quay.io/k8scsi/csi-node-driver-registrar:v2.0.1" + ], + "sizeBytes": 18025755 + }, + { + "names": [ + "curlimages/curl@sha256:cda19aa5a866b225079d5b5b3ea31895c44a5d1cf3bfefe61829af9e690e8dfe", + "curlimages/curl:7.71.0" + ], + "sizeBytes": 11089089 + }, + { + "names": [ + "busybox@sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d", + "busybox:1.30" + ], + "sizeBytes": 1199418 + }, + { + "names": [ + "cilium/cilium-init@sha256:bae879d3a3c2bb599673a01d6bfa0bbf3eeb9887083479dcfb85898479b910ad", + "cilium/cilium-init:2019-04-05" + ], + "sizeBytes": 1146867 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", + "k8s.gcr.io/pause:3.1" + ], + "sizeBytes": 742472 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f", + "k8s.gcr.io/pause:3.2" + ], + "sizeBytes": 682696 + } + ] + } + }, + { + "metadata": { + "name": "pool-yd23sqk7u-3i7v3", + "selfLink": "/api/v1/nodes/pool-yd23sqk7u-3i7v3", + "uid": "df8a4f35-7a8d-40bf-8c83-558c1f1801d2", + "resourceVersion": "45489013", + "creationTimestamp": "2020-12-03T22:40:06Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/instance-type": "s-2vcpu-4gb", + "beta.kubernetes.io/os": "linux", + "doks.digitalocean.com/node-id": "42cb61d6-03ec-4738-9e83-5daa589d16ab", + "doks.digitalocean.com/node-pool": "pool-yd23sqk7u", + "doks.digitalocean.com/node-pool-id": "a4b78b58-8fd0-4133-b95b-d53e3caaf28e", + "doks.digitalocean.com/version": "1.19.3-do.2", + "failure-domain.beta.kubernetes.io/region": "sfo2", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "pool-yd23sqk7u-3i7v3", + "kubernetes.io/os": "linux", + "node.kubernetes.io/instance-type": "s-2vcpu-4gb", + "region": "sfo2", + "topology.kubernetes.io/region": "sfo2" + }, + "annotations": { + "alpha.kubernetes.io/provided-node-ip": "***HIDDEN***", + "csi.volume.kubernetes.io/nodeid": "{\"dobs.csi.digitalocean.com\":\"219736487\"}", + "io.cilium.network.ipv4-cilium-host": "***HIDDEN***", + "io.cilium.network.ipv4-health-ip": "***HIDDEN***", + "io.cilium.network.ipv4-pod-cidr": "***HIDDEN***/25", + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "managedFields": [ + { + "manager": "digitalocean-cloud-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:40:07Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + "f:beta.kubernetes.io/instance-type": {}, + "f:failure-domain.beta.kubernetes.io/region": {}, + "f:node.kubernetes.io/instance-type": {}, + "f:topology.kubernetes.io/region": {} + } + }, + "f:status": { + "f:addresses": { + "k:{\"type\":\"ExternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "cilium-agent", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:40:15Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:io.cilium.network.ipv4-cilium-host": {}, + "f:io.cilium.network.ipv4-health-ip": {}, + "f:io.cilium.network.ipv4-pod-cidr": {} + } + }, + "f:status": { + "f:conditions": { + "k:{\"type\":\"NetworkUnavailable\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:40:16Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:node.alpha.kubernetes.io/ttl": {} + }, + "f:labels": { + "f:beta.kubernetes.io/arch": {}, + "f:beta.kubernetes.io/os": {} + } + }, + "f:spec": { + "f:podCIDR": {}, + "f:podCIDRs": { + ".": {}, + "v:\"***HIDDEN***/25\"": {} + } + } + } + }, + { + "manager": "kubelet", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:45:37Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:alpha.kubernetes.io/provided-node-ip": {}, + "f:csi.volume.kubernetes.io/nodeid": {}, + "f:volumes.kubernetes.io/controller-managed-attach-detach": {} + }, + "f:labels": { + ".": {}, + "f:doks.digitalocean.com/node-id": {}, + "f:doks.digitalocean.com/node-pool": {}, + "f:doks.digitalocean.com/node-pool-id": {}, + "f:doks.digitalocean.com/version": {}, + "f:kubernetes.io/arch": {}, + "f:kubernetes.io/hostname": {}, + "f:kubernetes.io/os": {}, + "f:region": {} + } + }, + "f:spec": { + "f:providerID": {} + }, + "f:status": { + "f:addresses": { + ".": {}, + "k:{\"type\":\"Hostname\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + }, + "k:{\"type\":\"InternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + }, + "f:allocatable": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:capacity": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:conditions": { + ".": {}, + "k:{\"type\":\"DiskPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"MemoryPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"PIDPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Ready\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:daemonEndpoints": { + "f:kubeletEndpoint": { + "f:Port": {} + } + }, + "f:images": {}, + "f:nodeInfo": { + "f:architecture": {}, + "f:bootID": {}, + "f:containerRuntimeVersion": {}, + "f:kernelVersion": {}, + "f:kubeProxyVersion": {}, + "f:kubeletVersion": {}, + "f:machineID": {}, + "f:operatingSystem": {}, + "f:osImage": {}, + "f:systemUUID": {} + } + } + } + } + ] + }, + "spec": { + "podCIDR": "***HIDDEN***/25", + "podCIDRs": [ + "***HIDDEN***/25" + ], + "providerID": "digitalocean://219736487" + }, + "status": { + "capacity": { + "cpu": "2", + "ephemeral-storage": "82533764Ki", + "hugepages-2Mi": "0", + "memory": "4041568Ki", + "pods": "110" + }, + "allocatable": { + "cpu": "2", + "ephemeral-storage": "76063116777", + "hugepages-2Mi": "0", + "memory": "3110Mi", + "pods": "110" + }, + "conditions": [ + { + "type": "NetworkUnavailable", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:40:15Z", + "lastTransitionTime": "2020-12-03T22:40:15Z", + "reason": "CiliumIsUp", + "message": "Cilium is running on this node" + }, + { + "type": "MemoryPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:45:37Z", + "lastTransitionTime": "2020-12-03T22:40:05Z", + "reason": "KubeletHasSufficientMemory", + "message": "kubelet has sufficient memory available" + }, + { + "type": "DiskPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:45:37Z", + "lastTransitionTime": "2020-12-03T22:40:05Z", + "reason": "KubeletHasNoDiskPressure", + "message": "kubelet has no disk pressure" + }, + { + "type": "PIDPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:45:37Z", + "lastTransitionTime": "2020-12-03T22:40:05Z", + "reason": "KubeletHasSufficientPID", + "message": "kubelet has sufficient PID available" + }, + { + "type": "Ready", + "status": "True", + "lastHeartbeatTime": "2020-12-03T22:45:37Z", + "lastTransitionTime": "2020-12-03T22:40:16Z", + "reason": "KubeletReady", + "message": "kubelet is posting ready status. AppArmor enabled" + } + ], + "addresses": [ + { + "type": "Hostname", + "address": "pool-yd23sqk7u-3i7v3" + }, + { + "type": "InternalIP", + "address": "***HIDDEN***" + }, + { + "type": "ExternalIP", + "address": "***HIDDEN***" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "nodeInfo": { + "machineID": "df961f4f45ea431daec4318c724a62ba", + "systemUUID": "df961f4f-45ea-431d-aec4-318c724a62ba", + "bootID": "e381312f-f0eb-4139-804d-9987c6bbc8dd", + "kernelVersion": "4.19.0-11-amd64", + "osImage": "Debian GNU/Linux 10 (buster)", + "containerRuntimeVersion": "docker://19.3.13", + "kubeletVersion": "v1.19.3", + "kubeProxyVersion": "v1.19.3", + "operatingSystem": "linux", + "architecture": "amd64" + }, + "images": [ + { + "names": [ + "digitalocean/doks-debug@sha256:d1a215845d868d1d6b2a6a93cb225a892d61e131954d71b5ef45664d77d8d2c7", + "digitalocean/doks-debug:latest" + ], + "sizeBytes": 752144177 + }, + { + "names": [ + "cilium/cilium@sha256:3cbade4c15e7deba6b9a770475beec5e102a9f8e347c28307383a24581ebb6c4", + "cilium/cilium:v1.8.5" + ], + "sizeBytes": 421109795 + }, + { + "names": [ + "k8s.gcr.io/kube-apiserver@sha256:6ea8c40355df6c6c47050448e1f88cb4a5d618e9e96717818d4e11fcfe156ee0", + "k8s.gcr.io/kube-apiserver:v1.19.3" + ], + "sizeBytes": 118782314 + }, + { + "names": [ + "k8s.gcr.io/kube-proxy@sha256:1f99b26aad3a90358ad83b4065cf59002b5a913e839b70744caff4a84315a2e7", + "k8s.gcr.io/kube-proxy:v1.19.3" + ], + "sizeBytes": 117686573 + }, + { + "names": [ + "k8s.gcr.io/kube-controller-manager@sha256:1ad35b623b9123c6aab99306ba5427e2829b36b378b9b80a6e988713ac5bffd4", + "k8s.gcr.io/kube-controller-manager:v1.19.3" + ], + "sizeBytes": 110811498 + }, + { + "names": [ + "k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:d6e51b58808b5abe74b57666114efab748a6d8ba73afdb24cd2a7f91f11c4b1b", + "k8s.gcr.io/autoscaling/cluster-autoscaler:v1.19.0" + ], + "sizeBytes": 90379091 + }, + { + "names": [ + "quay.io/coreos/etcd@sha256:6dde1430abf883cde8f72ee2eea18036b508f47c2f4eda2819f795974ca34cf9", + "quay.io/coreos/etcd:v3.4.9" + ], + "sizeBytes": 83761798 + }, + { + "names": [ + "cilium/operator@sha256:487ac18d5ab4aef03f2d3436a01b1bb1858bd2635f4c7f5793eac4e7438201e3", + "cilium/operator:v1.8.5" + ], + "sizeBytes": 63852651 + }, + { + "names": [ + "digitalocean/digitalocean-cloud-controller-manager@sha256:2646651c6009e8462add1761842e43a7e5de471116aa31af5f1f8b560d13a039", + "digitalocean/digitalocean-cloud-controller-manager:v0.1.30" + ], + "sizeBytes": 62940839 + }, + { + "names": [ + "quay.io/k8scsi/csi-provisioner@sha256:80755314b906a87c9d8b678de14b03605a67e66c704cfc9455bb5b38643402fc", + "quay.io/k8scsi/csi-provisioner:v2.0.2" + ], + "sizeBytes": 50014788 + }, + { + "names": [ + "quay.io/k8scsi/csi-snapshotter@sha256:fe290ee144392f121a8659c6cbadd8080e4ac818459bb1b644d9b4f7fe8d8d40", + "quay.io/k8scsi/csi-snapshotter:v3.0.0" + ], + "sizeBytes": 47970116 + }, + { + "names": [ + "quay.io/k8scsi/csi-resizer@sha256:83655a67f84ac500b67fd0e7084d1eaa9828321d179269171aa0c9bc35ca8ef9", + "quay.io/k8scsi/csi-resizer:v1.0.0" + ], + "sizeBytes": 47793157 + }, + { + "names": [ + "quay.io/k8scsi/csi-attacher@sha256:f141eca4d60481b2a460cbd6720a80e40bb289b0fc7a495f5e80d88eca31d9ba", + "quay.io/k8scsi/csi-attacher:v3.0.0" + ], + "sizeBytes": 47741542 + }, + { + "names": [ + "k8s.gcr.io/kube-scheduler@sha256:54c61fbd9939006a8fe691e308d28636bffd8031af9d53a97214d6e2d27b8720", + "k8s.gcr.io/kube-scheduler:v1.19.3" + ], + "sizeBytes": 45660522 + }, + { + "names": [ + "digitalocean/dosecret-operator@sha256:52c5fc89e2ba4052f9bc0bc2676ed6b806f837ce6c50990b7829a78cff541ac0", + "digitalocean/dosecret-operator:v1.0.2" + ], + "sizeBytes": 43679179 + }, + { + "names": [ + "quay.io/k8scsi/snapshot-controller@sha256:7e4916b2e53f4bf3ae5c4c85cdaf19d7844fa651da58f9e1f07342cc5f7ec35f", + "quay.io/k8scsi/snapshot-controller:v3.0.0" + ], + "sizeBytes": 43155701 + }, + { + "names": [ + "coredns/coredns@sha256:4a6e0769130686518325b21b0c1d0688b54e7c79244d48e1b15634e98e40c6ef", + "coredns/coredns:1.7.1" + ], + "sizeBytes": 42376931 + }, + { + "names": [ + "digitalocean/kubelet-rubber-stamp@sha256:df7e2c099dfeea0702dc93dbd4bc51c999f0148d84d2b288811ee714f5921927", + "digitalocean/kubelet-rubber-stamp:v0.1.1" + ], + "sizeBytes": 37250784 + }, + { + "names": [ + "digitalocean/do-agent@sha256:ca1aa3966b919594b0dfde29bcbc5d86dbfe8f75c20337efeb45cd24baf2b084", + "digitalocean/do-agent:3" + ], + "sizeBytes": 29339790 + }, + { + "names": [ + "digitalocean/do-csi-plugin@sha256:98a6080ca1de825de135caf6a8ab8a3b8ee3423f171d46979d906d32ee97600e", + "digitalocean/do-csi-plugin:v2.1.1" + ], + "sizeBytes": 26389491 + }, + { + "names": [ + "digitalocean/doks-tokenreview@sha256:18602a5ac91d1d9067a0bf25282f55974d63ab60c4e60c5cc8c4134dde1d50fa", + "digitalocean/doks-tokenreview:v0.0.8" + ], + "sizeBytes": 20843793 + }, + { + "names": [ + "quay.io/k8scsi/csi-node-driver-registrar@sha256:a104f0f0ec5fdd007a4a85ffad95a93cfb73dd7e86296d3cc7846fde505248d3", + "quay.io/k8scsi/csi-node-driver-registrar:v2.0.1" + ], + "sizeBytes": 18025755 + }, + { + "names": [ + "curlimages/curl@sha256:cda19aa5a866b225079d5b5b3ea31895c44a5d1cf3bfefe61829af9e690e8dfe", + "curlimages/curl:7.71.0" + ], + "sizeBytes": 11089089 + }, + { + "names": [ + "busybox@sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d", + "busybox:1.30" + ], + "sizeBytes": 1199418 + }, + { + "names": [ + "cilium/cilium-init@sha256:bae879d3a3c2bb599673a01d6bfa0bbf3eeb9887083479dcfb85898479b910ad", + "cilium/cilium-init:2019-04-05" + ], + "sizeBytes": 1146867 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", + "k8s.gcr.io/pause:3.1" + ], + "sizeBytes": 742472 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f", + "k8s.gcr.io/pause:3.2" + ], + "sizeBytes": 682696 + } + ] + } + }, + { + "metadata": { + "name": "smallnode-3i74t", + "selfLink": "/api/v1/nodes/smallnode-3i74t", + "uid": "0eb3a97a-5fae-40de-99a4-4fa9c76c979f", + "resourceVersion": "45488658", + "creationTimestamp": "2020-12-03T22:26:59Z", + "labels": { + "beta.kubernetes.io/arch": "amd64", + "beta.kubernetes.io/instance-type": "s-1vcpu-2gb", + "beta.kubernetes.io/os": "linux", + "doks.digitalocean.com/node-id": "9fe332f9-1783-4200-94f2-c24424237fc0", + "doks.digitalocean.com/node-pool": "smallnode", + "doks.digitalocean.com/node-pool-id": "357601ea-4f8d-4ff5-aa84-ad036a9518ea", + "doks.digitalocean.com/version": "1.19.3-do.2", + "failure-domain.beta.kubernetes.io/region": "sfo2", + "kubernetes.io/arch": "amd64", + "kubernetes.io/hostname": "smallnode-3i74t", + "kubernetes.io/os": "linux", + "node.kubernetes.io/instance-type": "s-1vcpu-2gb", + "region": "sfo2", + "topology.kubernetes.io/region": "sfo2" + }, + "annotations": { + "alpha.kubernetes.io/provided-node-ip": "***HIDDEN***", + "csi.volume.kubernetes.io/nodeid": "{\"dobs.csi.digitalocean.com\":\"219734583\"}", + "io.cilium.network.ipv4-cilium-host": "***HIDDEN***", + "io.cilium.network.ipv4-health-ip": "***HIDDEN***", + "io.cilium.network.ipv4-pod-cidr": "***HIDDEN***/25", + "node.alpha.kubernetes.io/ttl": "0", + "volumes.kubernetes.io/controller-managed-attach-detach": "true" + }, + "managedFields": [ + { + "manager": "digitalocean-cloud-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:27:00Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:labels": { + "f:beta.kubernetes.io/instance-type": {}, + "f:failure-domain.beta.kubernetes.io/region": {}, + "f:node.kubernetes.io/instance-type": {}, + "f:topology.kubernetes.io/region": {} + } + }, + "f:status": { + "f:addresses": { + "k:{\"type\":\"ExternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "cilium-agent", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:27:11Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:io.cilium.network.ipv4-cilium-host": {}, + "f:io.cilium.network.ipv4-health-ip": {}, + "f:io.cilium.network.ipv4-pod-cidr": {} + } + }, + "f:status": { + "f:conditions": { + "k:{\"type\":\"NetworkUnavailable\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:27:19Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + "f:node.alpha.kubernetes.io/ttl": {} + }, + "f:labels": { + "f:beta.kubernetes.io/arch": {}, + "f:beta.kubernetes.io/os": {} + } + }, + "f:spec": { + "f:podCIDR": {}, + "f:podCIDRs": { + ".": {}, + "v:\"***HIDDEN***/25\"": {} + } + } + } + }, + { + "manager": "kubelet", + "operation": "Update", + "apiVersion": "v1", + "time": "2020-12-03T22:42:33Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:alpha.kubernetes.io/provided-node-ip": {}, + "f:csi.volume.kubernetes.io/nodeid": {}, + "f:volumes.kubernetes.io/controller-managed-attach-detach": {} + }, + "f:labels": { + ".": {}, + "f:doks.digitalocean.com/node-id": {}, + "f:doks.digitalocean.com/node-pool": {}, + "f:doks.digitalocean.com/node-pool-id": {}, + "f:doks.digitalocean.com/version": {}, + "f:kubernetes.io/arch": {}, + "f:kubernetes.io/hostname": {}, + "f:kubernetes.io/os": {}, + "f:region": {} + } + }, + "f:spec": { + "f:providerID": {} + }, + "f:status": { + "f:addresses": { + ".": {}, + "k:{\"type\":\"Hostname\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + }, + "k:{\"type\":\"InternalIP\"}": { + ".": {}, + "f:address": {}, + "f:type": {} + } + }, + "f:allocatable": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:capacity": { + ".": {}, + "f:cpu": {}, + "f:ephemeral-storage": {}, + "f:hugepages-2Mi": {}, + "f:memory": {}, + "f:pods": {} + }, + "f:conditions": { + ".": {}, + "k:{\"type\":\"DiskPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"MemoryPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"PIDPressure\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + }, + "k:{\"type\":\"Ready\"}": { + ".": {}, + "f:lastHeartbeatTime": {}, + "f:lastTransitionTime": {}, + "f:message": {}, + "f:reason": {}, + "f:status": {}, + "f:type": {} + } + }, + "f:daemonEndpoints": { + "f:kubeletEndpoint": { + "f:Port": {} + } + }, + "f:images": {}, + "f:nodeInfo": { + "f:architecture": {}, + "f:bootID": {}, + "f:containerRuntimeVersion": {}, + "f:kernelVersion": {}, + "f:kubeProxyVersion": {}, + "f:kubeletVersion": {}, + "f:machineID": {}, + "f:operatingSystem": {}, + "f:osImage": {}, + "f:systemUUID": {} + } + } + } + } + ] + }, + "spec": { + "podCIDR": "***HIDDEN***/25", + "podCIDRs": [ + "***HIDDEN***/25" + ], + "providerID": "digitalocean://219734583" + }, + "status": { + "capacity": { + "cpu": "1", + "ephemeral-storage": "51570124Ki", + "hugepages-2Mi": "0", + "memory": "2043320Ki", + "pods": "110" + }, + "allocatable": { + "cpu": "1", + "ephemeral-storage": "47527026200", + "hugepages-2Mi": "0", + "memory": "1574Mi", + "pods": "110" + }, + "conditions": [ + { + "type": "NetworkUnavailable", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:27:11Z", + "lastTransitionTime": "2020-12-03T22:27:11Z", + "reason": "CiliumIsUp", + "message": "Cilium is running on this node" + }, + { + "type": "MemoryPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:33Z", + "lastTransitionTime": "2020-12-03T22:26:59Z", + "reason": "KubeletHasSufficientMemory", + "message": "kubelet has sufficient memory available" + }, + { + "type": "DiskPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:33Z", + "lastTransitionTime": "2020-12-03T22:26:59Z", + "reason": "KubeletHasNoDiskPressure", + "message": "kubelet has no disk pressure" + }, + { + "type": "PIDPressure", + "status": "False", + "lastHeartbeatTime": "2020-12-03T22:42:33Z", + "lastTransitionTime": "2020-12-03T22:26:59Z", + "reason": "KubeletHasSufficientPID", + "message": "kubelet has sufficient PID available" + }, + { + "type": "Ready", + "status": "True", + "lastHeartbeatTime": "2020-12-03T22:42:33Z", + "lastTransitionTime": "2020-12-03T22:27:19Z", + "reason": "KubeletReady", + "message": "kubelet is posting ready status. AppArmor enabled" + } + ], + "addresses": [ + { + "type": "Hostname", + "address": "smallnode-3i74t" + }, + { + "type": "InternalIP", + "address": "***HIDDEN***" + }, + { + "type": "ExternalIP", + "address": "***HIDDEN***" + } + ], + "daemonEndpoints": { + "kubeletEndpoint": { + "Port": 10250 + } + }, + "nodeInfo": { + "machineID": "4d7db425940b4e61822831735849c939", + "systemUUID": "4d7db425-940b-4e61-8228-31735849c939", + "bootID": "ee8362fc-6a1b-4f99-bcdb-8eea3380e16f", + "kernelVersion": "4.19.0-11-amd64", + "osImage": "Debian GNU/Linux 10 (buster)", + "containerRuntimeVersion": "docker://19.3.13", + "kubeletVersion": "v1.19.3", + "kubeProxyVersion": "v1.19.3", + "operatingSystem": "linux", + "architecture": "amd64" + }, + "images": [ + { + "names": [ + "digitalocean/doks-debug@sha256:d1a215845d868d1d6b2a6a93cb225a892d61e131954d71b5ef45664d77d8d2c7", + "digitalocean/doks-debug:latest" + ], + "sizeBytes": 752144177 + }, + { + "names": [ + "cilium/cilium@sha256:3cbade4c15e7deba6b9a770475beec5e102a9f8e347c28307383a24581ebb6c4", + "cilium/cilium:v1.8.5" + ], + "sizeBytes": 421109795 + }, + { + "names": [ + "k8s.gcr.io/kube-apiserver@sha256:6ea8c40355df6c6c47050448e1f88cb4a5d618e9e96717818d4e11fcfe156ee0", + "k8s.gcr.io/kube-apiserver:v1.19.3" + ], + "sizeBytes": 118782314 + }, + { + "names": [ + "k8s.gcr.io/kube-proxy@sha256:1f99b26aad3a90358ad83b4065cf59002b5a913e839b70744caff4a84315a2e7", + "k8s.gcr.io/kube-proxy:v1.19.3" + ], + "sizeBytes": 117686573 + }, + { + "names": [ + "k8s.gcr.io/kube-controller-manager@sha256:1ad35b623b9123c6aab99306ba5427e2829b36b378b9b80a6e988713ac5bffd4", + "k8s.gcr.io/kube-controller-manager:v1.19.3" + ], + "sizeBytes": 110811498 + }, + { + "names": [ + "k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:d6e51b58808b5abe74b57666114efab748a6d8ba73afdb24cd2a7f91f11c4b1b", + "k8s.gcr.io/autoscaling/cluster-autoscaler:v1.19.0" + ], + "sizeBytes": 90379091 + }, + { + "names": [ + "quay.io/coreos/etcd@sha256:6dde1430abf883cde8f72ee2eea18036b508f47c2f4eda2819f795974ca34cf9", + "quay.io/coreos/etcd:v3.4.9" + ], + "sizeBytes": 83761798 + }, + { + "names": [ + "cilium/operator@sha256:487ac18d5ab4aef03f2d3436a01b1bb1858bd2635f4c7f5793eac4e7438201e3", + "cilium/operator:v1.8.5" + ], + "sizeBytes": 63852651 + }, + { + "names": [ + "digitalocean/digitalocean-cloud-controller-manager@sha256:2646651c6009e8462add1761842e43a7e5de471116aa31af5f1f8b560d13a039", + "digitalocean/digitalocean-cloud-controller-manager:v0.1.30" + ], + "sizeBytes": 62940839 + }, + { + "names": [ + "quay.io/k8scsi/csi-provisioner@sha256:80755314b906a87c9d8b678de14b03605a67e66c704cfc9455bb5b38643402fc", + "quay.io/k8scsi/csi-provisioner:v2.0.2" + ], + "sizeBytes": 50014788 + }, + { + "names": [ + "quay.io/k8scsi/csi-snapshotter@sha256:fe290ee144392f121a8659c6cbadd8080e4ac818459bb1b644d9b4f7fe8d8d40", + "quay.io/k8scsi/csi-snapshotter:v3.0.0" + ], + "sizeBytes": 47970116 + }, + { + "names": [ + "quay.io/k8scsi/csi-resizer@sha256:83655a67f84ac500b67fd0e7084d1eaa9828321d179269171aa0c9bc35ca8ef9", + "quay.io/k8scsi/csi-resizer:v1.0.0" + ], + "sizeBytes": 47793157 + }, + { + "names": [ + "quay.io/k8scsi/csi-attacher@sha256:f141eca4d60481b2a460cbd6720a80e40bb289b0fc7a495f5e80d88eca31d9ba", + "quay.io/k8scsi/csi-attacher:v3.0.0" + ], + "sizeBytes": 47741542 + }, + { + "names": [ + "k8s.gcr.io/kube-scheduler@sha256:54c61fbd9939006a8fe691e308d28636bffd8031af9d53a97214d6e2d27b8720", + "k8s.gcr.io/kube-scheduler:v1.19.3" + ], + "sizeBytes": 45660522 + }, + { + "names": [ + "digitalocean/dosecret-operator@sha256:52c5fc89e2ba4052f9bc0bc2676ed6b806f837ce6c50990b7829a78cff541ac0", + "digitalocean/dosecret-operator:v1.0.2" + ], + "sizeBytes": 43679179 + }, + { + "names": [ + "quay.io/k8scsi/snapshot-controller@sha256:7e4916b2e53f4bf3ae5c4c85cdaf19d7844fa651da58f9e1f07342cc5f7ec35f", + "quay.io/k8scsi/snapshot-controller:v3.0.0" + ], + "sizeBytes": 43155701 + }, + { + "names": [ + "coredns/coredns@sha256:4a6e0769130686518325b21b0c1d0688b54e7c79244d48e1b15634e98e40c6ef", + "coredns/coredns:1.7.1" + ], + "sizeBytes": 42376931 + }, + { + "names": [ + "digitalocean/kubelet-rubber-stamp@sha256:df7e2c099dfeea0702dc93dbd4bc51c999f0148d84d2b288811ee714f5921927", + "digitalocean/kubelet-rubber-stamp:v0.1.1" + ], + "sizeBytes": 37250784 + }, + { + "names": [ + "digitalocean/do-agent@sha256:ca1aa3966b919594b0dfde29bcbc5d86dbfe8f75c20337efeb45cd24baf2b084", + "digitalocean/do-agent:3" + ], + "sizeBytes": 29339790 + }, + { + "names": [ + "digitalocean/do-csi-plugin@sha256:98a6080ca1de825de135caf6a8ab8a3b8ee3423f171d46979d906d32ee97600e", + "digitalocean/do-csi-plugin:v2.1.1" + ], + "sizeBytes": 26389491 + }, + { + "names": [ + "digitalocean/doks-tokenreview@sha256:18602a5ac91d1d9067a0bf25282f55974d63ab60c4e60c5cc8c4134dde1d50fa", + "digitalocean/doks-tokenreview:v0.0.8" + ], + "sizeBytes": 20843793 + }, + { + "names": [ + "quay.io/k8scsi/csi-node-driver-registrar@sha256:a104f0f0ec5fdd007a4a85ffad95a93cfb73dd7e86296d3cc7846fde505248d3", + "quay.io/k8scsi/csi-node-driver-registrar:v2.0.1" + ], + "sizeBytes": 18025755 + }, + { + "names": [ + "curlimages/curl@sha256:cda19aa5a866b225079d5b5b3ea31895c44a5d1cf3bfefe61829af9e690e8dfe", + "curlimages/curl:7.71.0" + ], + "sizeBytes": 11089089 + }, + { + "names": [ + "busybox@sha256:4b6ad3a68d34da29bf7c8ccb5d355ba8b4babcad1f99798204e7abb43e54ee3d", + "busybox:1.30" + ], + "sizeBytes": 1199418 + }, + { + "names": [ + "cilium/cilium-init@sha256:bae879d3a3c2bb599673a01d6bfa0bbf3eeb9887083479dcfb85898479b910ad", + "cilium/cilium-init:2019-04-05" + ], + "sizeBytes": 1146867 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", + "k8s.gcr.io/pause:3.1" + ], + "sizeBytes": 742472 + }, + { + "names": [ + "k8s.gcr.io/pause@sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f", + "k8s.gcr.io/pause:3.2" + ], + "sizeBytes": 682696 + } + ] + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/replicasets/default.json b/pkg/analyze/files/support-bundle/cluster-resources/replicasets/default.json new file mode 100644 index 00000000..1ab0003e --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/replicasets/default.json @@ -0,0 +1,1449 @@ +{ + "kind": "ReplicaSetList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195657" + }, + "items": [ + { + "metadata": { + "name": "kotsadm-f98ff7d75", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/replicasets/kotsadm-f98ff7d75", + "uid": "40e57483-79f2-45f7-968e-3ef05d4538c0", + "resourceVersion": "2398", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:34Z", + "labels": { + "app": "kotsadm", + "kots.io/backup": "velero", + "kots.io/kotsadm": "true", + "pod-template-hash": "f98ff7d75" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "kotsadm", + "uid": "8195922b-137d-4a0a-b3c4-4458e39d9e94", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:21Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"8195922b-137d-4a0a-b3c4-4458e39d9e94\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {}, + "f:pod-template-hash": {} + } + }, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:backup.velero.io/backup-volumes": {}, + "f:pre.hook.backup.velero.io/command": {}, + "f:pre.hook.backup.velero.io/timeout": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"kotsadm\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"API_ADVERTISE_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"API_ENCRYPTION_KEY\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"API_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"AUTO_CREATE_CLUSTER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"AUTO_CREATE_CLUSTER_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"AUTO_CREATE_CLUSTER_TOKEN\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"DEX_PGPASSWORD\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"KURL_INSTALL_ID\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"KURL_PROXY_TLS_CERT_PATH\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_OWNER_KIND\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POSTGRES_PASSWORD\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"POSTGRES_URI\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"PROMETHEUS_ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"S3_ACCESS_KEY_ID\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"S3_BUCKET_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"S3_BUCKET_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"S3_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"S3_SECRET_ACCESS_KEY\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"SESSION_KEY\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"SHARED_PASSWORD_BCRYPT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":3000,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:readinessProbe": { + ".": {}, + "f:failureThreshold": {}, + "f:httpGet": { + ".": {}, + "f:path": {}, + "f:port": {}, + "f:scheme": {} + }, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/backup\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/kubernetes/pki/kubelet\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/kurl-proxy/ca\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ssl/certs/ca-certificates.crt\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/scripts/start-kotsadm-web.sh\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:subPath": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"restore-db\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"POSTGRES_PASSWORD\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/backup\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"restore-s3\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"S3_ACCESS_KEY_ID\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"S3_BUCKET_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"S3_BUCKET_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"S3_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"S3_SECRET_ACCESS_KEY\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/backup\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"schemahero-apply\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"SCHEMAHERO_DDL\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"SCHEMAHERO_DRIVER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"SCHEMAHERO_URI\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/migrations\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"schemahero-plan\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"SCHEMAHERO_DRIVER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"SCHEMAHERO_OUT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"SCHEMAHERO_SPEC_FILE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"SCHEMAHERO_URI\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/migrations\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"backup\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"host-cacerts\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"kotsadm-web-scripts\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"kubelet-client-cert\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"kurl-proxy-kotsadm-tls-cert\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"migrations\"}": { + ".": {}, + "f:emptyDir": { + ".": {}, + "f:medium": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kotsadm", + "pod-template-hash": "f98ff7d75" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kotsadm", + "kots.io/backup": "velero", + "kots.io/kotsadm": "true", + "pod-template-hash": "f98ff7d75" + }, + "annotations": { + "backup.velero.io/backup-volumes": "backup", + "pre.hook.backup.velero.io/command": "[\"/backup.sh\"]", + "pre.hook.backup.velero.io/timeout": "10m" + } + }, + "spec": { + "volumes": [ + { + "name": "host-cacerts", + "hostPath": { + "path": "/etc/ssl/certs/ca-certificates.crt", + "type": "File" + } + }, + { + "name": "kubelet-client-cert", + "secret": { + "secretName": "kubelet-client-cert", + "defaultMode": 420 + } + }, + { + "name": "kurl-proxy-kotsadm-tls-cert", + "secret": { + "secretName": "kotsadm-tls", + "defaultMode": 420 + } + }, + { + "name": "kotsadm-web-scripts", + "configMap": { + "name": "kotsadm-web-scripts", + "defaultMode": 511 + } + }, + { + "name": "backup", + "emptyDir": {} + }, + { + "name": "migrations", + "emptyDir": { + "medium": "Memory" + } + } + ], + "initContainers": [ + { + "name": "schemahero-plan", + "image": "kotsadm/kotsadm-migrations:v1.58.2", + "args": [ + "plan" + ], + "env": [ + { + "name": "SCHEMAHERO_DRIVER", + "value": "postgres" + }, + { + "name": "SCHEMAHERO_SPEC_FILE", + "value": "/tables" + }, + { + "name": "SCHEMAHERO_URI", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "uri" + } + } + }, + { + "name": "SCHEMAHERO_OUT", + "value": "/migrations/plan.yaml" + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "100Mi" + }, + "requests": { + "cpu": "50m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "migrations", + "mountPath": "/migrations" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "schemahero-apply", + "image": "kotsadm/kotsadm-migrations:v1.58.2", + "args": [ + "apply" + ], + "env": [ + { + "name": "SCHEMAHERO_DRIVER", + "value": "postgres" + }, + { + "name": "SCHEMAHERO_DDL", + "value": "/migrations/plan.yaml" + }, + { + "name": "SCHEMAHERO_URI", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "uri" + } + } + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "100Mi" + }, + "requests": { + "cpu": "50m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "migrations", + "mountPath": "/migrations" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "restore-db", + "image": "kotsadm/kotsadm:v1.58.2", + "command": [ + "/restore-db.sh" + ], + "env": [ + { + "name": "POSTGRES_PASSWORD", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "password" + } + } + } + ], + "resources": { + "limits": { + "cpu": "1" + }, + "requests": { + "cpu": "100m", + "memory": "100Mi" + } + }, + "volumeMounts": [ + { + "name": "backup", + "mountPath": "/backup" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "restore-s3", + "image": "kotsadm/kotsadm:v1.58.2", + "command": [ + "/restore-s3.sh" + ], + "env": [ + { + "name": "S3_ENDPOINT", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "endpoint" + } + } + }, + { + "name": "S3_BUCKET_NAME", + "value": "kotsadm" + }, + { + "name": "S3_ACCESS_KEY_ID", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "access-key-id" + } + } + }, + { + "name": "S3_SECRET_ACCESS_KEY", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "secret-access-key" + } + } + }, + { + "name": "S3_BUCKET_ENDPOINT", + "value": "true" + } + ], + "resources": { + "limits": { + "cpu": "1" + }, + "requests": { + "cpu": "100m", + "memory": "100Mi" + } + }, + "volumeMounts": [ + { + "name": "backup", + "mountPath": "/backup" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "containers": [ + { + "name": "kotsadm", + "image": "kotsadm/kotsadm:v1.58.2", + "command": [ + "bash" + ], + "args": [ + "/scripts/start-kotsadm-web.sh" + ], + "ports": [ + { + "name": "http", + "containerPort": 3000, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "PROMETHEUS_ADDRESS", + "value": "http://prometheus-k8s.monitoring.svc.cluster.local:9090" + }, + { + "name": "KURL_INSTALL_ID", + "value": "t3j93et9c385x51w" + }, + { + "name": "AUTO_CREATE_CLUSTER", + "value": "1" + }, + { + "name": "AUTO_CREATE_CLUSTER_NAME", + "value": "this-cluster" + }, + { + "name": "AUTO_CREATE_CLUSTER_TOKEN", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-cluster-token", + "key": "kotsadm-cluster-token" + } + } + }, + { + "name": "SHARED_PASSWORD_BCRYPT", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-password", + "key": "passwordBcrypt" + } + } + }, + { + "name": "SESSION_KEY", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-session", + "key": "key" + } + } + }, + { + "name": "POSTGRES_URI", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "uri" + } + } + }, + { + "name": "POSTGRES_PASSWORD", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "password" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "API_ENCRYPTION_KEY", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-encryption", + "key": "encryptionKey" + } + } + }, + { + "name": "S3_ENDPOINT", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "endpoint" + } + } + }, + { + "name": "S3_BUCKET_NAME", + "value": "kotsadm" + }, + { + "name": "S3_ACCESS_KEY_ID", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "access-key-id" + } + } + }, + { + "name": "S3_SECRET_ACCESS_KEY", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-s3", + "key": "secret-access-key" + } + } + }, + { + "name": "S3_BUCKET_ENDPOINT", + "value": "true" + }, + { + "name": "API_ADVERTISE_ENDPOINT", + "value": "http://localhost:8800" + }, + { + "name": "API_ENDPOINT", + "value": "http://kotsadm.default.svc.cluster.local:3000" + }, + { + "name": "POD_OWNER_KIND", + "value": "deployment" + }, + { + "name": "KURL_PROXY_TLS_CERT_PATH", + "value": "/etc/kurl-proxy/ca/tls.crt" + }, + { + "name": "DEX_PGPASSWORD", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-dex-postgres", + "key": "PGPASSWORD" + } + } + } + ], + "resources": { + "limits": { + "cpu": "1" + }, + "requests": { + "cpu": "100m", + "memory": "100Mi" + } + }, + "volumeMounts": [ + { + "name": "host-cacerts", + "mountPath": "/etc/ssl/certs/ca-certificates.crt" + }, + { + "name": "kotsadm-web-scripts", + "mountPath": "/scripts/start-kotsadm-web.sh", + "subPath": "start-kotsadm-web.sh" + }, + { + "name": "backup", + "mountPath": "/backup" + }, + { + "name": "kubelet-client-cert", + "readOnly": true, + "mountPath": "/etc/kubernetes/pki/kubelet" + }, + { + "name": "kurl-proxy-kotsadm-tls-cert", + "readOnly": true, + "mountPath": "/etc/kurl-proxy/ca" + } + ], + "readinessProbe": { + "httpGet": { + "path": "/healthz", + "port": 3000, + "scheme": "HTTP" + }, + "initialDelaySeconds": 10, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "kotsadm", + "serviceAccount": "kotsadm", + "securityContext": { + "runAsUser": 1001 + }, + "schedulerName": "default-scheduler" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "kurl-proxy-kotsadm-cf695877c", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/replicasets/kurl-proxy-kotsadm-cf695877c", + "uid": "5187bfda-5635-4901-8cf9-77cacc652844", + "resourceVersion": "2139", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:35Z", + "labels": { + "app": "kurl-proxy-kotsadm", + "kots.io/backup": "velero", + "kots.io/kotsadm": "true", + "pod-template-hash": "cf695877c" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "kurl-proxy-kotsadm", + "uid": "28ff212c-9b9a-4478-8c25-34b822562ba7", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:45Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"28ff212c-9b9a-4478-8c25-34b822562ba7\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {}, + "f:pod-template-hash": {} + } + }, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"proxy\"}": { + ".": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"DEX_UPSTREAM_ORIGIN\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"NODE_PORT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"TLS_SECRET_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"UPSTREAM_ORIGIN\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/kotsadm\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"kotsadm-config\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {}, + "f:optional": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kurl-proxy-kotsadm", + "pod-template-hash": "cf695877c" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kurl-proxy-kotsadm", + "kots.io/backup": "velero", + "kots.io/kotsadm": "true", + "pod-template-hash": "cf695877c" + } + }, + "spec": { + "volumes": [ + { + "name": "kotsadm-config", + "configMap": { + "name": "kotsadm-application-metadata", + "defaultMode": 420, + "optional": true + } + } + ], + "containers": [ + { + "name": "proxy", + "image": "kotsadm/kurl-proxy:v1.58.2", + "env": [ + { + "name": "NODE_PORT", + "value": "8800" + }, + { + "name": "UPSTREAM_ORIGIN", + "value": "http://kotsadm:3000" + }, + { + "name": "DEX_UPSTREAM_ORIGIN", + "value": "http://kotsadm-dex:5556" + }, + { + "name": "TLS_SECRET_NAME", + "value": "kotsadm-tls" + }, + { + "name": "NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "resources": { + "limits": { + "cpu": "200m", + "memory": "200Mi" + }, + "requests": { + "cpu": "50m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "kotsadm-config", + "mountPath": "/etc/kotsadm" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "kurl-proxy", + "serviceAccount": "kurl-proxy", + "securityContext": {}, + "schedulerName": "default-scheduler" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "observedGeneration": 1 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/replicasets/rook-ceph.json b/pkg/analyze/files/support-bundle/cluster-resources/replicasets/rook-ceph.json new file mode 100644 index 00000000..5b790117 --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/replicasets/rook-ceph.json @@ -0,0 +1,9834 @@ +{ + "kind": "ReplicaSetList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195658" + }, + "items": [ + { + "metadata": { + "name": "csi-cephfsplugin-provisioner-56d4db5b99", + "namespace": "rook-ceph", + "uid": "8ba4a0a9-a864-40f1-8342-6b72ae8911f5", + "resourceVersion": "1058", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:15Z", + "labels": { + "app": "csi-cephfsplugin-provisioner", + "contains": "csi-cephfsplugin-metrics", + "pod-template-hash": "56d4db5b99" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "csi-cephfsplugin-provisioner", + "uid": "1f9b582e-17fb-4675-8420-c6cd704cacdf", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:19Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:contains": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"1f9b582e-17fb-4675-8420-c6cd704cacdf\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:contains": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:nodeAffinity": {}, + "f:podAntiAffinity": { + ".": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"csi-attacher\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-cephfsplugin\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CSI_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_ID\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/dev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/ceph-csi-config/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/lib/modules\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/sys\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/tmp/csi/keys\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-provisioner\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-resizer\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-snapshotter\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"liveness-prometheus\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CSI_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:allowPrivilegeEscalation": {}, + "f:capabilities": { + ".": {}, + "f:add": {} + }, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-csi-config\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:items": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"host-dev\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"host-sys\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"keys-tmp-dir\"}": { + ".": {}, + "f:emptyDir": { + ".": {}, + "f:medium": {} + }, + "f:name": {} + }, + "k:{\"name\":\"lib-modules\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"socket-dir\"}": { + ".": {}, + "f:emptyDir": { + ".": {}, + "f:medium": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "csi-cephfsplugin-provisioner", + "pod-template-hash": "56d4db5b99" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "csi-cephfsplugin-provisioner", + "contains": "csi-cephfsplugin-metrics", + "pod-template-hash": "56d4db5b99" + } + }, + "spec": { + "volumes": [ + { + "name": "socket-dir", + "emptyDir": { + "medium": "Memory" + } + }, + { + "name": "host-sys", + "hostPath": { + "path": "/sys", + "type": "" + } + }, + { + "name": "lib-modules", + "hostPath": { + "path": "/lib/modules", + "type": "" + } + }, + { + "name": "host-dev", + "hostPath": { + "path": "/dev", + "type": "" + } + }, + { + "name": "ceph-csi-config", + "configMap": { + "name": "rook-ceph-csi-config", + "items": [ + { + "key": "csi-cluster-config-json", + "path": "config.json" + } + ], + "defaultMode": 420 + } + }, + { + "name": "keys-tmp-dir", + "emptyDir": { + "medium": "Memory" + } + } + ], + "containers": [ + { + "name": "csi-attacher", + "image": "k8s.gcr.io/sig-storage/csi-attacher:v3.0.2", + "args": [ + "--v=0", + "--csi-address=$(ADDRESS)", + "--leader-election=true", + "--timeout=150s", + "--leader-election-namespace=rook-ceph" + ], + "env": [ + { + "name": "ADDRESS", + "value": "/csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + }, + { + "name": "csi-snapshotter", + "image": "k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.2", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--leader-election=true", + "--leader-election-namespace=rook-ceph" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + }, + { + "name": "csi-resizer", + "image": "k8s.gcr.io/sig-storage/csi-resizer:v1.0.1", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--leader-election", + "--leader-election-namespace=rook-ceph", + "--handle-volume-inuse-error=false" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + }, + { + "name": "csi-provisioner", + "image": "k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--retry-interval-start=500ms", + "--leader-election=true", + "--leader-election-namespace=rook-ceph" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + }, + { + "name": "csi-cephfsplugin", + "image": "quay.io/cephcsi/cephcsi:v3.2.2", + "args": [ + "--nodeid=$(NODE_ID)", + "--type=cephfs", + "--endpoint=$(CSI_ENDPOINT)", + "--v=0", + "--controllerserver=true", + "--drivername=rook-ceph.cephfs.csi.ceph.com", + "--pidlimit=-1", + "--metricsport=9091", + "--forcecephkernelclient=true", + "--metricspath=/metrics", + "--enablegrpcmetrics=true" + ], + "env": [ + { + "name": "POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + }, + { + "name": "NODE_ID", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "CSI_ENDPOINT", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + }, + { + "name": "host-sys", + "mountPath": "/sys" + }, + { + "name": "lib-modules", + "readOnly": true, + "mountPath": "/lib/modules" + }, + { + "name": "host-dev", + "mountPath": "/dev" + }, + { + "name": "ceph-csi-config", + "mountPath": "/etc/ceph-csi-config/" + }, + { + "name": "keys-tmp-dir", + "mountPath": "/tmp/csi/keys" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + }, + { + "name": "liveness-prometheus", + "image": "quay.io/cephcsi/cephcsi:v3.2.2", + "args": [ + "--type=liveness", + "--endpoint=$(CSI_ENDPOINT)", + "--metricsport=9081", + "--metricspath=/metrics", + "--polltime=60s", + "--timeout=3s" + ], + "env": [ + { + "name": "CSI_ENDPOINT", + "value": "unix:///csi/csi-provisioner.sock" + }, + { + "name": "POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "capabilities": { + "add": [ + "SYS_ADMIN" + ] + }, + "privileged": true, + "allowPrivilegeEscalation": true + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "rook-csi-cephfs-provisioner-sa", + "serviceAccount": "rook-csi-cephfs-provisioner-sa", + "securityContext": {}, + "affinity": { + "nodeAffinity": {}, + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "csi-cephfsplugin-provisioner" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-node-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "csi-rbdplugin-provisioner-d84959fcb", + "namespace": "rook-ceph", + "uid": "a53221f5-843a-4137-a4dd-0ba88cfb79a7", + "resourceVersion": "991", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:13Z", + "labels": { + "app": "csi-rbdplugin-provisioner", + "contains": "csi-rbdplugin-metrics", + "pod-template-hash": "d84959fcb" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "csi-rbdplugin-provisioner", + "uid": "01d8cb93-00ae-415d-861f-a2dee670e373", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:16Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:contains": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"01d8cb93-00ae-415d-861f-a2dee670e373\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:contains": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:nodeAffinity": {}, + "f:podAntiAffinity": { + ".": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"csi-attacher\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-provisioner\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-rbdplugin\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CSI_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_ID\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/dev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/ceph-csi-config/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/lib/modules\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/sys\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/tmp/csi/keys\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-resizer\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"csi-snapshotter\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ADDRESS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"liveness-prometheus\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CSI_ENDPOINT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/csi\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-csi-config\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:items": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"host-dev\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"host-sys\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"keys-tmp-dir\"}": { + ".": {}, + "f:emptyDir": { + ".": {}, + "f:medium": {} + }, + "f:name": {} + }, + "k:{\"name\":\"lib-modules\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"socket-dir\"}": { + ".": {}, + "f:emptyDir": { + ".": {}, + "f:medium": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "csi-rbdplugin-provisioner", + "pod-template-hash": "d84959fcb" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "csi-rbdplugin-provisioner", + "contains": "csi-rbdplugin-metrics", + "pod-template-hash": "d84959fcb" + } + }, + "spec": { + "volumes": [ + { + "name": "host-dev", + "hostPath": { + "path": "/dev", + "type": "" + } + }, + { + "name": "host-sys", + "hostPath": { + "path": "/sys", + "type": "" + } + }, + { + "name": "lib-modules", + "hostPath": { + "path": "/lib/modules", + "type": "" + } + }, + { + "name": "socket-dir", + "emptyDir": { + "medium": "Memory" + } + }, + { + "name": "ceph-csi-config", + "configMap": { + "name": "rook-ceph-csi-config", + "items": [ + { + "key": "csi-cluster-config-json", + "path": "config.json" + } + ], + "defaultMode": 420 + } + }, + { + "name": "keys-tmp-dir", + "emptyDir": { + "medium": "Memory" + } + } + ], + "containers": [ + { + "name": "csi-provisioner", + "image": "k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--retry-interval-start=500ms", + "--leader-election=true", + "--leader-election-namespace=rook-ceph", + "--default-fstype=ext4", + "--extra-create-metadata=true" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "csi-resizer", + "image": "k8s.gcr.io/sig-storage/csi-resizer:v1.0.1", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--leader-election", + "--leader-election-namespace=rook-ceph", + "--handle-volume-inuse-error=false" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "csi-attacher", + "image": "k8s.gcr.io/sig-storage/csi-attacher:v3.0.2", + "args": [ + "--v=0", + "--timeout=150s", + "--csi-address=$(ADDRESS)", + "--leader-election=true", + "--leader-election-namespace=rook-ceph" + ], + "env": [ + { + "name": "ADDRESS", + "value": "/csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "csi-snapshotter", + "image": "k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.2", + "args": [ + "--csi-address=$(ADDRESS)", + "--v=0", + "--timeout=150s", + "--leader-election=true", + "--leader-election-namespace=rook-ceph" + ], + "env": [ + { + "name": "ADDRESS", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "csi-rbdplugin", + "image": "quay.io/cephcsi/cephcsi:v3.2.2", + "args": [ + "--nodeid=$(NODE_ID)", + "--endpoint=$(CSI_ENDPOINT)", + "--v=0", + "--type=rbd", + "--controllerserver=true", + "--drivername=rook-ceph.rbd.csi.ceph.com", + "--pidlimit=-1", + "--metricsport=9090", + "--metricspath=/metrics", + "--enablegrpcmetrics=true" + ], + "env": [ + { + "name": "POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + }, + { + "name": "NODE_ID", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "CSI_ENDPOINT", + "value": "unix:///csi/csi-provisioner.sock" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + }, + { + "name": "host-dev", + "mountPath": "/dev" + }, + { + "name": "host-sys", + "mountPath": "/sys" + }, + { + "name": "lib-modules", + "readOnly": true, + "mountPath": "/lib/modules" + }, + { + "name": "ceph-csi-config", + "mountPath": "/etc/ceph-csi-config/" + }, + { + "name": "keys-tmp-dir", + "mountPath": "/tmp/csi/keys" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "liveness-prometheus", + "image": "quay.io/cephcsi/cephcsi:v3.2.2", + "args": [ + "--type=liveness", + "--endpoint=$(CSI_ENDPOINT)", + "--metricsport=9080", + "--metricspath=/metrics", + "--polltime=60s", + "--timeout=3s" + ], + "env": [ + { + "name": "CSI_ENDPOINT", + "value": "unix:///csi/csi-provisioner.sock" + }, + { + "name": "POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "socket-dir", + "mountPath": "/csi" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "rook-csi-rbd-provisioner-sa", + "serviceAccount": "rook-csi-rbd-provisioner-sa", + "securityContext": {}, + "affinity": { + "nodeAffinity": {}, + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "csi-rbdplugin-provisioner" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-node-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-crashcollector-kurl-002-66cc8f5556", + "namespace": "rook-ceph", + "uid": "c3d9ceec-6ff1-4866-a363-1150b4911bb4", + "resourceVersion": "1602", + "generation": 2, + "creationTimestamp": "2021-10-27T19:25:21Z", + "labels": { + "app": "rook-ceph-crashcollector", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "crash", + "crashcollector": "crash", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "66cc8f5556", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-crashcollector-kurl-002", + "uid": "aaf9aa08-659b-4b76-96c9-04381b99b191", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:26:58Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:crashcollector": {}, + "f:kubernetes.io/hostname": {}, + "f:node_name": {}, + "f:pod-template-hash": {}, + "f:rook-version": {}, + "f:rook_cluster": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"aaf9aa08-659b-4b76-96c9-04381b99b191\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:crashcollector": {}, + "f:kubernetes.io/hostname": {}, + "f:node_name": {}, + "f:pod-template-hash": {}, + "f:rook-version": {}, + "f:rook_cluster": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"ceph-crash\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CEPH_ARGS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/crash-collector-keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"make-container-crash-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:nodeSelector": { + ".": {}, + "f:kubernetes.io/hostname": {} + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash-collector-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:observedGeneration": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 0, + "selector": { + "matchLabels": { + "app": "rook-ceph-crashcollector", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "66cc8f5556" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-crashcollector", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "crash", + "crashcollector": "crash", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "66cc8f5556", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "rook-ceph-crash-collector-keyring", + "secret": { + "secretName": "rook-ceph-crash-collector-keyring", + "defaultMode": 420 + } + } + ], + "initContainers": [ + { + "name": "make-container-crash-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "mkdir", + "-p" + ], + "args": [ + "/var/lib/ceph/crash/posted" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + }, + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "ceph-crash", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-crash" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "CEPH_ARGS", + "value": "-m $(ROOK_CEPH_MON_HOST) -k /etc/ceph/crash-collector-keyring-store/keyring" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "rook-ceph-crash-collector-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/crash-collector-keyring-store/" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "nodeSelector": { + "kubernetes.io/hostname": "kurl-002" + }, + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + }, + { + "key": "node.kubernetes.io/not-ready", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 300 + }, + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 300 + } + ] + } + } + }, + "status": { + "replicas": 0, + "observedGeneration": 2 + } + }, + { + "metadata": { + "name": "rook-ceph-crashcollector-kurl-002-8cd7844d6", + "namespace": "rook-ceph", + "uid": "a9e9a2a9-3eb7-4497-9066-fa1fa2cb0b08", + "resourceVersion": "1594", + "generation": 1, + "creationTimestamp": "2021-10-27T19:26:55Z", + "labels": { + "app": "rook-ceph-crashcollector", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "crash", + "crashcollector": "crash", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "8cd7844d6", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "2" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-crashcollector-kurl-002", + "uid": "aaf9aa08-659b-4b76-96c9-04381b99b191", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:26:58Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:crashcollector": {}, + "f:kubernetes.io/hostname": {}, + "f:node_name": {}, + "f:pod-template-hash": {}, + "f:rook-version": {}, + "f:rook_cluster": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"aaf9aa08-659b-4b76-96c9-04381b99b191\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:crashcollector": {}, + "f:kubernetes.io/hostname": {}, + "f:node_name": {}, + "f:pod-template-hash": {}, + "f:rook-version": {}, + "f:rook_cluster": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"ceph-crash\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CEPH_ARGS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/crash-collector-keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"make-container-crash-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:nodeSelector": { + ".": {}, + "f:kubernetes.io/hostname": {} + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash-collector-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-crashcollector", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "8cd7844d6" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-crashcollector", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "crash", + "crashcollector": "crash", + "kubernetes.io/hostname": "kurl-002", + "node_name": "kurl-002", + "pod-template-hash": "8cd7844d6", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "rook-ceph-crash-collector-keyring", + "secret": { + "secretName": "rook-ceph-crash-collector-keyring", + "defaultMode": 420 + } + } + ], + "initContainers": [ + { + "name": "make-container-crash-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "mkdir", + "-p" + ], + "args": [ + "/var/lib/ceph/crash/posted" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + }, + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "ceph-crash", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-crash" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "CEPH_ARGS", + "value": "-m $(ROOK_CEPH_MON_HOST) -k /etc/ceph/crash-collector-keyring-store/keyring" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "rook-ceph-crash-collector-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/crash-collector-keyring-store/" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "nodeSelector": { + "kubernetes.io/hostname": "kurl-002" + }, + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + }, + { + "key": "node.kubernetes.io/not-ready", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 300 + }, + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 5 + } + ] + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-mds-rook-shared-fs-a-f9bf5cd79", + "namespace": "rook-ceph", + "uid": "19a84adb-781f-4fec-8cd8-6f88f4f8faf4", + "resourceVersion": "1584", + "generation": 1, + "creationTimestamp": "2021-10-27T19:26:55Z", + "labels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-a", + "ceph_daemon_type": "mds", + "mds": "rook-shared-fs-a", + "pod-template-hash": "f9bf5cd79", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mds\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"rook-shared-fs-a\",\"ceph_daemon_type\":\"mds\",\"mds\":\"rook-shared-fs-a\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"},\"name\":\"rook-ceph-mds-rook-shared-fs-a\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephFilesystem\",\"name\":\"rook-shared-fs\",\"uid\":\"9a66c30e-cd2e-4d93-938b-faf18fee5e86\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-mds\",\"ceph_daemon_id\":\"rook-shared-fs-a\",\"mds\":\"rook-shared-fs-a\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mds\",\"ceph_daemon_id\":\"rook-shared-fs-a\",\"ceph_daemon_type\":\"mds\",\"mds\":\"rook-shared-fs-a\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"},\"name\":\"rook-ceph-mds-rook-shared-fs-a\"},\"spec\":{\"affinity\":{\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"rook-ceph-mds\"]}]},\"topologyKey\":\"topology.kubernetes.io/zone\"},\"weight\":100}],\"requiredDuringSchedulingIgnoredDuringExecution\":[{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"rook-ceph-mds\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"}]}},\"containers\":[{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=rook-shared-fs-a\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--foreground\",\"--public-addr=$(ROOK_POD_IP)\"],\"command\":[\"ceph-mds\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"livenessProbe\":{\"exec\":{\"command\":[\"env\",\"-i\",\"sh\",\"-c\",\"ceph --admin-daemon /run/ceph/ceph-mds.rook-shared-fs-a.asok status\"]},\"initialDelaySeconds\":10},\"name\":\"mds\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mds-rook-shared-fs-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-a\",\"name\":\"ceph-daemon-data\"}]}],\"initContainers\":[{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\",\"/var/lib/ceph/mds/ceph-rook-shared-fs-a\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mds-rook-shared-fs-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-a\",\"name\":\"ceph-daemon-data\"}]}],\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"tolerations\":[{\"effect\":\"NoExecute\",\"key\":\"node.kubernetes.io/unreachable\",\"operator\":\"Exists\",\"tolerationSeconds\":5}],\"volumes\":[{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"name\":\"rook-ceph-mds-rook-shared-fs-a-keyring\",\"secret\":{\"secretName\":\"rook-ceph-mds-rook-shared-fs-a-keyring\"}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"},{\"emptyDir\":{},\"name\":\"ceph-daemon-data\"}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-mds-rook-shared-fs-a", + "uid": "c323d3e6-b8ec-4697-8e54-f2a8c652ff55", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:26:57Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mds": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {}, + "f:rook_file_system": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"c323d3e6-b8ec-4697-8e54-f2a8c652ff55\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mds": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {}, + "f:rook_file_system": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:podAntiAffinity": { + ".": {}, + "f:preferredDuringSchedulingIgnoredDuringExecution": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"mds\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:livenessProbe": { + ".": {}, + "f:exec": { + ".": {}, + "f:command": {} + }, + "f:failureThreshold": {}, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-daemon-data\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-mds-rook-shared-fs-a-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-a", + "mds": "rook-shared-fs-a", + "pod-template-hash": "f9bf5cd79", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-mds-rook-shared-fs-a", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-a", + "ceph_daemon_type": "mds", + "mds": "rook-shared-fs-a", + "pod-template-hash": "f9bf5cd79", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-mds-rook-shared-fs-a-keyring", + "secret": { + "secretName": "rook-ceph-mds-rook-shared-fs-a-keyring", + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "ceph-daemon-data", + "emptyDir": {} + } + ], + "initContainers": [ + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash", + "/var/lib/ceph/mds/ceph-rook-shared-fs-a" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mds-rook-shared-fs-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mds/ceph-rook-shared-fs-a" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "mds", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-mds" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=rook-shared-fs-a", + "--setuser=ceph", + "--setgroup=ceph", + "--foreground", + "--public-addr=$(ROOK_POD_IP)" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mds-rook-shared-fs-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mds/ceph-rook-shared-fs-a" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "env", + "-i", + "sh", + "-c", + "ceph --admin-daemon /run/ceph/ceph-mds.rook-shared-fs-a.asok status" + ] + }, + "initialDelaySeconds": 10, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "affinity": { + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "rook-ceph-mds" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 100, + "podAffinityTerm": { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "rook-ceph-mds" + ] + } + ] + }, + "topologyKey": "topology.kubernetes.io/zone" + } + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 5 + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-mds-rook-shared-fs-b-7895f484f5", + "namespace": "rook-ceph", + "uid": "03bf3e17-9477-4284-ae53-b6f7ae28a23e", + "resourceVersion": "1619", + "generation": 1, + "creationTimestamp": "2021-10-27T19:26:59Z", + "labels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-b", + "ceph_daemon_type": "mds", + "mds": "rook-shared-fs-b", + "pod-template-hash": "7895f484f5", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mds\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"rook-shared-fs-b\",\"ceph_daemon_type\":\"mds\",\"mds\":\"rook-shared-fs-b\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"},\"name\":\"rook-ceph-mds-rook-shared-fs-b\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephFilesystem\",\"name\":\"rook-shared-fs\",\"uid\":\"9a66c30e-cd2e-4d93-938b-faf18fee5e86\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-mds\",\"ceph_daemon_id\":\"rook-shared-fs-b\",\"mds\":\"rook-shared-fs-b\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mds\",\"ceph_daemon_id\":\"rook-shared-fs-b\",\"ceph_daemon_type\":\"mds\",\"mds\":\"rook-shared-fs-b\",\"rook_cluster\":\"rook-ceph\",\"rook_file_system\":\"rook-shared-fs\"},\"name\":\"rook-ceph-mds-rook-shared-fs-b\"},\"spec\":{\"affinity\":{\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"rook-ceph-mds\"]}]},\"topologyKey\":\"topology.kubernetes.io/zone\"},\"weight\":100}],\"requiredDuringSchedulingIgnoredDuringExecution\":[{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"app\",\"operator\":\"In\",\"values\":[\"rook-ceph-mds\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"}]}},\"containers\":[{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=rook-shared-fs-b\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--foreground\",\"--public-addr=$(ROOK_POD_IP)\"],\"command\":[\"ceph-mds\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"livenessProbe\":{\"exec\":{\"command\":[\"env\",\"-i\",\"sh\",\"-c\",\"ceph --admin-daemon /run/ceph/ceph-mds.rook-shared-fs-b.asok status\"]},\"initialDelaySeconds\":10},\"name\":\"mds\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mds-rook-shared-fs-b-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-b\",\"name\":\"ceph-daemon-data\"}]}],\"initContainers\":[{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\",\"/var/lib/ceph/mds/ceph-rook-shared-fs-b\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mds-rook-shared-fs-b-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-b\",\"name\":\"ceph-daemon-data\"}]}],\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"tolerations\":[{\"effect\":\"NoExecute\",\"key\":\"node.kubernetes.io/unreachable\",\"operator\":\"Exists\",\"tolerationSeconds\":5}],\"volumes\":[{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"name\":\"rook-ceph-mds-rook-shared-fs-b-keyring\",\"secret\":{\"secretName\":\"rook-ceph-mds-rook-shared-fs-b-keyring\"}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"},{\"emptyDir\":{},\"name\":\"ceph-daemon-data\"}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-mds-rook-shared-fs-b", + "uid": "b2ab1402-99bb-4b6b-8963-0ccad488bf08", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:26:59Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mds": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {}, + "f:rook_file_system": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"b2ab1402-99bb-4b6b-8963-0ccad488bf08\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mds": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {}, + "f:rook_file_system": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:podAntiAffinity": { + ".": {}, + "f:preferredDuringSchedulingIgnoredDuringExecution": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"mds\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:livenessProbe": { + ".": {}, + "f:exec": { + ".": {}, + "f:command": {} + }, + "f:failureThreshold": {}, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-b\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mds/ceph-rook-shared-fs-b\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-daemon-data\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-mds-rook-shared-fs-b-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-b", + "mds": "rook-shared-fs-b", + "pod-template-hash": "7895f484f5", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-mds-rook-shared-fs-b", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-mds", + "ceph_daemon_id": "rook-shared-fs-b", + "ceph_daemon_type": "mds", + "mds": "rook-shared-fs-b", + "pod-template-hash": "7895f484f5", + "rook_cluster": "rook-ceph", + "rook_file_system": "rook-shared-fs" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-mds-rook-shared-fs-b-keyring", + "secret": { + "secretName": "rook-ceph-mds-rook-shared-fs-b-keyring", + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "ceph-daemon-data", + "emptyDir": {} + } + ], + "initContainers": [ + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash", + "/var/lib/ceph/mds/ceph-rook-shared-fs-b" + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mds-rook-shared-fs-b-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mds/ceph-rook-shared-fs-b" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "mds", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-mds" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=rook-shared-fs-b", + "--setuser=ceph", + "--setgroup=ceph", + "--foreground", + "--public-addr=$(ROOK_POD_IP)" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mds-rook-shared-fs-b-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mds/ceph-rook-shared-fs-b" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "env", + "-i", + "sh", + "-c", + "ceph --admin-daemon /run/ceph/ceph-mds.rook-shared-fs-b.asok status" + ] + }, + "initialDelaySeconds": 10, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "affinity": { + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "rook-ceph-mds" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 100, + "podAffinityTerm": { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "rook-ceph-mds" + ] + } + ] + }, + "topologyKey": "topology.kubernetes.io/zone" + } + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 5 + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-mgr-a-69db7f6f57", + "namespace": "rook-ceph", + "uid": "84172ca3-8907-4f34-84d0-1c9f0c4bd5aa", + "resourceVersion": "1248", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:31Z", + "labels": { + "app": "rook-ceph-mgr", + "ceph_daemon_id": "a", + "ceph_daemon_type": "mgr", + "instance": "a", + "mgr": "a", + "pod-template-hash": "69db7f6f57", + "rook_cluster": "rook-ceph" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mgr\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"a\",\"ceph_daemon_type\":\"mgr\",\"instance\":\"a\",\"mgr\":\"a\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\"},\"name\":\"rook-ceph-mgr-a\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephCluster\",\"name\":\"rook-ceph\",\"uid\":\"d2636065-51e9-4895-9aed-75bb3f6ef54a\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-mgr\",\"ceph_daemon_id\":\"a\",\"instance\":\"a\",\"mgr\":\"a\",\"rook_cluster\":\"rook-ceph\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"annotations\":{\"prometheus.io/port\":\"9283\",\"prometheus.io/scrape\":\"true\"},\"labels\":{\"app\":\"rook-ceph-mgr\",\"ceph_daemon_id\":\"a\",\"ceph_daemon_type\":\"mgr\",\"instance\":\"a\",\"mgr\":\"a\",\"rook_cluster\":\"rook-ceph\"},\"name\":\"rook-ceph-mgr-a\"},\"spec\":{\"affinity\":{},\"containers\":[{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=a\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--client-mount-uid=0\",\"--client-mount-gid=0\",\"--foreground\",\"--public-addr=$(ROOK_POD_IP)\"],\"command\":[\"ceph-mgr\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_OPERATOR_NAMESPACE\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\",\"value\":\"v1\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"livenessProbe\":{\"httpGet\":{\"path\":\"/\",\"port\":9283},\"initialDelaySeconds\":60},\"name\":\"mgr\",\"ports\":[{\"containerPort\":6800,\"name\":\"mgr\",\"protocol\":\"TCP\"},{\"containerPort\":9283,\"name\":\"http-metrics\",\"protocol\":\"TCP\"},{\"containerPort\":8443,\"name\":\"dashboard\",\"protocol\":\"TCP\"}],\"resources\":{\"requests\":{\"cpu\":\"200m\",\"memory\":\"512Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mgr-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\",\"name\":\"ceph-daemon-data\"}]}],\"initContainers\":[{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\",\"/var/lib/ceph/mgr/ceph-a\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{\"requests\":{\"cpu\":\"200m\",\"memory\":\"512Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mgr-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\",\"name\":\"ceph-daemon-data\"}]},{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/admin-keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--setuser=ceph\",\"--setgroup=ceph\",\"config\",\"set\",\"mgr.a\",\"mgr/dashboard/a/server_addr\",\"***HIDDEN***\",\"--force\",\"--verbose\"],\"command\":[\"ceph\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_OPERATOR_NAMESPACE\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\",\"value\":\"v1\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"init-set-dashboard-server-addr\",\"resources\":{\"requests\":{\"cpu\":\"200m\",\"memory\":\"512Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mgr-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\",\"name\":\"ceph-daemon-data\"},{\"mountPath\":\"/etc/ceph/admin-keyring-store/\",\"name\":\"rook-ceph-admin-keyring\",\"readOnly\":true}]},{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/admin-keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--setuser=ceph\",\"--setgroup=ceph\",\"config\",\"set\",\"mgr.a\",\"mgr/prometheus/a/server_addr\",\"***HIDDEN***\",\"--force\",\"--verbose\"],\"command\":[\"ceph\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_OPERATOR_NAMESPACE\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\",\"value\":\"v1\"},{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\",\"value\":\"rook-ceph\"},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"init-set-prometheus-server-addr\",\"resources\":{\"requests\":{\"cpu\":\"200m\",\"memory\":\"512Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mgr-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\",\"name\":\"ceph-daemon-data\"},{\"mountPath\":\"/etc/ceph/admin-keyring-store/\",\"name\":\"rook-ceph-admin-keyring\",\"readOnly\":true}]}],\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"serviceAccountName\":\"rook-ceph-mgr\",\"tolerations\":[{\"key\":\"node-role.kubernetes.io/master\",\"operator\":\"Exists\"}],\"volumes\":[{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"name\":\"rook-ceph-mgr-a-keyring\",\"secret\":{\"secretName\":\"rook-ceph-mgr-a-keyring\"}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"},{\"emptyDir\":{},\"name\":\"ceph-daemon-data\"},{\"name\":\"rook-ceph-admin-keyring\",\"secret\":{\"secretName\":\"rook-ceph-admin-keyring\"}}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-mgr-a", + "uid": "90a3f2a0-940f-4223-a8ed-70d592eaa572", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:36Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:instance": {}, + "f:mgr": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"90a3f2a0-940f-4223-a8ed-70d592eaa572\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:prometheus.io/port": {}, + "f:prometheus.io/scrape": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:instance": {}, + "f:mgr": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": {}, + "f:containers": { + "k:{\"name\":\"mgr\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_OPERATOR_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "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\":6800,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + }, + "k:{\"containerPort\":8443,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + }, + "k:{\"containerPort\":9283,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"init-set-dashboard-server-addr\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_OPERATOR_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/admin-keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"init-set-prometheus-server-addr\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_CLUSTER_CRD_VERSION\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_OPERATOR_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/admin-keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mgr/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-daemon-data\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-admin-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-mgr-a-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-mgr", + "ceph_daemon_id": "a", + "instance": "a", + "mgr": "a", + "pod-template-hash": "69db7f6f57", + "rook_cluster": "rook-ceph" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-mgr-a", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-mgr", + "ceph_daemon_id": "a", + "ceph_daemon_type": "mgr", + "instance": "a", + "mgr": "a", + "pod-template-hash": "69db7f6f57", + "rook_cluster": "rook-ceph" + }, + "annotations": { + "prometheus.io/port": "9283", + "prometheus.io/scrape": "true" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-mgr-a-keyring", + "secret": { + "secretName": "rook-ceph-mgr-a-keyring", + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "ceph-daemon-data", + "emptyDir": {} + }, + { + "name": "rook-ceph-admin-keyring", + "secret": { + "secretName": "rook-ceph-admin-keyring", + "defaultMode": 420 + } + } + ], + "initContainers": [ + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash", + "/var/lib/ceph/mgr/ceph-a" + ], + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mgr-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mgr/ceph-a" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + }, + { + "name": "init-set-dashboard-server-addr", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/admin-keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--setuser=ceph", + "--setgroup=ceph", + "config", + "set", + "mgr.a", + "mgr/dashboard/a/server_addr", + "***HIDDEN***", + "--force", + "--verbose" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_OPERATOR_NAMESPACE", + "value": "rook-ceph" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_VERSION", + "value": "v1" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_NAME", + "value": "rook-ceph" + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mgr-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mgr/ceph-a" + }, + { + "name": "rook-ceph-admin-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/admin-keyring-store/" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "init-set-prometheus-server-addr", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/admin-keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--setuser=ceph", + "--setgroup=ceph", + "config", + "set", + "mgr.a", + "mgr/prometheus/a/server_addr", + "***HIDDEN***", + "--force", + "--verbose" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_OPERATOR_NAMESPACE", + "value": "rook-ceph" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_VERSION", + "value": "v1" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_NAME", + "value": "rook-ceph" + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mgr-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mgr/ceph-a" + }, + { + "name": "rook-ceph-admin-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/admin-keyring-store/" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "containers": [ + { + "name": "mgr", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-mgr" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=a", + "--setuser=ceph", + "--setgroup=ceph", + "--client-mount-uid=0", + "--client-mount-gid=0", + "--foreground", + "--public-addr=$(ROOK_POD_IP)" + ], + "ports": [ + { + "name": "mgr", + "containerPort": 6800, + "protocol": "TCP" + }, + { + "name": "http-metrics", + "containerPort": 9283, + "protocol": "TCP" + }, + { + "name": "dashboard", + "containerPort": 8443, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_OPERATOR_NAMESPACE", + "value": "rook-ceph" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_VERSION", + "value": "v1" + }, + { + "name": "ROOK_CEPH_CLUSTER_CRD_NAME", + "value": "rook-ceph" + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": { + "requests": { + "cpu": "200m", + "memory": "512Mi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mgr-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mgr/ceph-a" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/", + "port": 9283, + "scheme": "HTTP" + }, + "initialDelaySeconds": 60, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "rook-ceph-mgr", + "serviceAccount": "rook-ceph-mgr", + "securityContext": {}, + "affinity": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-mon-a-677d8ff8c7", + "namespace": "rook-ceph", + "uid": "94eaabf4-cfc2-4e8e-9bde-d572c70eaeb3", + "resourceVersion": "1125", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:18Z", + "labels": { + "app": "rook-ceph-mon", + "ceph_daemon_id": "a", + "ceph_daemon_type": "mon", + "mon": "a", + "mon_cluster": "rook-ceph", + "pod-template-hash": "677d8ff8c7", + "rook_cluster": "rook-ceph" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mon\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"a\",\"ceph_daemon_type\":\"mon\",\"mon\":\"a\",\"mon_cluster\":\"rook-ceph\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\"},\"name\":\"rook-ceph-mon-a\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephCluster\",\"name\":\"rook-ceph\",\"uid\":\"d2636065-51e9-4895-9aed-75bb3f6ef54a\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-mon\",\"ceph_daemon_id\":\"a\",\"mon\":\"a\",\"mon_cluster\":\"rook-ceph\",\"rook_cluster\":\"rook-ceph\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-mon\",\"ceph_daemon_id\":\"a\",\"ceph_daemon_type\":\"mon\",\"mon\":\"a\",\"mon_cluster\":\"rook-ceph\",\"rook_cluster\":\"rook-ceph\"},\"name\":\"rook-ceph-mon-a\",\"namespace\":\"rook-ceph\"},\"spec\":{\"containers\":[{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=a\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--foreground\",\"--public-addr=***HIDDEN***\",\"--setuser-match-path=/var/lib/ceph/mon/ceph-a/store.db\",\"--public-bind-addr=$(ROOK_POD_IP)\"],\"command\":[\"ceph-mon\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_POD_IP\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"status.podIP\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"livenessProbe\":{\"exec\":{\"command\":[\"env\",\"-i\",\"sh\",\"-c\",\"ceph --admin-daemon /run/ceph/ceph-mon.a.asok mon_status\"]},\"initialDelaySeconds\":10},\"name\":\"mon\",\"ports\":[{\"containerPort\":6789,\"name\":\"tcp-msgr1\",\"protocol\":\"TCP\"}],\"resources\":{\"requests\":{\"cpu\":\"300m\",\"memory\":\"1Gi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mons-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\",\"name\":\"ceph-daemon-data\"}]}],\"initContainers\":[{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\",\"/var/lib/ceph/mon/ceph-a\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{\"requests\":{\"cpu\":\"300m\",\"memory\":\"1Gi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mons-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\",\"name\":\"ceph-daemon-data\"}]},{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=a\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--public-addr=***HIDDEN***\",\"--mkfs\"],\"command\":[\"ceph-mon\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"init-mon-fs\",\"resources\":{\"requests\":{\"cpu\":\"300m\",\"memory\":\"1Gi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-mons-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\",\"name\":\"ceph-daemon-data\"}]}],\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"volumes\":[{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"name\":\"rook-ceph-mons-keyring\",\"secret\":{\"secretName\":\"rook-ceph-mons-keyring\"}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-mon-a", + "uid": "d316a9cd-2ea3-430a-8a4c-d7c0e81f70f5", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:24Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mon": {}, + "f:mon_cluster": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"d316a9cd-2ea3-430a-8a4c-d7c0e81f70f5\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:mon": {}, + "f:mon_cluster": {}, + "f:pod-template-hash": {}, + "f:rook_cluster": {} + }, + "f:name": {}, + "f:namespace": {} + }, + "f:spec": { + "f:affinity": {}, + "f:containers": { + "k:{\"name\":\"mon\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:livenessProbe": { + ".": {}, + "f:exec": { + ".": {}, + "f:command": {} + }, + "f:failureThreshold": {}, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":6789,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"init-mon-fs\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/mon/ceph-a\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:nodeSelector": { + ".": {}, + "f:kubernetes.io/hostname": {} + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-daemon-data\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-mons-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-mon", + "ceph_daemon_id": "a", + "mon": "a", + "mon_cluster": "rook-ceph", + "pod-template-hash": "677d8ff8c7", + "rook_cluster": "rook-ceph" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-mon-a", + "namespace": "rook-ceph", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-mon", + "ceph_daemon_id": "a", + "ceph_daemon_type": "mon", + "mon": "a", + "mon_cluster": "rook-ceph", + "pod-template-hash": "677d8ff8c7", + "rook_cluster": "rook-ceph" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-mons-keyring", + "secret": { + "secretName": "rook-ceph-mons-keyring", + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "ceph-daemon-data", + "hostPath": { + "path": "/var/lib/rook/mon-a/data", + "type": "" + } + } + ], + "initContainers": [ + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash", + "/var/lib/ceph/mon/ceph-a" + ], + "resources": { + "requests": { + "cpu": "300m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mons-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mon/ceph-a" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + }, + { + "name": "init-mon-fs", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-mon" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=a", + "--setuser=ceph", + "--setgroup=ceph", + "--public-addr=***HIDDEN***", + "--mkfs" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + } + ], + "resources": { + "requests": { + "cpu": "300m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mons-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mon/ceph-a" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "mon", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-mon" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=a", + "--setuser=ceph", + "--setgroup=ceph", + "--foreground", + "--public-addr=***HIDDEN***", + "--setuser-match-path=/var/lib/ceph/mon/ceph-a/store.db", + "--public-bind-addr=$(ROOK_POD_IP)" + ], + "ports": [ + { + "name": "tcp-msgr1", + "containerPort": 6789, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + }, + { + "name": "ROOK_POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": { + "requests": { + "cpu": "300m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-mons-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/mon/ceph-a" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "env", + "-i", + "sh", + "-c", + "ceph --admin-daemon /run/ceph/ceph-mon.a.asok mon_status" + ] + }, + "initialDelaySeconds": 10, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "nodeSelector": { + "kubernetes.io/hostname": "kurl-002" + }, + "securityContext": {}, + "affinity": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-operator-5557df7466", + "namespace": "rook-ceph", + "uid": "2c38895e-e6b1-42dd-851a-2bd9a22632fe", + "resourceVersion": "772", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:00Z", + "labels": { + "app": "rook-ceph-operator", + "chart": "rook-ceph-v1.5.12", + "pod-template-hash": "5557df7466" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-operator", + "uid": "806a500b-b739-4bc3-9ee9-cb9a14193d11", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:02Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:chart": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"806a500b-b739-4bc3-9ee9-cb9a14193d11\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:chart": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"rook-ceph-operator\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"AGENT_PRIORITY_CLASS_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_CEPHFS_FSGROUPPOLICY\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_ENABLE_CEPHFS_SNAPSHOTTER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_ENABLE_OMAP_GENERATOR\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_ENABLE_RBD_SNAPSHOTTER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_FORCE_CEPHFS_KERNEL_CLIENT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_PLUGIN_PRIORITY_CLASSNAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_PLUGIN_TOLERATIONS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_PROVISIONER_PRIORITY_CLASSNAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_PROVISIONER_TOLERATIONS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CSI_RBD_FSGROUPPOLICY\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"DISCOVER_TOLERATION_KEY\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CSI_ENABLE_CEPHFS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CSI_ENABLE_GRPC_METRICS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CSI_ENABLE_RBD\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CURRENT_NAMESPACE_ONLY\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_DISABLE_DEVICE_HOTPLUG\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_ENABLE_DISCOVERY_DAEMON\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_ENABLE_FLEX_DRIVER\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_ENABLE_SELINUX_RELABELING\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_HOSTPATH_REQUIRES_PRIVILEGED\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_LOG_LEVEL\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_OBC_WATCH_OPERATOR_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {} + } + }, + "f:dnsPolicy": {}, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {} + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-operator", + "pod-template-hash": "5557df7466" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-operator", + "chart": "rook-ceph-v1.5.12", + "pod-template-hash": "5557df7466" + } + }, + "spec": { + "containers": [ + { + "name": "rook-ceph-operator", + "image": "rook/ceph:v1.5.12", + "args": [ + "ceph", + "operator" + ], + "env": [ + { + "name": "DISCOVER_TOLERATION_KEY", + "value": "node-role.kubernetes.io/master" + }, + { + "name": "CSI_PROVISIONER_TOLERATIONS", + "value": "- key: node-role.kubernetes.io/master\n operator: Exists\n" + }, + { + "name": "CSI_PLUGIN_TOLERATIONS", + "value": "- key: node-role.kubernetes.io/master\n operator: Exists\n" + }, + { + "name": "ROOK_CURRENT_NAMESPACE_ONLY", + "value": "false" + }, + { + "name": "AGENT_PRIORITY_CLASS_NAME", + "value": "system-node-critical" + }, + { + "name": "ROOK_HOSTPATH_REQUIRES_PRIVILEGED", + "value": "false" + }, + { + "name": "ROOK_LOG_LEVEL", + "value": "INFO" + }, + { + "name": "ROOK_ENABLE_SELINUX_RELABELING", + "value": "true" + }, + { + "name": "ROOK_DISABLE_DEVICE_HOTPLUG", + "value": "false" + }, + { + "name": "ROOK_CSI_ENABLE_RBD", + "value": "true" + }, + { + "name": "ROOK_CSI_ENABLE_CEPHFS", + "value": "true" + }, + { + "name": "CSI_ENABLE_CEPHFS_SNAPSHOTTER", + "value": "true" + }, + { + "name": "CSI_ENABLE_RBD_SNAPSHOTTER", + "value": "true" + }, + { + "name": "CSI_PLUGIN_PRIORITY_CLASSNAME", + "value": "system-node-critical" + }, + { + "name": "CSI_PROVISIONER_PRIORITY_CLASSNAME", + "value": "system-node-critical" + }, + { + "name": "CSI_ENABLE_OMAP_GENERATOR", + "value": "false" + }, + { + "name": "CSI_RBD_FSGROUPPOLICY", + "value": "ReadWriteOnceWithFSType" + }, + { + "name": "CSI_CEPHFS_FSGROUPPOLICY", + "value": "ReadWriteOnceWithFSType" + }, + { + "name": "ROOK_CSI_ENABLE_GRPC_METRICS", + "value": "true" + }, + { + "name": "CSI_FORCE_CEPHFS_KERNEL_CLIENT", + "value": "true" + }, + { + "name": "ROOK_ENABLE_FLEX_DRIVER", + "value": "false" + }, + { + "name": "ROOK_ENABLE_DISCOVERY_DAEMON", + "value": "true" + }, + { + "name": "ROOK_OBC_WATCH_OPERATOR_NAMESPACE", + "value": "true" + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "ROOK_UNREACHABLE_NODE_TOLERATION_SECONDS", + "value": "5" + } + ], + "resources": { + "limits": { + "cpu": "500m", + "memory": "256Mi" + }, + "requests": { + "cpu": "100m", + "memory": "256Mi" + } + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "rook-ceph-system", + "serviceAccount": "rook-ceph-system", + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-osd-0-6d95994596", + "namespace": "rook-ceph", + "uid": "9770adc3-a910-4bb6-b67b-80b63e271423", + "resourceVersion": "1338", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:43Z", + "labels": { + "app": "rook-ceph-osd", + "ceph-osd-id": "0", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "0", + "ceph_daemon_type": "osd", + "failure-domain": "kurl-002", + "osd": "0", + "pod-template-hash": "6d95994596", + "portable": "false", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph", + "topology-location-host": "kurl-002", + "topology-location-root": "default" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-osd\",\"ceph-osd-id\":\"0\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"0\",\"ceph_daemon_type\":\"osd\",\"failure-domain\":\"kurl-002\",\"osd\":\"0\",\"portable\":\"false\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\",\"topology-location-host\":\"kurl-002\",\"topology-location-root\":\"default\"},\"name\":\"rook-ceph-osd-0\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephCluster\",\"name\":\"rook-ceph\",\"uid\":\"d2636065-51e9-4895-9aed-75bb3f6ef54a\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-osd\",\"ceph-osd-id\":\"0\",\"rook_cluster\":\"rook-ceph\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-osd\",\"ceph-osd-id\":\"0\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"0\",\"ceph_daemon_type\":\"osd\",\"failure-domain\":\"kurl-002\",\"osd\":\"0\",\"portable\":\"false\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\",\"topology-location-host\":\"kurl-002\",\"topology-location-root\":\"default\"},\"name\":\"rook-ceph-osd\"},\"spec\":{\"affinity\":{},\"containers\":[{\"args\":[\"--foreground\",\"--id\",\"0\",\"--fsid\",\"7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--setuser\",\"ceph\",\"--setgroup\",\"ceph\",\"--crush-location=***HIDDEN***; then\\n\\tTMP_DIR=$(mktemp -d)\\n\\n\\t# activate osd\\n\\tceph-volume \\\"$CV_MODE\\\" activate --no-systemd \\\"$OSD_STORE_FLAG\\\" \\\"$OSD_ID\\\" \\\"$OSD_UUID\\\"\\n\\n\\t# copy the tmpfs directory to a temporary directory\\n\\t# this is needed because when the init container exits, the tmpfs goes away and its content with it\\n\\t# this will result in the emptydir to be empty when accessed by the main osd container\\n\\tcp --verbose --no-dereference \\\"$OSD_DATA_DIR\\\"/* \\\"$TMP_DIR\\\"/\\n\\n\\t# unmount the tmpfs since we don't need it anymore\\n\\tumount \\\"$OSD_DATA_DIR\\\"\\n\\n\\t# copy back the content of the tmpfs into the original osd directory\\n\\tcp --verbose --no-dereference \\\"$TMP_DIR\\\"/* \\\"$OSD_DATA_DIR\\\"\\n\\n\\t# retain ownership of files to the ceph user/group\\n\\tchown --verbose --recursive ceph:ceph \\\"$OSD_DATA_DIR\\\"\\n\\n\\t# remove the temporary directory\\n\\trm --recursive --force \\\"$TMP_DIR\\\"\\nelse\\n\\tARGS=(--device ${DEVICE} --no-systemd --no-tmpfs)\\n\\tif [ -n \\\"$METADATA_DEVICE\\\" ]; then\\n\\t\\tARGS+=(--block.db ${METADATA_DEVICE})\\n\\tfi\\n\\tif [ -n \\\"$WAL_DEVICE\\\" ]; then\\n\\t\\tARGS+=(--block.wal ${WAL_DEVICE})\\n\\tfi\\n\\t# ceph-volume raw mode only supports bluestore so we don't need to pass a store flag\\n\\tceph-volume \\\"$CV_MODE\\\" activate \\\"${ARGS[@]}\\\"\\nfi\\n\\n\"],\"env\":[{\"name\":\"CEPH_VOLUME_DEBUG\",\"value\":\"1\"},{\"name\":\"CEPH_VOLUME_SKIP_RESTORECON\",\"value\":\"1\"},{\"name\":\"DM_DISABLE_UDEV\",\"value\":\"1\"},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"CEPH_ARGS\",\"value\":\"-m $(ROOK_CEPH_MON_HOST)\"}],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"activate\",\"resources\":{\"requests\":{\"cpu\":\"500m\",\"memory\":\"1Gi\"}},\"securityContext\":{\"privileged\":true},\"volumeMounts\":[{\"mountPath\":\"/var/lib/ceph/osd/ceph-0\",\"name\":\"activate-osd\"},{\"mountPath\":\"/dev\",\"name\":\"devices\"},{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true}]},{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{\"requests\":{\"cpu\":\"500m\",\"memory\":\"1Gi\"}},\"securityContext\":{\"privileged\":true},\"volumeMounts\":[{\"mountPath\":\"/var/lib/rook\",\"name\":\"rook-data\"},{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/dev\",\"name\":\"devices\"},{\"mountPath\":\"/run/udev\",\"name\":\"run-udev\"},{\"mountPath\":\"/var/lib/ceph/osd/ceph-0\",\"name\":\"activate-osd\"}]}],\"nodeSelector\":{\"kubernetes.io/hostname\":\"kurl-002\"},\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"serviceAccountName\":\"rook-ceph-osd\",\"tolerations\":[{\"key\":\"node-role.kubernetes.io/master\",\"operator\":\"Exists\"}],\"volumes\":[{\"hostPath\":{\"path\":\"/var/lib/rook\"},\"name\":\"rook-data\"},{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"},{\"hostPath\":{\"path\":\"/dev\"},\"name\":\"devices\"},{\"hostPath\":{\"path\":\"/run/udev\"},\"name\":\"run-udev\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/7faaa3d9-40d6-46c3-892b-ad595179161d_12544d32-e299-460e-97bb-b9029a568d42\",\"type\":\"DirectoryOrCreate\"},\"name\":\"activate-osd\"}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-osd-0", + "uid": "04211142-a3f9-489c-a782-7747e33ecada", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:48Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-osd-id": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:failure-domain": {}, + "f:osd": {}, + "f:pod-template-hash": {}, + "f:portable": {}, + "f:rook-version": {}, + "f:rook_cluster": {}, + "f:topology-location-host": {}, + "f:topology-location-root": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"04211142-a3f9-489c-a782-7747e33ecada\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph-osd-id": {}, + "f:ceph-version": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:failure-domain": {}, + "f:osd": {}, + "f:pod-template-hash": {}, + "f:portable": {}, + "f:rook-version": {}, + "f:rook_cluster": {}, + "f:topology-location-host": {}, + "f:topology-location-root": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": {}, + "f:containers": { + "k:{\"name\":\"osd\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CEPH_ARGS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CEPH_VOLUME_DEBUG\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CEPH_VOLUME_SKIP_RESTORECON\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"DM_DISABLE_UDEV\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_CONFIG_OVERRIDE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_SECRET\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_USERNAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CLUSTER_ID\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CONFIG_DIR\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CRUSHMAP_HOSTNAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CRUSHMAP_ROOT\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_FSID\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_MON_ENDPOINTS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:configMapKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_MON_SECRET\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_OSDS_PER_DEVICE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_OSD_ID\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_OSD_STORE_TYPE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_OSD_UUID\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_PRIVATE_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_PUBLIC_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"TINI_SUBREAPER\"}": { + ".": {}, + "f:name": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:livenessProbe": { + ".": {}, + "f:exec": { + ".": {}, + "f:command": {} + }, + "f:failureThreshold": {}, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {}, + "f:readOnlyRootFilesystem": {}, + "f:runAsUser": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/dev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/run/udev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/osd/ceph-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/rook\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"activate\"}": { + ".": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CEPH_ARGS\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CEPH_VOLUME_DEBUG\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"CEPH_VOLUME_SKIP_RESTORECON\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"DM_DISABLE_UDEV\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/dev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/osd/ceph-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {}, + "f:readOnlyRootFilesystem": {}, + "f:runAsUser": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/dev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/run/udev\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/osd/ceph-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/rook\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:nodeSelector": { + ".": {}, + "f:kubernetes.io/hostname": {} + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"activate-osd\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"devices\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + }, + "k:{\"name\":\"rook-data\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"run-udev\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-osd", + "ceph-osd-id": "0", + "pod-template-hash": "6d95994596", + "rook_cluster": "rook-ceph" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-osd", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-osd", + "ceph-osd-id": "0", + "ceph-version": "15.2.11-0", + "ceph_daemon_id": "0", + "ceph_daemon_type": "osd", + "failure-domain": "kurl-002", + "osd": "0", + "pod-template-hash": "6d95994596", + "portable": "false", + "rook-version": "v1.5.12", + "rook_cluster": "rook-ceph", + "topology-location-host": "kurl-002", + "topology-location-root": "default" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-data", + "hostPath": { + "path": "/var/lib/rook", + "type": "" + } + }, + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "devices", + "hostPath": { + "path": "/dev", + "type": "" + } + }, + { + "name": "run-udev", + "hostPath": { + "path": "/run/udev", + "type": "" + } + }, + { + "name": "activate-osd", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/7faaa3d9-40d6-46c3-892b-ad595179161d_12544d32-e299-460e-97bb-b9029a568d42", + "type": "DirectoryOrCreate" + } + } + ], + "initContainers": [ + { + "name": "activate", + "image": "ceph/ceph:v15.2.11", + "command": [ + "/bin/bash", + "-c", + "\nset -ex\n\nOSD_ID=0\nOSD_UUID=***HIDDEN***; then\n\tTMP_DIR=$(mktemp -d)\n\n\t# activate osd\n\tceph-volume \"$CV_MODE\" activate --no-systemd \"$OSD_STORE_FLAG\" \"$OSD_ID\" \"$OSD_UUID\"\n\n\t# copy the tmpfs directory to a temporary directory\n\t# this is needed because when the init container exits, the tmpfs goes away and its content with it\n\t# this will result in the emptydir to be empty when accessed by the main osd container\n\tcp --verbose --no-dereference \"$OSD_DATA_DIR\"/* \"$TMP_DIR\"/\n\n\t# unmount the tmpfs since we don't need it anymore\n\tumount \"$OSD_DATA_DIR\"\n\n\t# copy back the content of the tmpfs into the original osd directory\n\tcp --verbose --no-dereference \"$TMP_DIR\"/* \"$OSD_DATA_DIR\"\n\n\t# retain ownership of files to the ceph user/group\n\tchown --verbose --recursive ceph:ceph \"$OSD_DATA_DIR\"\n\n\t# remove the temporary directory\n\trm --recursive --force \"$TMP_DIR\"\nelse\n\tARGS=(--device ${DEVICE} --no-systemd --no-tmpfs)\n\tif [ -n \"$METADATA_DEVICE\" ]; then\n\t\tARGS+=(--block.db ${METADATA_DEVICE})\n\tfi\n\tif [ -n \"$WAL_DEVICE\" ]; then\n\t\tARGS+=(--block.wal ${WAL_DEVICE})\n\tfi\n\t# ceph-volume raw mode only supports bluestore so we don't need to pass a store flag\n\tceph-volume \"$CV_MODE\" activate \"${ARGS[@]}\"\nfi\n\n" + ], + "env": [ + { + "name": "CEPH_VOLUME_DEBUG", + "value": "1" + }, + { + "name": "CEPH_VOLUME_SKIP_RESTORECON", + "value": "1" + }, + { + "name": "DM_DISABLE_UDEV", + "value": "1" + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "CEPH_ARGS", + "value": "-m $(ROOK_CEPH_MON_HOST)" + } + ], + "resources": { + "requests": { + "cpu": "500m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "activate-osd", + "mountPath": "/var/lib/ceph/osd/ceph-0" + }, + { + "name": "devices", + "mountPath": "/dev" + }, + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": true + } + }, + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash" + ], + "resources": { + "requests": { + "cpu": "500m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-data", + "mountPath": "/var/lib/rook" + }, + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "devices", + "mountPath": "/dev" + }, + { + "name": "run-udev", + "mountPath": "/run/udev" + }, + { + "name": "activate-osd", + "mountPath": "/var/lib/ceph/osd/ceph-0" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": true, + "runAsUser": 0, + "readOnlyRootFilesystem": false + } + } + ], + "containers": [ + { + "name": "osd", + "image": "ceph/ceph:v15.2.11", + "command": [ + "ceph-osd" + ], + "args": [ + "--foreground", + "--id", + "0", + "--fsid", + "7faaa3d9-40d6-46c3-892b-ad595179161d", + "--setuser", + "ceph", + "--setgroup", + "ceph", + "--crush-location=root=default host=kurl-002", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--ms-learn-addr-from-peer=false" + ], + "env": [ + { + "name": "ROOK_NODE_NAME", + "value": "kurl-002" + }, + { + "name": "ROOK_CLUSTER_ID", + "value": "d2636065-51e9-4895-9aed-75bb3f6ef54a" + }, + { + "name": "ROOK_PRIVATE_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + }, + { + "name": "ROOK_PUBLIC_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + }, + { + "name": "POD_NAMESPACE", + "value": "rook-ceph" + }, + { + "name": "ROOK_MON_ENDPOINTS", + "valueFrom": { + "configMapKeyRef": { + "name": "rook-ceph-mon-endpoints", + "key": "data" + } + } + }, + { + "name": "ROOK_MON_SECRET", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "mon-secret" + } + } + }, + { + "name": "ROOK_CEPH_USERNAME", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "ceph-username" + } + } + }, + { + "name": "ROOK_CEPH_SECRET", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "ceph-secret" + } + } + }, + { + "name": "ROOK_CONFIG_DIR", + "value": "/var/lib/rook" + }, + { + "name": "ROOK_CEPH_CONFIG_OVERRIDE", + "value": "/etc/rook/config/override.conf" + }, + { + "name": "ROOK_FSID", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "fsid" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "ROOK_CRUSHMAP_ROOT", + "value": "default" + }, + { + "name": "ROOK_CRUSHMAP_HOSTNAME", + "value": "kurl-002" + }, + { + "name": "CEPH_VOLUME_DEBUG", + "value": "1" + }, + { + "name": "CEPH_VOLUME_SKIP_RESTORECON", + "value": "1" + }, + { + "name": "DM_DISABLE_UDEV", + "value": "1" + }, + { + "name": "ROOK_OSDS_PER_DEVICE", + "value": "1" + }, + { + "name": "TINI_SUBREAPER" + }, + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_OSD_UUID", + "value": "12544d32-e299-460e-97bb-b9029a568d42" + }, + { + "name": "ROOK_OSD_ID", + "value": "0" + }, + { + "name": "ROOK_OSD_STORE_TYPE", + "value": "bluestore" + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "CEPH_ARGS", + "value": "-m $(ROOK_CEPH_MON_HOST)" + } + ], + "resources": { + "requests": { + "cpu": "500m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-data", + "mountPath": "/var/lib/rook" + }, + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "devices", + "mountPath": "/dev" + }, + { + "name": "run-udev", + "mountPath": "/run/udev" + }, + { + "name": "activate-osd", + "mountPath": "/var/lib/ceph/osd/ceph-0" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "env", + "-i", + "sh", + "-c", + "ceph --admin-daemon /run/ceph/ceph-osd.0.asok status" + ] + }, + "initialDelaySeconds": 45, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": true, + "runAsUser": 0, + "readOnlyRootFilesystem": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "nodeSelector": { + "kubernetes.io/hostname": "kurl-002" + }, + "serviceAccountName": "rook-ceph-osd", + "serviceAccount": "rook-ceph-osd", + "securityContext": {}, + "affinity": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node-role.kubernetes.io/master", + "operator": "Exists" + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-rgw-rook-ceph-store-a-5666c4fc9b", + "namespace": "rook-ceph", + "uid": "8e244339-0471-40e5-b95d-2cdb286d8d74", + "resourceVersion": "1770", + "generation": 1, + "creationTimestamp": "2021-10-27T19:27:39Z", + "labels": { + "app": "rook-ceph-rgw", + "ceph_daemon_id": "rook-ceph-store", + "ceph_daemon_type": "rgw", + "pod-template-hash": "5666c4fc9b", + "rgw": "rook-ceph-store", + "rook_cluster": "rook-ceph", + "rook_object_store": "rook-ceph-store" + }, + "annotations": { + "banzaicloud.com/last-applied": "{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-rgw\",\"ceph-version\":\"15.2.11-0\",\"ceph_daemon_id\":\"rook-ceph-store\",\"ceph_daemon_type\":\"rgw\",\"rgw\":\"rook-ceph-store\",\"rook-version\":\"v1.5.12\",\"rook_cluster\":\"rook-ceph\",\"rook_object_store\":\"rook-ceph-store\"},\"name\":\"rook-ceph-rgw-rook-ceph-store-a\",\"namespace\":\"rook-ceph\",\"ownerReferences\":[{\"apiVersion\":\"ceph.rook.io/v1\",\"blockOwnerDeletion\":true,\"controller\":true,\"kind\":\"CephObjectStore\",\"name\":\"rook-ceph-store\",\"uid\":\"e4b688d4-8d06-4017-8fc6-f3d40c64563b\"}]},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"rook-ceph-rgw\",\"ceph_daemon_id\":\"rook-ceph-store\",\"rgw\":\"rook-ceph-store\",\"rook_cluster\":\"rook-ceph\",\"rook_object_store\":\"rook-ceph-store\"}},\"strategy\":{\"type\":\"Recreate\"},\"template\":{\"metadata\":{\"labels\":{\"app\":\"rook-ceph-rgw\",\"ceph_daemon_id\":\"rook-ceph-store\",\"ceph_daemon_type\":\"rgw\",\"rgw\":\"rook-ceph-store\",\"rook_cluster\":\"rook-ceph\",\"rook_object_store\":\"rook-ceph-store\"},\"name\":\"rook-ceph-rgw-rook-ceph-store-a\"},\"spec\":{\"affinity\":{\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchLabels\":{\"app\":\"rook-ceph-rgw\",\"ceph_daemon_id\":\"rook-ceph-store\",\"rgw\":\"rook-ceph-store\",\"rook_cluster\":\"rook-ceph\",\"rook_object_store\":\"rook-ceph-store\"}},\"topologyKey\":\"kubernetes.io/hostname\"},\"weight\":50}]}},\"containers\":[{\"args\":[\"--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d\",\"--keyring=/etc/ceph/keyring-store/keyring\",\"--log-to-stderr=true\",\"--err-to-stderr=true\",\"--mon-cluster-log-to-stderr=true\",\"--log-stderr-prefix=debug \",\"--default-log-to-file=false\",\"--default-mon-cluster-log-to-file=false\",\"--mon-host=$(ROOK_CEPH_MON_HOST)\",\"--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)\",\"--id=rgw.rook.ceph.store.a\",\"--setuser=ceph\",\"--setgroup=ceph\",\"--foreground\",\"--rgw-frontends=beast port=8080\",\"--host=$(POD_NAME)\",\"--rgw-mime-types-file=/etc/ceph/rgw/mime.types\",\"--rgw-realm=rook-ceph-store\",\"--rgw-zonegroup=rook-ceph-store\",\"--rgw-zone=rook-ceph-store\"],\"command\":[\"radosgw\"],\"env\":[{\"name\":\"CONTAINER_IMAGE\",\"value\":\"ceph/ceph:v15.2.11\"},{\"name\":\"POD_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.name\"}}},{\"name\":\"POD_NAMESPACE\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"metadata.namespace\"}}},{\"name\":\"NODE_NAME\",\"valueFrom\":{\"fieldRef\":{\"fieldPath\":\"spec.nodeName\"}}},{\"name\":\"POD_MEMORY_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"limits.memory\"}}},{\"name\":\"POD_MEMORY_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.memory\"}}},{\"name\":\"POD_CPU_LIMIT\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"1\",\"resource\":\"limits.cpu\"}}},{\"name\":\"POD_CPU_REQUEST\",\"valueFrom\":{\"resourceFieldRef\":{\"divisor\":\"0\",\"resource\":\"requests.cpu\"}}},{\"name\":\"ROOK_CEPH_MON_HOST\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_host\",\"name\":\"rook-ceph-config\"}}},{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"mon_initial_members\",\"name\":\"rook-ceph-config\"}}}],\"image\":\"ceph/ceph:v15.2.11\",\"livenessProbe\":{\"httpGet\":{\"path\":\"/swift/healthcheck\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":10},\"name\":\"rgw\",\"resources\":{\"requests\":{\"cpu\":\"300m\",\"memory\":\"1Gi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-rgw-rook-ceph-store-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/rgw/ceph-rook-ceph-store\",\"name\":\"ceph-daemon-data\"},{\"mountPath\":\"/etc/ceph/rgw\",\"name\":\"rook-ceph-rgw-rook-ceph-store-mime-types\",\"readOnly\":true}]}],\"initContainers\":[{\"args\":[\"--verbose\",\"--recursive\",\"ceph:ceph\",\"/var/log/ceph\",\"/var/lib/ceph/crash\",\"/var/lib/ceph/rgw/ceph-rook-ceph-store\"],\"command\":[\"chown\"],\"image\":\"ceph/ceph:v15.2.11\",\"name\":\"chown-container-data-dir\",\"resources\":{\"requests\":{\"cpu\":\"300m\",\"memory\":\"1Gi\"}},\"volumeMounts\":[{\"mountPath\":\"/etc/ceph\",\"name\":\"rook-config-override\",\"readOnly\":true},{\"mountPath\":\"/etc/ceph/keyring-store/\",\"name\":\"rook-ceph-rgw-rook-ceph-store-a-keyring\",\"readOnly\":true},{\"mountPath\":\"/var/log/ceph\",\"name\":\"rook-ceph-log\"},{\"mountPath\":\"/var/lib/ceph/crash\",\"name\":\"rook-ceph-crash\"},{\"mountPath\":\"/var/lib/ceph/rgw/ceph-rook-ceph-store\",\"name\":\"ceph-daemon-data\"}]}],\"priorityClassName\":\"system-cluster-critical\",\"restartPolicy\":\"Always\",\"tolerations\":[{\"effect\":\"NoExecute\",\"key\":\"node.kubernetes.io/unreachable\",\"operator\":\"Exists\",\"tolerationSeconds\":5}],\"volumes\":[{\"name\":\"rook-config-override\",\"projected\":{\"sources\":[{\"configMap\":{\"items\":[{\"key\":\"config\",\"mode\":292,\"path\":\"ceph.conf\"}],\"name\":\"rook-config-override\"}}]}},{\"name\":\"rook-ceph-rgw-rook-ceph-store-a-keyring\",\"secret\":{\"secretName\":\"rook-ceph-rgw-rook-ceph-store-a-keyring\"}},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/log\"},\"name\":\"rook-ceph-log\"},{\"hostPath\":{\"path\":\"/var/lib/rook/rook-ceph/crash\"},\"name\":\"rook-ceph-crash\"},{\"emptyDir\":{},\"name\":\"ceph-daemon-data\"},{\"configMap\":{\"name\":\"rook-ceph-rgw-rook-ceph-store-mime-types\"},\"name\":\"rook-ceph-rgw-rook-ceph-store-mime-types\"}]}}},\"status\":{}}", + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "1", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-rgw-rook-ceph-store-a", + "uid": "a904a052-4dd4-4f3d-bea5-9fd79baaeb32", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:27:41Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:banzaicloud.com/last-applied": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:pod-template-hash": {}, + "f:rgw": {}, + "f:rook_cluster": {}, + "f:rook_object_store": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"a904a052-4dd4-4f3d-bea5-9fd79baaeb32\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:ceph_daemon_id": {}, + "f:ceph_daemon_type": {}, + "f:pod-template-hash": {}, + "f:rgw": {}, + "f:rook_cluster": {}, + "f:rook_object_store": {} + }, + "f:name": {} + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:podAntiAffinity": { + ".": {}, + "f:preferredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"rgw\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"CONTAINER_IMAGE\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"NODE_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_CPU_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_CPU_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_LIMIT\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_MEMORY_REQUEST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:resourceFieldRef": { + ".": {}, + "f:divisor": {}, + "f:resource": {} + } + } + }, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"POD_NAMESPACE\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_HOST\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_MON_INITIAL_MEMBERS\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "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:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/rgw\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/rgw/ceph-rook-ceph-store\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"chown-container-data-dir\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:securityContext": { + ".": {}, + "f:privileged": {} + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/ceph/keyring-store/\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/crash\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/lib/ceph/rgw/ceph-rook-ceph-store\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/var/log/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:priorityClassName": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-daemon-data\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-crash\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-log\"}": { + ".": {}, + "f:hostPath": { + ".": {}, + "f:path": {}, + "f:type": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-ceph-rgw-rook-ceph-store-a-keyring\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"rook-ceph-rgw-rook-ceph-store-mime-types\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"rook-config-override\"}": { + ".": {}, + "f:name": {}, + "f:projected": { + ".": {}, + "f:defaultMode": {}, + "f:sources": {} + } + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-rgw", + "ceph_daemon_id": "rook-ceph-store", + "pod-template-hash": "5666c4fc9b", + "rgw": "rook-ceph-store", + "rook_cluster": "rook-ceph", + "rook_object_store": "rook-ceph-store" + } + }, + "template": { + "metadata": { + "name": "rook-ceph-rgw-rook-ceph-store-a", + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-rgw", + "ceph_daemon_id": "rook-ceph-store", + "ceph_daemon_type": "rgw", + "pod-template-hash": "5666c4fc9b", + "rgw": "rook-ceph-store", + "rook_cluster": "rook-ceph", + "rook_object_store": "rook-ceph-store" + } + }, + "spec": { + "volumes": [ + { + "name": "rook-config-override", + "projected": { + "sources": [ + { + "configMap": { + "name": "rook-config-override", + "items": [ + { + "key": "config", + "path": "ceph.conf", + "mode": 292 + } + ] + } + } + ], + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-rgw-rook-ceph-store-a-keyring", + "secret": { + "secretName": "rook-ceph-rgw-rook-ceph-store-a-keyring", + "defaultMode": 420 + } + }, + { + "name": "rook-ceph-log", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/log", + "type": "" + } + }, + { + "name": "rook-ceph-crash", + "hostPath": { + "path": "/var/lib/rook/rook-ceph/crash", + "type": "" + } + }, + { + "name": "ceph-daemon-data", + "emptyDir": {} + }, + { + "name": "rook-ceph-rgw-rook-ceph-store-mime-types", + "configMap": { + "name": "rook-ceph-rgw-rook-ceph-store-mime-types", + "defaultMode": 420 + } + } + ], + "initContainers": [ + { + "name": "chown-container-data-dir", + "image": "ceph/ceph:v15.2.11", + "command": [ + "chown" + ], + "args": [ + "--verbose", + "--recursive", + "ceph:ceph", + "/var/log/ceph", + "/var/lib/ceph/crash", + "/var/lib/ceph/rgw/ceph-rook-ceph-store" + ], + "resources": { + "requests": { + "cpu": "300m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-rgw-rook-ceph-store-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/rgw/ceph-rook-ceph-store" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "containers": [ + { + "name": "rgw", + "image": "ceph/ceph:v15.2.11", + "command": [ + "radosgw" + ], + "args": [ + "--fsid=7faaa3d9-40d6-46c3-892b-ad595179161d", + "--keyring=/etc/ceph/keyring-store/keyring", + "--log-to-stderr=true", + "--err-to-stderr=true", + "--mon-cluster-log-to-stderr=true", + "--log-stderr-prefix=debug ", + "--default-log-to-file=false", + "--default-mon-cluster-log-to-file=false", + "--mon-host=$(ROOK_CEPH_MON_HOST)", + "--mon-initial-members=$(ROOK_CEPH_MON_INITIAL_MEMBERS)", + "--id=rgw.rook.ceph.store.a", + "--setuser=ceph", + "--setgroup=ceph", + "--foreground", + "--rgw-frontends=beast port=8080", + "--host=$(POD_NAME)", + "--rgw-mime-types-file=/etc/ceph/rgw/mime.types", + "--rgw-realm=rook-ceph-store", + "--rgw-zonegroup=rook-ceph-store", + "--rgw-zone=rook-ceph-store" + ], + "env": [ + { + "name": "CONTAINER_IMAGE", + "value": "ceph/ceph:v15.2.11" + }, + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "POD_NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + }, + { + "name": "NODE_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "spec.nodeName" + } + } + }, + { + "name": "POD_MEMORY_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_MEMORY_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.memory", + "divisor": "0" + } + } + }, + { + "name": "POD_CPU_LIMIT", + "valueFrom": { + "resourceFieldRef": { + "resource": "limits.cpu", + "divisor": "1" + } + } + }, + { + "name": "POD_CPU_REQUEST", + "valueFrom": { + "resourceFieldRef": { + "resource": "requests.cpu", + "divisor": "0" + } + } + }, + { + "name": "ROOK_CEPH_MON_HOST", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_host" + } + } + }, + { + "name": "ROOK_CEPH_MON_INITIAL_MEMBERS", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-config", + "key": "mon_initial_members" + } + } + } + ], + "resources": { + "requests": { + "cpu": "300m", + "memory": "1Gi" + } + }, + "volumeMounts": [ + { + "name": "rook-config-override", + "readOnly": true, + "mountPath": "/etc/ceph" + }, + { + "name": "rook-ceph-rgw-rook-ceph-store-a-keyring", + "readOnly": true, + "mountPath": "/etc/ceph/keyring-store/" + }, + { + "name": "rook-ceph-log", + "mountPath": "/var/log/ceph" + }, + { + "name": "rook-ceph-crash", + "mountPath": "/var/lib/ceph/crash" + }, + { + "name": "ceph-daemon-data", + "mountPath": "/var/lib/ceph/rgw/ceph-rook-ceph-store" + }, + { + "name": "rook-ceph-rgw-rook-ceph-store-mime-types", + "readOnly": true, + "mountPath": "/etc/ceph/rgw" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/swift/healthcheck", + "port": 8080, + "scheme": "HTTP" + }, + "initialDelaySeconds": 10, + "timeoutSeconds": 1, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent", + "securityContext": { + "privileged": false + } + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": {}, + "affinity": { + "podAntiAffinity": { + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 50, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "app": "rook-ceph-rgw", + "ceph_daemon_id": "rook-ceph-store", + "rgw": "rook-ceph-store", + "rook_cluster": "rook-ceph", + "rook_object_store": "rook-ceph-store" + } + }, + "topologyKey": "kubernetes.io/hostname" + } + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 5 + } + ], + "priorityClassName": "system-cluster-critical" + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + }, + { + "metadata": { + "name": "rook-ceph-tools-84fc455b76", + "namespace": "rook-ceph", + "uid": "97a412e8-32cc-4fb4-8162-f365d2430636", + "resourceVersion": "1043", + "generation": 1, + "creationTimestamp": "2021-10-27T19:25:00Z", + "labels": { + "app": "rook-ceph-tools", + "pod-template-hash": "84fc455b76" + }, + "annotations": { + "deployment.kubernetes.io/desired-replicas": "1", + "deployment.kubernetes.io/max-replicas": "2", + "deployment.kubernetes.io/revision": "1" + }, + "ownerReferences": [ + { + "apiVersion": "apps/v1", + "kind": "Deployment", + "name": "rook-ceph-tools", + "uid": "88ea599e-88aa-4f0c-a71d-6eca13f3ada6", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-10-27T19:25:18Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:deployment.kubernetes.io/desired-replicas": {}, + "f:deployment.kubernetes.io/max-replicas": {}, + "f:deployment.kubernetes.io/revision": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:pod-template-hash": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"88ea599e-88aa-4f0c-a71d-6eca13f3ada6\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:replicas": {}, + "f:selector": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:pod-template-hash": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"rook-ceph-tools\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"ROOK_CEPH_SECRET\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"ROOK_CEPH_USERNAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": {}, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/ceph\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/rook\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": {}, + "f:terminationGracePeriodSeconds": {}, + "f:tolerations": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"ceph-config\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"mon-endpoint-volume\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:items": {}, + "f:name": {} + }, + "f:name": {} + } + } + } + } + }, + "f:status": { + "f:availableReplicas": {}, + "f:fullyLabeledReplicas": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "rook-ceph-tools", + "pod-template-hash": "84fc455b76" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "rook-ceph-tools", + "pod-template-hash": "84fc455b76" + } + }, + "spec": { + "volumes": [ + { + "name": "mon-endpoint-volume", + "configMap": { + "name": "rook-ceph-mon-endpoints", + "items": [ + { + "key": "data", + "path": "mon-endpoints" + } + ], + "defaultMode": 420 + } + }, + { + "name": "ceph-config", + "emptyDir": {} + } + ], + "containers": [ + { + "name": "rook-ceph-tools", + "image": "rook/ceph:v1.5.12", + "command": [ + "/tini" + ], + "args": [ + "-g", + "--", + "/usr/local/bin/toolbox.sh" + ], + "env": [ + { + "name": "ROOK_CEPH_USERNAME", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "ceph-username" + } + } + }, + { + "name": "ROOK_CEPH_SECRET", + "valueFrom": { + "secretKeyRef": { + "name": "rook-ceph-mon", + "key": "ceph-secret" + } + } + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "ceph-config", + "mountPath": "/etc/ceph" + }, + { + "name": "mon-endpoint-volume", + "mountPath": "/etc/rook" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirstWithHostNet", + "securityContext": {}, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "node.kubernetes.io/unreachable", + "operator": "Exists", + "effect": "NoExecute", + "tolerationSeconds": 5 + } + ] + } + } + }, + "status": { + "replicas": 1, + "fullyLabeledReplicas": 1, + "readyReplicas": 1, + "availableReplicas": 1, + "observedGeneration": 1 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/default.json b/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/default.json new file mode 100644 index 00000000..cde46e29 --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/default.json @@ -0,0 +1,418 @@ +{ + "kind": "StatefulSetList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195654" + }, + "items": [ + { + "metadata": { + "name": "kotsadm-postgres", + "namespace": "default", + "selfLink": "/apis/apps/v1/namespaces/default/statefulsets/kotsadm-postgres", + "uid": "7b8a5a95-98bf-4b37-b302-7f55e5af844b", + "resourceVersion": "2185", + "generation": 1, + "creationTimestamp": "2021-12-17T18:41:34Z", + "labels": { + "kots.io/backup": "velero", + "kots.io/kotsadm": "true" + }, + "annotations": { + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1\",\"kind\":\"StatefulSet\",\"metadata\":{\"annotations\":{},\"labels\":{\"kots.io/backup\":\"velero\",\"kots.io/kotsadm\":\"true\"},\"name\":\"kotsadm-postgres\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"kotsadm-postgres\"}},\"serviceName\":\"kotsadm-postgres\",\"template\":{\"metadata\":{\"labels\":{\"app\":\"kotsadm-postgres\",\"kots.io/backup\":\"velero\",\"kots.io/kotsadm\":\"true\"}},\"spec\":{\"containers\":[{\"env\":[{\"name\":\"PGDATA\",\"value\":\"/var/lib/postgresql/data/pgdata\"},{\"name\":\"POSTGRES_USER\",\"value\":\"***HIDDEN***\"},{\"name\":\"POSTGRES_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"key\":\"password\",\"name\":\"kotsadm-postgres\"}}},{\"name\":\"POSTGRES_DB\",\"value\":\"kotsadm\"}],\"image\":\"postgres:10.18-alpine\",\"livenessProbe\":{\"exec\":{\"command\":[\"/bin/sh\",\"-i\",\"-c\",\"pg_isready -U kotsadm -h ***HIDDEN*** -p 5432\"]},\"failureThreshold\":3,\"initialDelaySeconds\":30,\"timeoutSeconds\":5},\"name\":\"kotsadm-postgres\",\"ports\":[{\"containerPort\":5432,\"name\":\"postgres\"}],\"readinessProbe\":{\"exec\":{\"command\":[\"/bin/sh\",\"-i\",\"-c\",\"pg_isready -U kotsadm -h ***HIDDEN*** -p 5432\"]},\"initialDelaySeconds\":1,\"periodSeconds\":1,\"timeoutSeconds\":1},\"resources\":{\"limits\":{\"cpu\":\"200m\",\"memory\":\"200Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"100Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/var/lib/postgresql/data\",\"name\":\"kotsadm-postgres\"},{\"mountPath\":\"/etc/passwd\",\"name\":\"etc-passwd\",\"subPath\":\"passwd\"}]}],\"securityContext\":{\"fsGroup\":999,\"runAsUser\":999},\"volumes\":[{\"name\":\"kotsadm-postgres\",\"persistentVolumeClaim\":{\"claimName\":\"kotsadm-postgres\"}},{\"configMap\":{\"items\":[{\"key\":\"passwd\",\"mode\":420,\"path\":\"passwd\"}],\"name\":\"kotsadm-postgres\"},\"name\":\"etc-passwd\"}]}},\"volumeClaimTemplates\":[{\"metadata\":{\"labels\":{\"kots.io/kotsadm\":\"true\"},\"name\":\"kotsadm-postgres\"},\"spec\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"1Gi\"}}}}]}}\n" + }, + "managedFields": [ + { + "manager": "kubectl-client-side-apply", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:34Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/last-applied-configuration": {} + }, + "f:labels": { + ".": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {} + } + }, + "f:spec": { + "f:podManagementPolicy": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {} + } + }, + "f:serviceName": {}, + "f:template": { + "f:metadata": { + "f:labels": { + ".": {}, + "f:app": {}, + "f:kots.io/backup": {}, + "f:kots.io/kotsadm": {} + } + }, + "f:spec": { + "f:containers": { + "k:{\"name\":\"kotsadm-postgres\"}": { + ".": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"PGDATA\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POSTGRES_DB\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + }, + "k:{\"name\":\"POSTGRES_PASSWORD\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:secretKeyRef": { + ".": {}, + "f:key": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"POSTGRES_USER\"}": { + ".": {}, + "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:ports": { + ".": {}, + "k:{\"containerPort\":5432,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:readinessProbe": { + ".": {}, + "f:exec": { + ".": {}, + "f:command": {} + }, + "f:failureThreshold": {}, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/passwd\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:subPath": {} + }, + "k:{\"mountPath\":\"/var/lib/postgresql/data\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsUser": {} + }, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"etc-passwd\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:items": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"kotsadm-postgres\"}": { + ".": {}, + "f:name": {}, + "f:persistentVolumeClaim": { + ".": {}, + "f:claimName": {} + } + } + } + } + }, + "f:updateStrategy": { + "f:rollingUpdate": { + ".": {}, + "f:partition": {} + }, + "f:type": {} + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:41:48Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:spec": { + "f:volumeClaimTemplates": {} + }, + "f:status": { + "f:collisionCount": {}, + "f:currentReplicas": {}, + "f:currentRevision": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updateRevision": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "kotsadm-postgres" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "kotsadm-postgres", + "kots.io/backup": "velero", + "kots.io/kotsadm": "true" + } + }, + "spec": { + "volumes": [ + { + "name": "kotsadm-postgres", + "persistentVolumeClaim": { + "claimName": "kotsadm-postgres" + } + }, + { + "name": "etc-passwd", + "configMap": { + "name": "kotsadm-postgres", + "items": [ + { + "key": "passwd", + "path": "passwd", + "mode": 420 + } + ], + "defaultMode": 420 + } + } + ], + "containers": [ + { + "name": "kotsadm-postgres", + "image": "postgres:10.18-alpine", + "ports": [ + { + "name": "postgres", + "containerPort": 5432, + "protocol": "TCP" + } + ], + "env": [ + { + "name": "PGDATA", + "value": "/var/lib/postgresql/data/pgdata" + }, + { + "name": "POSTGRES_USER", + "value": "***HIDDEN***" + }, + { + "name": "POSTGRES_PASSWORD", + "valueFrom": { + "secretKeyRef": { + "name": "kotsadm-postgres", + "key": "password" + } + } + }, + { + "name": "POSTGRES_DB", + "value": "kotsadm" + } + ], + "resources": { + "limits": { + "cpu": "200m", + "memory": "200Mi" + }, + "requests": { + "cpu": "100m", + "memory": "100Mi" + } + }, + "volumeMounts": [ + { + "name": "kotsadm-postgres", + "mountPath": "/var/lib/postgresql/data" + }, + { + "name": "etc-passwd", + "mountPath": "/etc/passwd", + "subPath": "passwd" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "/bin/sh", + "-i", + "-c", + "pg_isready -U kotsadm -h ***HIDDEN*** -p 5432" + ] + }, + "initialDelaySeconds": 30, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "readinessProbe": { + "exec": { + "command": [ + "/bin/sh", + "-i", + "-c", + "pg_isready -U kotsadm -h ***HIDDEN*** -p 5432" + ] + }, + "initialDelaySeconds": 1, + "timeoutSeconds": 1, + "periodSeconds": 1, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "ClusterFirst", + "securityContext": { + "runAsUser": 999, + "fsGroup": 999 + }, + "schedulerName": "default-scheduler" + } + }, + "volumeClaimTemplates": [ + { + "kind": "PersistentVolumeClaim", + "apiVersion": "v1", + "metadata": { + "name": "kotsadm-postgres", + "creationTimestamp": null, + "labels": { + "kots.io/kotsadm": "true" + } + }, + "spec": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "1Gi" + } + }, + "volumeMode": "Filesystem" + }, + "status": { + "phase": "Pending" + } + } + ], + "serviceName": "kotsadm-postgres", + "podManagementPolicy": "OrderedReady", + "updateStrategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "partition": 0 + } + }, + "revisionHistoryLimit": 10 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "readyReplicas": 1, + "currentReplicas": 1, + "updatedReplicas": 1, + "currentRevision": "kotsadm-postgres-77c87fd9d8", + "updateRevision": "kotsadm-postgres-77c87fd9d8", + "collisionCount": 0 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/monitoring.json b/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/monitoring.json new file mode 100644 index 00000000..df505c73 --- /dev/null +++ b/pkg/analyze/files/support-bundle/cluster-resources/statefulsets/monitoring.json @@ -0,0 +1,1288 @@ +{ + "kind": "StatefulSetList", + "apiVersion": "apps/v1", + "metadata": { + "resourceVersion": "27195655" + }, + "items": [ + { + "metadata": { + "name": "alertmanager-prometheus-alertmanager", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/statefulsets/alertmanager-prometheus-alertmanager", + "uid": "73597dc5-f02d-4557-95ed-ce9daff3b6c9", + "resourceVersion": "3068", + "generation": 2, + "creationTimestamp": "2021-12-17T18:41:31Z", + "labels": { + "app": "kube-prometheus-stack-alertmanager", + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/part-of": "kube-prometheus-stack", + "app.kubernetes.io/version": "17.1.3", + "chart": "kube-prometheus-stack-17.1.3", + "heritage": "Helm", + "release": "v0.49.0-17.1.3" + }, + "annotations": { + "prometheus-operator-input-hash": "17184405095684028533" + }, + "ownerReferences": [ + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "Alertmanager", + "name": "prometheus-alertmanager", + "uid": "c13bc191-0eb8-4fea-95b2-d78a140a64be", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "operator", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:37Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:prometheus-operator-input-hash": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/part-of": {}, + "f:app.kubernetes.io/version": {}, + "f:chart": {}, + "f:heritage": {}, + "f:release": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"c13bc191-0eb8-4fea-95b2-d78a140a64be\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:podManagementPolicy": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:alertmanager": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {} + } + }, + "f:serviceName": {}, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/default-container": {} + }, + "f:labels": { + ".": {}, + "f:alertmanager": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {}, + "f:app.kubernetes.io/version": {} + } + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:podAntiAffinity": { + ".": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"alertmanager\"}": { + ".": {}, + "f:args": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"POD_IP\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:livenessProbe": { + ".": {}, + "f:failureThreshold": {}, + "f:httpGet": { + ".": {}, + "f:path": {}, + "f:port": {}, + "f:scheme": {} + }, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":9093,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + }, + "k:{\"containerPort\":9094,\"protocol\":\"TCP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + }, + "k:{\"containerPort\":9094,\"protocol\":\"UDP\"}": { + ".": {}, + "f:containerPort": {}, + "f:name": {}, + "f:protocol": {} + } + }, + "f:readinessProbe": { + ".": {}, + "f:failureThreshold": {}, + "f:httpGet": { + ".": {}, + "f:path": {}, + "f:port": {}, + "f:scheme": {} + }, + "f:initialDelaySeconds": {}, + "f:periodSeconds": {}, + "f:successThreshold": {}, + "f:timeoutSeconds": {} + }, + "f:resources": { + ".": {}, + "f:requests": { + ".": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/alertmanager\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/alertmanager/certs\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/alertmanager/config\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"config-reloader\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"SHARD\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/alertmanager/config\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsGroup": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"alertmanager-prometheus-alertmanager-db\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"config-volume\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"tls-assets\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + } + } + } + }, + "f:updateStrategy": { + "f:type": {} + } + } + } + }, + { + "manager": "kube-controller-manager", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:52Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:status": { + "f:currentReplicas": {}, + "f:currentRevision": {}, + "f:observedGeneration": {}, + "f:readyReplicas": {}, + "f:replicas": {}, + "f:updateRevision": {}, + "f:updatedReplicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "alertmanager": "prometheus-alertmanager", + "app": "alertmanager", + "app.kubernetes.io/instance": "prometheus-alertmanager", + "app.kubernetes.io/managed-by": "prometheus-operator", + "app.kubernetes.io/name": "alertmanager" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "alertmanager": "prometheus-alertmanager", + "app": "alertmanager", + "app.kubernetes.io/instance": "prometheus-alertmanager", + "app.kubernetes.io/managed-by": "prometheus-operator", + "app.kubernetes.io/name": "alertmanager", + "app.kubernetes.io/version": "0.22.2" + }, + "annotations": { + "kubectl.kubernetes.io/default-container": "alertmanager" + } + }, + "spec": { + "volumes": [ + { + "name": "config-volume", + "secret": { + "secretName": "alertmanager-prometheus-alertmanager-generated", + "defaultMode": 420 + } + }, + { + "name": "tls-assets", + "secret": { + "secretName": "alertmanager-prometheus-alertmanager-tls-assets", + "defaultMode": 420 + } + }, + { + "name": "alertmanager-prometheus-alertmanager-db", + "emptyDir": {} + } + ], + "containers": [ + { + "name": "alertmanager", + "image": "quay.io/prometheus/alertmanager:v0.22.2", + "args": [ + "--config.file=/etc/alertmanager/config/alertmanager.yaml", + "--storage.path=/alertmanager", + "--data.retention=120h", + "--cluster.listen-address=", + "--web.listen-address=:9093", + "--web.external-url=http://prometheus-alertmanager.monitoring:9093", + "--web.route-prefix=/", + "--cluster.peer=alertmanager-prometheus-alertmanager-0.alertmanager-operated:9094", + "--cluster.reconnect-timeout=5m" + ], + "ports": [ + { + "name": "web", + "containerPort": 9093, + "protocol": "TCP" + }, + { + "name": "mesh-tcp", + "containerPort": 9094, + "protocol": "TCP" + }, + { + "name": "mesh-udp", + "containerPort": 9094, + "protocol": "UDP" + } + ], + "env": [ + { + "name": "POD_IP", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "status.podIP" + } + } + } + ], + "resources": { + "requests": { + "memory": "200Mi" + } + }, + "volumeMounts": [ + { + "name": "config-volume", + "mountPath": "/etc/alertmanager/config" + }, + { + "name": "tls-assets", + "readOnly": true, + "mountPath": "/etc/alertmanager/certs" + }, + { + "name": "alertmanager-prometheus-alertmanager-db", + "mountPath": "/alertmanager" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/-/healthy", + "port": "web", + "scheme": "HTTP" + }, + "timeoutSeconds": 3, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 10 + }, + "readinessProbe": { + "httpGet": { + "path": "/-/ready", + "port": "web", + "scheme": "HTTP" + }, + "initialDelaySeconds": 3, + "timeoutSeconds": 3, + "periodSeconds": 5, + "successThreshold": 1, + "failureThreshold": 10 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "FallbackToLogsOnError", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "config-reloader", + "image": "quay.io/prometheus-operator/prometheus-config-reloader:v0.49.0", + "command": [ + "/bin/prometheus-config-reloader" + ], + "args": [ + "--listen-address=:8080", + "--reload-url=http://***HIDDEN***:9093/-/reload", + "--watched-dir=/etc/alertmanager/config" + ], + "env": [ + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "SHARD", + "value": "-1" + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "50Mi" + }, + "requests": { + "cpu": "100m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "config-volume", + "readOnly": true, + "mountPath": "/etc/alertmanager/config" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "FallbackToLogsOnError", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 120, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "prometheus-alertmanager", + "serviceAccount": "prometheus-alertmanager", + "securityContext": { + "runAsUser": 1000, + "runAsGroup": 2000, + "runAsNonRoot": true, + "fsGroup": 2000 + }, + "affinity": { + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app", + "operator": "In", + "values": [ + "alertmanager" + ] + }, + { + "key": "alertmanager", + "operator": "In", + "values": [ + "prometheus-alertmanager" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ] + } + }, + "schedulerName": "default-scheduler" + } + }, + "serviceName": "alertmanager-operated", + "podManagementPolicy": "Parallel", + "updateStrategy": { + "type": "RollingUpdate" + }, + "revisionHistoryLimit": 10 + }, + "status": { + "observedGeneration": 2, + "replicas": 2, + "readyReplicas": 1, + "currentReplicas": 1, + "updatedReplicas": 1, + "currentRevision": "alertmanager-prometheus-alertmanager-575f5ccd86", + "updateRevision": "alertmanager-prometheus-alertmanager-575f5ccd86", + "collisionCount": 0 + } + }, + { + "metadata": { + "name": "prometheus-k8s", + "namespace": "monitoring", + "selfLink": "/apis/apps/v1/namespaces/monitoring/statefulsets/prometheus-k8s", + "uid": "5f50dac8-79ce-4fab-b1f3-5064aab59266", + "resourceVersion": "2791", + "generation": 2, + "creationTimestamp": "2021-12-17T18:41:31Z", + "labels": { + "app": "kube-prometheus-stack-prometheus", + "app.kubernetes.io/instance": "v0.49.0-17.1.3", + "app.kubernetes.io/managed-by": "Helm", + "app.kubernetes.io/part-of": "kube-prometheus-stack", + "app.kubernetes.io/version": "17.1.3", + "chart": "kube-prometheus-stack-17.1.3", + "heritage": "Helm", + "operator.prometheus.io/name": "k8s", + "operator.prometheus.io/shard": "0", + "release": "v0.49.0-17.1.3" + }, + "annotations": { + "prometheus-operator-input-hash": "17776800170066970690" + }, + "ownerReferences": [ + { + "apiVersion": "monitoring.coreos.com/v1", + "kind": "Prometheus", + "name": "k8s", + "uid": "e224f9c1-90b8-4454-8855-8a18ad7984e3", + "controller": true, + "blockOwnerDeletion": true + } + ], + "managedFields": [ + { + "manager": "operator", + "operation": "Update", + "apiVersion": "apps/v1", + "time": "2021-12-17T18:42:38Z", + "fieldsType": "FieldsV1", + "fieldsV1": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:prometheus-operator-input-hash": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/part-of": {}, + "f:app.kubernetes.io/version": {}, + "f:chart": {}, + "f:heritage": {}, + "f:operator.prometheus.io/name": {}, + "f:operator.prometheus.io/shard": {}, + "f:release": {} + }, + "f:ownerReferences": { + ".": {}, + "k:{\"uid\":\"e224f9c1-90b8-4454-8855-8a18ad7984e3\"}": { + ".": {}, + "f:apiVersion": {}, + "f:blockOwnerDeletion": {}, + "f:controller": {}, + "f:kind": {}, + "f:name": {}, + "f:uid": {} + } + } + }, + "f:spec": { + "f:podManagementPolicy": {}, + "f:replicas": {}, + "f:revisionHistoryLimit": {}, + "f:selector": { + "f:matchLabels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {}, + "f:operator.prometheus.io/name": {}, + "f:operator.prometheus.io/shard": {}, + "f:prometheus": {} + } + }, + "f:serviceName": {}, + "f:template": { + "f:metadata": { + "f:annotations": { + ".": {}, + "f:kubectl.kubernetes.io/default-container": {} + }, + "f:labels": { + ".": {}, + "f:app": {}, + "f:app.kubernetes.io/instance": {}, + "f:app.kubernetes.io/managed-by": {}, + "f:app.kubernetes.io/name": {}, + "f:app.kubernetes.io/version": {}, + "f:operator.prometheus.io/name": {}, + "f:operator.prometheus.io/shard": {}, + "f:prometheus": {} + } + }, + "f:spec": { + "f:affinity": { + ".": {}, + "f:podAntiAffinity": { + ".": {}, + "f:requiredDuringSchedulingIgnoredDuringExecution": {} + } + }, + "f:containers": { + "k:{\"name\":\"config-reloader\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"SHARD\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/prometheus/config\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/config_out\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/rules/prometheus-k8s-rulefiles-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + }, + "k:{\"name\":\"prometheus\"}": { + ".": {}, + "f:args": {}, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:ports": { + ".": {}, + "k:{\"containerPort\":9090,\"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:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/prometheus/certs\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/config_out\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/rules/prometheus-k8s-rulefiles-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/web_config/web-config.yaml\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:readOnly": {}, + "f:subPath": {} + }, + "k:{\"mountPath\":\"/prometheus\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {}, + "f:subPath": {} + } + } + } + }, + "f:dnsPolicy": {}, + "f:initContainers": { + ".": {}, + "k:{\"name\":\"init-config-reloader\"}": { + ".": {}, + "f:args": {}, + "f:command": {}, + "f:env": { + ".": {}, + "k:{\"name\":\"POD_NAME\"}": { + ".": {}, + "f:name": {}, + "f:valueFrom": { + ".": {}, + "f:fieldRef": { + ".": {}, + "f:apiVersion": {}, + "f:fieldPath": {} + } + } + }, + "k:{\"name\":\"SHARD\"}": { + ".": {}, + "f:name": {}, + "f:value": {} + } + }, + "f:image": {}, + "f:imagePullPolicy": {}, + "f:name": {}, + "f:resources": { + ".": {}, + "f:limits": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + }, + "f:requests": { + ".": {}, + "f:cpu": {}, + "f:memory": {} + } + }, + "f:terminationMessagePath": {}, + "f:terminationMessagePolicy": {}, + "f:volumeMounts": { + ".": {}, + "k:{\"mountPath\":\"/etc/prometheus/config\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/config_out\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + }, + "k:{\"mountPath\":\"/etc/prometheus/rules/prometheus-k8s-rulefiles-0\"}": { + ".": {}, + "f:mountPath": {}, + "f:name": {} + } + } + } + }, + "f:restartPolicy": {}, + "f:schedulerName": {}, + "f:securityContext": { + ".": {}, + "f:fsGroup": {}, + "f:runAsGroup": {}, + "f:runAsNonRoot": {}, + "f:runAsUser": {} + }, + "f:serviceAccount": {}, + "f:serviceAccountName": {}, + "f:terminationGracePeriodSeconds": {}, + "f:volumes": { + ".": {}, + "k:{\"name\":\"config\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"config-out\"}": { + ".": {}, + "f:emptyDir": {}, + "f:name": {} + }, + "k:{\"name\":\"prometheus-k8s-rulefiles-0\"}": { + ".": {}, + "f:configMap": { + ".": {}, + "f:defaultMode": {}, + "f:name": {} + }, + "f:name": {} + }, + "k:{\"name\":\"tls-assets\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + }, + "k:{\"name\":\"web-config\"}": { + ".": {}, + "f:name": {}, + "f:secret": { + ".": {}, + "f:defaultMode": {}, + "f:secretName": {} + } + } + } + } + }, + "f:updateStrategy": { + "f:type": {} + }, + "f:volumeClaimTemplates": {} + }, + "f:status": { + "f:replicas": {} + } + } + } + ] + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "prometheus", + "app.kubernetes.io/instance": "k8s", + "app.kubernetes.io/managed-by": "prometheus-operator", + "app.kubernetes.io/name": "prometheus", + "operator.prometheus.io/name": "k8s", + "operator.prometheus.io/shard": "0", + "prometheus": "k8s" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "prometheus", + "app.kubernetes.io/instance": "k8s", + "app.kubernetes.io/managed-by": "prometheus-operator", + "app.kubernetes.io/name": "prometheus", + "app.kubernetes.io/version": "2.28.1", + "operator.prometheus.io/name": "k8s", + "operator.prometheus.io/shard": "0", + "prometheus": "k8s" + }, + "annotations": { + "kubectl.kubernetes.io/default-container": "prometheus" + } + }, + "spec": { + "volumes": [ + { + "name": "config", + "secret": { + "secretName": "prometheus-k8s", + "defaultMode": 420 + } + }, + { + "name": "tls-assets", + "secret": { + "secretName": "prometheus-k8s-tls-assets", + "defaultMode": 420 + } + }, + { + "name": "config-out", + "emptyDir": {} + }, + { + "name": "prometheus-k8s-rulefiles-0", + "configMap": { + "name": "prometheus-k8s-rulefiles-0", + "defaultMode": 420 + } + }, + { + "name": "web-config", + "secret": { + "secretName": "prometheus-k8s-web-config", + "defaultMode": 420 + } + } + ], + "initContainers": [ + { + "name": "init-config-reloader", + "image": "quay.io/prometheus-operator/prometheus-config-reloader:v0.49.0", + "command": [ + "/bin/prometheus-config-reloader" + ], + "args": [ + "--watch-interval=0", + "--listen-address=:8080", + "--config-file=/etc/prometheus/config/prometheus.yaml.gz", + "--config-envsubst-file=/etc/prometheus/config_out/prometheus.env.yaml", + "--watched-dir=/etc/prometheus/rules/prometheus-k8s-rulefiles-0" + ], + "env": [ + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "SHARD", + "value": "0" + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "50Mi" + }, + "requests": { + "cpu": "100m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "config", + "mountPath": "/etc/prometheus/config" + }, + { + "name": "config-out", + "mountPath": "/etc/prometheus/config_out" + }, + { + "name": "prometheus-k8s-rulefiles-0", + "mountPath": "/etc/prometheus/rules/prometheus-k8s-rulefiles-0" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "FallbackToLogsOnError", + "imagePullPolicy": "IfNotPresent" + } + ], + "containers": [ + { + "name": "prometheus", + "image": "quay.io/prometheus/prometheus:v2.28.1", + "args": [ + "--web.console.templates=/etc/prometheus/consoles", + "--web.console.libraries=/etc/prometheus/console_libraries", + "--storage.tsdb.retention.size=9GB", + "--config.file=/etc/prometheus/config_out/prometheus.env.yaml", + "--storage.tsdb.path=/prometheus", + "--storage.tsdb.retention.time=15d", + "--web.enable-lifecycle", + "--web.external-url=http://prometheus-k8s.monitoring:9090", + "--web.route-prefix=/", + "--web.config.file=/etc/prometheus/web_config/web-config.yaml" + ], + "ports": [ + { + "name": "web", + "containerPort": 9090, + "protocol": "TCP" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "config-out", + "readOnly": true, + "mountPath": "/etc/prometheus/config_out" + }, + { + "name": "tls-assets", + "readOnly": true, + "mountPath": "/etc/prometheus/certs" + }, + { + "name": "prometheus-k8s-db", + "mountPath": "/prometheus", + "subPath": "prometheus-db" + }, + { + "name": "prometheus-k8s-rulefiles-0", + "mountPath": "/etc/prometheus/rules/prometheus-k8s-rulefiles-0" + }, + { + "name": "web-config", + "readOnly": true, + "mountPath": "/etc/prometheus/web_config/web-config.yaml", + "subPath": "web-config.yaml" + } + ], + "readinessProbe": { + "httpGet": { + "path": "/-/ready", + "port": "web", + "scheme": "HTTP" + }, + "timeoutSeconds": 3, + "periodSeconds": 5, + "successThreshold": 1, + "failureThreshold": 120 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "FallbackToLogsOnError", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "config-reloader", + "image": "quay.io/prometheus-operator/prometheus-config-reloader:v0.49.0", + "command": [ + "/bin/prometheus-config-reloader" + ], + "args": [ + "--listen-address=:8080", + "--reload-url=http://***HIDDEN***:9090/-/reload", + "--config-file=/etc/prometheus/config/prometheus.yaml.gz", + "--config-envsubst-file=/etc/prometheus/config_out/prometheus.env.yaml", + "--watched-dir=/etc/prometheus/rules/prometheus-k8s-rulefiles-0" + ], + "env": [ + { + "name": "POD_NAME", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.name" + } + } + }, + { + "name": "SHARD", + "value": "0" + } + ], + "resources": { + "limits": { + "cpu": "100m", + "memory": "50Mi" + }, + "requests": { + "cpu": "100m", + "memory": "50Mi" + } + }, + "volumeMounts": [ + { + "name": "config", + "mountPath": "/etc/prometheus/config" + }, + { + "name": "config-out", + "mountPath": "/etc/prometheus/config_out" + }, + { + "name": "prometheus-k8s-rulefiles-0", + "mountPath": "/etc/prometheus/rules/prometheus-k8s-rulefiles-0" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "FallbackToLogsOnError", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 600, + "dnsPolicy": "ClusterFirst", + "serviceAccountName": "k8s", + "serviceAccount": "k8s", + "securityContext": { + "runAsUser": 1000, + "runAsGroup": 2000, + "runAsNonRoot": true, + "fsGroup": 2000 + }, + "affinity": { + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchExpressions": [ + { + "key": "app.kubernetes.io/name", + "operator": "In", + "values": [ + "prometheus" + ] + }, + { + "key": "prometheus", + "operator": "In", + "values": [ + "k8s" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + ] + } + }, + "schedulerName": "default-scheduler" + } + }, + "volumeClaimTemplates": [ + { + "kind": "PersistentVolumeClaim", + "apiVersion": "v1", + "metadata": { + "name": "prometheus-k8s-db", + "creationTimestamp": null + }, + "spec": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "10Gi" + } + }, + "volumeMode": "Filesystem" + }, + "status": { + "phase": "Pending" + } + } + ], + "serviceName": "prometheus-operated", + "podManagementPolicy": "Parallel", + "updateStrategy": { + "type": "RollingUpdate" + }, + "revisionHistoryLimit": 10 + }, + "status": { + "observedGeneration": 2, + "replicas": 1, + "readyReplicas": 1, + "currentReplicas": 1, + "updatedReplicas": 1, + "currentRevision": "prometheus-k8s-5d6959665b", + "updateRevision": "prometheus-k8s-5d6959665b", + "collisionCount": 0 + } + } + ] +} \ No newline at end of file diff --git a/pkg/analyze/kube_resource.go b/pkg/analyze/kube_resource.go new file mode 100644 index 00000000..c4a8f96b --- /dev/null +++ b/pkg/analyze/kube_resource.go @@ -0,0 +1,171 @@ +package analyzer + +import ( + "fmt" + "path/filepath" + "reflect" + "strconv" + + "github.com/pkg/errors" + troubleshootv1beta2 "github.com/replicatedhq/troubleshoot/pkg/apis/troubleshoot/v1beta2" + iutils "github.com/replicatedhq/troubleshoot/pkg/interfaceutils" + "gopkg.in/yaml.v2" +) + +var Filemap = map[string]string{ + "Deployment": "deployments", + "StatefulSet": "statefulsets", + "NetworkPolicy": "network-policy", + "Pod": "pods", + "Ingress": "ingress", + "Service": "services", + "ResourceQuota": "resource-quotas", + "Job": "jobs", + "PersistentVoumeClaim": "pvcs", + "pvc": "pvcs", + "ReplicaSet": "replicasets", + "Namespace": "namespaces.json", + "PersistentVolume": "pvs.json", + "pv": "pvs.json", + "Node": "nodes.json", + "StorageClass": "storage-classes.json", +} + +// FindResource locates and returns a kubernetes resource as an interface{} from a support bundle based on some basic selectors +// if clusterScoped is false and namespace is not provided, it will default to looking in the "default" namespace +func FindResource(kind string, clusterScoped bool, namespace string, name string, getFileContents getCollectedFileContents) (interface{}, error) { + + var datapath string + + resourceLocation, ok := Filemap[kind] + + if !ok { + return nil, errors.New("failed to find resource") + } + + datapath = filepath.Join("cluster-resources", resourceLocation) + if !clusterScoped { + if namespace == "" { + namespace = "default" + } + datapath = filepath.Join("cluster-resources", resourceLocation, fmt.Sprintf("%s.json", namespace)) + } + + file, err := getFileContents(datapath) + if err != nil { + return nil, errors.Wrap(err, "failed to read collected resources") + } + + var resource interface{} + err = yaml.Unmarshal(file, &resource) + if err != nil { + return nil, errors.Wrap(err, "failed to parse data as yaml doc") + } + + items, err := iutils.GetAtPath(resource, "items") + if err != nil { + return nil, errors.Wrap(err, "failed to get items from file") + } + itemslice := items.([]interface{}) + for _, item := range itemslice { + name, err := iutils.GetAtPath(item, "metadata.name") + if err != nil { + return nil, errors.Wrapf(err, "Failed to find resource with name: %s", name) + } + if name == name { + return item, nil + } + } + + return nil, nil + +} + +func analyzeResource(analyzer *troubleshootv1beta2.ClusterResource, getFileContents getCollectedFileContents) (*AnalyzeResult, error) { + + selected, err := FindResource(analyzer.Kind, analyzer.ClusterScoped, analyzer.Namespace, analyzer.Name, getFileContents) + if err != nil { + return nil, errors.Wrap(err, "failed to find resource") + } + + actual, err := iutils.GetAtPath(selected, analyzer.YamlPath) + if err != nil { + return nil, errors.Wrapf(err, "failed to get object at path: %s", analyzer.YamlPath) + } + + var expected interface{} + err = yaml.Unmarshal([]byte(analyzer.ExpectedValue), &expected) + if err != nil { + return nil, errors.Wrap(err, "failed to parse expected value as yaml doc") + } + + title := analyzer.CheckName + if title == "" { + title = analyzer.CollectorName + } + + result := &AnalyzeResult{ + Title: title, + IconKey: "kubernetes_text_analyze", + IconURI: "https://troubleshoot.sh/images/analyzer-icons/text-analyze.svg", + } + + equal := reflect.DeepEqual(actual, expected) + + for _, outcome := range analyzer.Outcomes { + if outcome.Fail != nil { + when := false + if outcome.Fail.When != "" { + when, err = strconv.ParseBool(outcome.Fail.When) + if err != nil { + return nil, errors.Wrapf(err, "failed to process when statement: %s", outcome.Fail.When) + } + } + + if when == equal { + result.IsFail = true + result.Message = outcome.Fail.Message + result.URI = outcome.Fail.URI + return result, nil + } + } else if outcome.Warn != nil { + when := false + if outcome.Warn.When != "" { + when, err = strconv.ParseBool(outcome.Warn.When) + if err != nil { + return nil, errors.Wrapf(err, "failed to process when statement: %s", outcome.Warn.When) + } + } + + if when == equal { + result.IsWarn = true + result.Message = outcome.Warn.Message + result.URI = outcome.Warn.URI + return result, nil + } + } else if outcome.Pass != nil { + when := true // default to passing when values are equal + if outcome.Pass.When != "" { + when, err = strconv.ParseBool(outcome.Pass.When) + if err != nil { + return nil, errors.Wrapf(err, "failed to process when statement: %s", outcome.Pass.When) + } + } + + if when == equal { + result.IsPass = true + result.Message = outcome.Pass.Message + result.URI = outcome.Pass.URI + return result, nil + } + } + } + + return &AnalyzeResult{ + Title: title, + IconKey: "kubernetes_text_analyze", + IconURI: "https://troubleshoot.sh/images/analyzer-icons/text-analyze.svg", + IsFail: true, + Message: "Invalid analyzer", + }, nil +} diff --git a/pkg/analyze/kube_resource_test.go b/pkg/analyze/kube_resource_test.go new file mode 100644 index 00000000..b00c78e3 --- /dev/null +++ b/pkg/analyze/kube_resource_test.go @@ -0,0 +1,57 @@ +package analyzer + +import ( + "path/filepath" + "testing" + + troubleshootv1beta2 "github.com/replicatedhq/troubleshoot/pkg/apis/troubleshoot/v1beta2" + "github.com/stretchr/testify/assert" +) + +func Test_clusterResource(t *testing.T) { + tests := []struct { + name string + isError bool + analyzer troubleshootv1beta2.ClusterResource + }{ + { + name: "namespaced resource", + analyzer: troubleshootv1beta2.ClusterResource{ + CollectorName: "Check namespaced resource", + Kind: "Deployment", + Namespace: "kube-system", + Name: "coredns", + }, + }, + { + name: "check default fallthrough", + analyzer: troubleshootv1beta2.ClusterResource{ + CollectorName: "Check namespaced resource", + Kind: "Deployment", + Name: "kotsadm-api", + }, + }, + { + name: "cluster scoped resource", + analyzer: troubleshootv1beta2.ClusterResource{ + CollectorName: "Check namespaced resource", + Kind: "Node", + ClusterScoped: true, + Name: "repldev-marc", + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + + rootDir := filepath.Join("files", "support-bundle") + fcp := fileContentProvider{rootDir: rootDir} + + analyzer := &test.analyzer + _, err := FindResource(analyzer.Kind, analyzer.ClusterScoped, analyzer.Namespace, analyzer.Name, fcp.getFileContents) + assert.Nil(t, err) + + }) + } +} diff --git a/pkg/apis/troubleshoot/v1beta2/analyzer_shared.go b/pkg/apis/troubleshoot/v1beta2/analyzer_shared.go index 860599ed..c9e7883d 100644 --- a/pkg/apis/troubleshoot/v1beta2/analyzer_shared.go +++ b/pkg/apis/troubleshoot/v1beta2/analyzer_shared.go @@ -58,6 +58,18 @@ type DeploymentStatus struct { Name string `json:"name" yaml:"name"` } +type ClusterResource struct { + AnalyzeMeta `json:",inline" yaml:",inline"` + CollectorName string `json:"collectorName,omitempty" yaml:"collectorName,omitempty"` + Outcomes []*Outcome `json:"outcomes" yaml:"outcomes"` + Kind string `json:"kind" yaml:"kind"` + ClusterScoped bool `json:"clusterScoped" yaml:"clusterScoped"` + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` + Name string `json:"name" yaml:"name"` + YamlPath string `json:"yamlPath" yaml:"yamlPath"` + ExpectedValue string `json:"expectedValue,omitempty" yaml:"expectedValue,omitempty"` +} + type StatefulsetStatus struct { AnalyzeMeta `json:",inline" yaml:",inline"` Outcomes []*Outcome `json:"outcomes" yaml:"outcomes"` @@ -227,4 +239,5 @@ type Analyze struct { RegistryImages *RegistryImagesAnalyze `json:"registryImages,omitempty" yaml:"registryImages,omitempty"` WeaveReport *WeaveReportAnalyze `json:"weaveReport,omitempty" yaml:"weaveReport,omitempty"` Sysctl *SysctlAnalyze `json:"sysctl,omitempty" yaml:"sysctl,omitempty"` + ClusterResource *ClusterResource `json:"clusterResource,omitempty" yaml:"clusterResource,omitempty"` } diff --git a/pkg/apis/troubleshoot/v1beta2/zz_generated.deepcopy.go b/pkg/apis/troubleshoot/v1beta2/zz_generated.deepcopy.go index e937abc5..2f76773a 100644 --- a/pkg/apis/troubleshoot/v1beta2/zz_generated.deepcopy.go +++ b/pkg/apis/troubleshoot/v1beta2/zz_generated.deepcopy.go @@ -184,6 +184,11 @@ func (in *Analyze) DeepCopyInto(out *Analyze) { *out = new(SysctlAnalyze) (*in).DeepCopyInto(*out) } + if in.ClusterResource != nil { + in, out := &in.ClusterResource, &out.ClusterResource + *out = new(ClusterResource) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Analyze. @@ -597,6 +602,33 @@ func (in *ClusterPodStatuses) DeepCopy() *ClusterPodStatuses { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResource) DeepCopyInto(out *ClusterResource) { + *out = *in + in.AnalyzeMeta.DeepCopyInto(&out.AnalyzeMeta) + if in.Outcomes != nil { + in, out := &in.Outcomes, &out.Outcomes + *out = make([]*Outcome, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(Outcome) + (*in).DeepCopyInto(*out) + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResource. +func (in *ClusterResource) DeepCopy() *ClusterResource { + if in == nil { + return nil + } + out := new(ClusterResource) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterResources) DeepCopyInto(out *ClusterResources) { *out = *in diff --git a/schemas/analyzer-troubleshoot-v1beta2.json b/schemas/analyzer-troubleshoot-v1beta2.json index 4fa5e1e9..30391f55 100644 --- a/schemas/analyzer-troubleshoot-v1beta2.json +++ b/schemas/analyzer-troubleshoot-v1beta2.json @@ -181,6 +181,104 @@ } } }, + "clusterResource": { + "type": "object", + "required": [ + "clusterScoped", + "kind", + "name", + "outcomes", + "yamlPath" + ], + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "checkName": { + "type": "string" + }, + "clusterScoped": { + "type": "boolean" + }, + "collectorName": { + "type": "string" + }, + "exclude": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "expectedValue": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "outcomes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fail": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "pass": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "warn": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + } + } + } + }, + "strict": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "yamlPath": { + "type": "string" + } + } + }, "clusterVersion": { "type": "object", "required": [ diff --git a/schemas/preflight-troubleshoot-v1beta2.json b/schemas/preflight-troubleshoot-v1beta2.json index d9dbe315..37e4e867 100644 --- a/schemas/preflight-troubleshoot-v1beta2.json +++ b/schemas/preflight-troubleshoot-v1beta2.json @@ -181,6 +181,104 @@ } } }, + "clusterResource": { + "type": "object", + "required": [ + "clusterScoped", + "kind", + "name", + "outcomes", + "yamlPath" + ], + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "checkName": { + "type": "string" + }, + "clusterScoped": { + "type": "boolean" + }, + "collectorName": { + "type": "string" + }, + "exclude": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "expectedValue": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "outcomes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fail": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "pass": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "warn": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + } + } + } + }, + "strict": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "yamlPath": { + "type": "string" + } + } + }, "clusterVersion": { "type": "object", "required": [ diff --git a/schemas/supportbundle-troubleshoot-v1beta2.json b/schemas/supportbundle-troubleshoot-v1beta2.json index e1ffba71..b30b8a1c 100644 --- a/schemas/supportbundle-troubleshoot-v1beta2.json +++ b/schemas/supportbundle-troubleshoot-v1beta2.json @@ -227,6 +227,104 @@ } } }, + "clusterResource": { + "type": "object", + "required": [ + "clusterScoped", + "kind", + "name", + "outcomes", + "yamlPath" + ], + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "checkName": { + "type": "string" + }, + "clusterScoped": { + "type": "boolean" + }, + "collectorName": { + "type": "string" + }, + "exclude": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "expectedValue": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "outcomes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fail": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "pass": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + }, + "warn": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "when": { + "type": "string" + } + } + } + } + } + }, + "strict": { + "oneOf": [{"type": "string"},{"type": "boolean"}] + }, + "yamlPath": { + "type": "string" + } + } + }, "clusterVersion": { "type": "object", "required": [