Net Eng

[CKA] - Check Resource Information 본문

Cloud/Kubernetes

[CKA] - Check Resource Information

欲心 2024. 1. 23. 12:27

[선수 작업]

kubectl config set-context k8s --user=kubernetes-admin --cluster=kubernetes
mkdir -p /var/CKA2023/
mkdir -p /srv/app-config /srv/pv{1,2}
kubectl apply -f - <<EOF
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: app-config
spec:
  capacity:
    storage: 1Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  storageClassName: az-c
  hostPath:
    path: /srv/app-config
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv1
spec:
  capacity:
    storage: 10Mi
  accessModes:
    - ReadWriteMany
  storageClassName: app-hostpath-sc
  hostPath:
    path: /srv/pv1
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv2
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  storageClassName: app-hostpath-sc
  hostPath:
    path: /srv/pv2
EOF

 


 

[문제]

  • 작업 클러스터: k8s
  • List all PV's sorted by name saving the full kubectl output to /var/CKA2023/my_volumes.
  • Use kubectl’s own functionally for sorting the output, and do not manipulate it any further.

 

[풀이]

kubectl config use-context k8s

* k8s 클러스터 사용

 

kubectl get pv pv1 -o json

* json 형식으로 확인

 

{
    "apiVersion": "v1",
    "kind": "PersistentVolume",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"PersistentVolume\",\"metadata\":{\"annotations\":{},\"name\":\"pv1\"},\"spec\":{\"accessModes\":[\"ReadWriteMany\"],\"capacity\":{\"storage\":\"10Mi\"},\"hostPath\":{\"path\":\"/srv/pv1\"},\"storageClassName\":\"app-hostpath-sc\"}}\n"
        },
        "creationTimestamp": "2024-01-23T03:12:27Z",
        "finalizers": [
            "kubernetes.io/pv-protection"
        ],
        "name": "pv1",
        "resourceVersion": "4233",
        "uid": "35e6e15d-8617-492d-94e5-20532c1fa7b3"
    },
    "spec": {
        "accessModes": [
            "ReadWriteMany"
        ],
        "capacity": {
            "storage": "10Mi"
        },
        "hostPath": {
            "path": "/srv/pv1",
            "type": ""
        },
        "persistentVolumeReclaimPolicy": "Retain",
        "storageClassName": "app-hostpath-sc",
        "volumeMode": "Filesystem"
    },
    "status": {
        "phase": "Available"
    }
}

* .metadata.name 확인

 

kubectl get pv --sort-by=.metadata.name > /var/CKA2023/my_volumes

* --sort-by 옵션으로 정렬 및 해당 위치에 저장

 

cat /var/CKA2023/my_volumes

* 내용 확인

 

저장된 내용 확인


[참고]

 

kubectl 치트 시트

이 페이지는 일반적으로 사용하는 kubectl 커맨드와 플래그에 대한 목록을 포함한다. Kubectl 자동 완성 BASH source <(kubectl completion bash) # bash-completion 패키지를 먼저 설치한 후, bash의 자동 완성을 현재

kubernetes.io

 

'Cloud > Kubernetes' 카테고리의 다른 글

[CKA] - Kubernetes Upgrade  (0) 2024.01.23
[CKA] - Ingress 구성  (0) 2024.01.23
[CKA] - Persistent Volume Claim 사용하는 Pod 운영  (0) 2024.01.22
[CKA] - Persistent Volume 생성  (0) 2024.01.22
[CKA] - Secret 운영  (0) 2024.01.22