Certified Kubernetes Administrator (CKA) with Practice Tests (강의 링크, 레퍼런스 노트)
curl https://kube-master:6443/version
curl https://kube-master:6443/api/v1/pods
kubectl proxy
로 8001 포트에 프록시 서비스를 띄우면 kubeconfig를 사용하기 때문에 curl 명령어에 옵션을 넘겨줄 필요가 없음kubectl get
은 사용 가능하나 kubectl delete node
는 사용 불가kubectl describe pod [kube-api pod] -n kube-system
cat /etc/kubernetes/manifests/kube-apiserver.yaml
ps -aux | grep authorization
kubectl get roles
kubectl get rolebindings
kubectl describe role [역할명]
kubectl describe rolebinding [역할바인딩명]
kubectl auth can-i create deployments
--as dev-user
--namespace test
kubectl get roles -A --no-headers | wc -l
kubectl create role [이름] --verb=list,create,delete --resource=pods
kubectl edit role [이름] -n [네임스페이스명]
kubectl api-resources --namespaced=true
kubectl api-resources --namespaced=false
kubectl create serviceaccount(sa) [서비스 계정명]
kubectl get serviceaccount
kubectl describe serviceaccount [서비스 계정명]
kubectl describe secret [토큰명]
curl https://.../api -insecure --header "Authorization: Bearer [토큰]
kubectl exec -it [pod명] --ls [마운트 경로: /var/run/secrets/kubernetes.io/serviceaccount]
kubectl exec -it [pod명] cat [마운트 경로 내 토큰파일: /var/run/secrets/kubernetes.io/serviceaccount/token]
kubectl set serviceaccount deploy/[deploy명] [서비스 계정명]
kubectl apply -f [파일명]
kubectl create token [서비스 계정명]
으로 별도 생성해야 함docker login private-registry.io
docker run private-registry.io/apps/internal-app
kubectl create secret docker-registry [시크릿 이름] --docker-server=[private-registry.io] --docker-username=[사용자명] --docker-password=[비밀번호] --docker-email=[이메일 주소]
docker run --user=[user ID] ...
docker build -t [이미지명] .
docker run [이미지명] ...
docker run --cap-add MAC_ADMIN [이미지명]
docker run --cap-drop KILL [이미지명]
docker run --privileged [이미지명]
kubectl api-resources
jq -R 'split(".") | select(length > 0) | .[0],.[1] | @base64d | fromjson' <<< [토큰내용]
kubectl exec [pod명] -- whoami
kubectl get networkpolicies(netpol)