6. 리눅스
kubernates 기본 명령어
자르르
2021. 12. 30. 13:54
- kubectl 명령어는 자신이 접근할 수 있는 클러스터 환경 정보를 $HOME/.kube/config 파일이나 KUBECONFIG환경 변수에 지정된 설정 파일을 참조하게된다.
- clusters : 쿠버네티스 API 서버 정보(IP 또는 도메인). 이름 그대로 여러 클러스터를 명시할 수 있다.
- users : 쿠버네티스 API에 접속하기 위한 사용자 목록. 아래에서 살펴볼 예정이지만 인증 방식에 따라 형태가 다를 수 있다.
- context : clusters 항목과 users 항목 중에 하나씩 조합해서 만들어진다. 즉, 여러 개의 컨텍스트가 나올 수 있다. 결국 컨텍스트를 기반으로 “어떤 Cluster에 어떤 User가 인증을 통해 쿠버네티스를 사용한다.” 의미로 해석하면 된다.
- service Account : 쿠버네티스 상에 존재하는 오브젝트이며, 네임스페이스에 마다 각각 정의할 수 있고, 각 네임스페이스에는 default 서비스 어카운트가 자동으로 생성된다.
- 명령어
- 명령어 설명
-
명령어설명
apply 원하는 상태를 적용합니다. 보통 -f 옵션으로 파일과 함께 사용. get 리소스 목록을 보여줌. describe 리소스의 상태를 자세하게 보여줌. delete 리소스를 제거. logs 컨테이너의 로그 확인. exec 컨테이너에 명령어를 전달 및 컨테이너에 접근할 때 주로 사용함. config kubectl 설정을 관리.
-
- 모든 Context 확인
- kubectl config get-contexts
- 현재 Context 확인
- kubectl config current-context
- 신규 Context 만들기
- kubectl config set-context new-context --cluster=local-kubernetes --user=noah.c
- Context 변경
- kubectl config set-context new-context --cluster=local-kubernetes --user=noah.c
- kubeconfig 설정 전체 확인
- kubectl config view
- Service Account 확인
- kubectl describe sa -n test default
- 명령어 설명
-----------------------
그 외에 자잘하는 쓰는 명령어들
pod 접속
kubectl exec -it [pod명] -- sh
인그레스 확인
kubectl get ingress
secret 확인
kubectl get secret
namespace 확인
kubectl get namespace
인증서 설치 및 교체
kubectl create secret tls 도메인 --key 도메인_key.pem --cert 도메인_crt.pem -n 네임스페이스 --dry-run -o yaml | kubectl apply -f-
(빨간색 부분만 변경해서 사용)
- tls : 잉그레스 설정 값
- key: 인증서 key파일 경로
- cert : 인증서 crt 파일 경로
- -n : namespace 명칭
인증서 설치 확인
openssl s_client -showcerts -connect 접속호스트:443 -servername 서버명 </dev/null 2>/dev/null | grep -E "s:|i:"
- ip는 잉그레스 ip중 하나로 확인하면 된다.