CKAD

Practice Test

백셀건전지 2022. 4. 26. 08:58

Kubeconfig

  • I would like to use the dev-user to access test-cluster-1. Set the current context to the right one so I can do that. Once the right context is identified, use the kubectl config use-context command.
kubectl config --kubeconfig=/root/my-kube-config use-context research
kubectl config --kubeconfig=/root/my-kube-config current-context
  • default config 파일 위치: ~/.kube/config
  • 다른 config 파일을 default로 적용하기 위해서는 위의 default config 파일로 덮어쓰기.

Role Based Access Controls

  • Authorization mode 확인하는 명령어
kubectl describe po kube-apiserver-controlplane -n kube-system
    Command:
      kube-apiserver
      --advertise-address=10.13.127.9
      --allow-privileged=true
      --authorization-mode=Node,RBAC
  • Role이 어디에 할당되어있는지 확인하는 방법: rolebinding을 확인한다.
  • 특정 user가 kubectl 명령어 권한을 가지고 있는지 확인하는 옵션
kubectl get po --as dev-user

Cluster Roles

  • role 생성 시 resources 에 필요한 api group 찾는 명령어
kubectl api-versions | grep storageclass

API Versions/Deprecations

  • Control plane에서 rbac.authorization.k8s.io 버전을 v1alpha1으로 변경하는 방법

1. apiserver 파일 백업

cp -v /etc/kubernetes/manifests/kube-apiserver.yaml /root/kube-apiserver.yaml.backup

2. apiserver 파일 수정하여 --runtime-config 옵션 변경

- command:
    - kube-apiserver
    - --advertise-address=10.18.17.8
    - --allow-privileged=true
    - --authorization-mode=Node,RBAC
    - --client-ca-file=/etc/kubernetes/pki/ca.crt
    - --enable-admission-plugins=NodeRestriction
    - --enable-bootstrap-token-auth=true
    - --runtime-config=rbac.authorization.k8s.io/v1alpha1 --> This one

kubectl convert 플러그인 설치 방법

1. 아래의 명령어로 바이너리 다운로드

curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert

2. 바이너리 파일에 실행권한 추가 및 파일 /usr/local/bin 하위로 이동

chmod +x kubectl-convert
mv kubectl-convert /usr/local/bin/kubectl-convert

3. --help 명령어로 실행 확인

kubectl-convert --help

kubectl convert 명령어로 manifest version 변경하는 방법

1. kubectl-convert 명령어로 변경된 ingress manifest 파일 생성

kubectl-convert -f ingress-old.yaml --output-version networking.k8s.io/v1 > ingress-new.yaml

2. 새로운 ingress manifest 파일로 create

kubectl create -f ingress-new.yaml