K3S 101
특징
- Kubernetes의 경량화 버전으로 아래와 같은 특징
- 기본 설치만으로 바로 배포 테스트 가능
- Overlay Netowrk(Flannel), Load balancer, Ingress(Traefik), CoreDNS 등이 기본 설치 됨
- https://rancher.com/docs/k3s/latest/en/networking/
- etcd 대신 sqlite 운영
- Master node schedulable
- uncordon 제외 가능
- Worker node 필요 없음 (필요시 추가 가능)
k3s install
URL : https://k3s.io/
curl -sfL https://get.k3s.io sh -
Command
- 컨테이너 실행
kubectl run <NAME> –image <IMAGES> ex) kubectl run mynginx –image nginx
- 컨테이너 조회
kubectl get pod
- pod 추가 정보 확인
kubectl get pod -o wide
- pod의 상태정보를 상세하게 확인
kubectl get pod mynginx -o yaml
-
STATUS 상태
- Pending : 쿠버네티스 마스터에 생성 명령은 전달되었지만 아직 실행 되지않은 상태
- ContainerCreating: 특정 노드에 스케줄링되어 컨데이너를 생성 중인 상태
- Running : Pod 가 정상적으로 실행되고 있는 상태
- Completed : 계속 실행되고 있는 프로세스가 아닌 한번 실행하고 완료되는 배치 작업 Pod 에서 작업이 완료된 상태
- Error : Pod에 문제가 생겨 에러 발생한 상태
- CrashLoopBackOff: 지속적으로 에러 상태로 있어 Crash가 반복 되는 상태
- pod 추가 정보 확인
- 컨데이너 상세 정보 확인
kubectl describe pod <NAME>
- 컨데이터 로깅
kubectl logs <NAME>
Option : -f (--follow)
- 컨테이너 명령 전달
kubectl exec <NAME> – <CMD>
구분자(--)로 전달
ex) kubectl exec mysql – apt-get update
- 컨테이너 접속
kubectl exec -it mysql – bash
- 컨테이너 접속
- 컨테이너 / 호스트간 파일 복사
kubectl cp <TAGET> <SOURCE> ex) <HOST> –> <CONTAINER> kubectl cp /etc/passwd mynginx:/tmp/passwd
- 컨테이너 정보 수정
kubectl edit pod <NAME>
- 컨테이너 삭제
kubectl delete pod <NAME>
- 컨데이터 생성 (선언형 명령 정의서 /w YAML)
kubectl apply -f <FILE_NAME> kubectl apply -f http://XXX.XXX/XXXX.yaml
- 네임 스페이스(Namespace)
- 쿠버네티스 클러스터를 논리적으로 나누는 역할. Pod, Service와 같은 리소스가 네임스페이스별로 생성되고 사용자 접근제어, Network 접근제어 정책을 다르게 가져갈수 있습니다.
kubectl get namespace
- 쿠버네티스 클러스터를 논리적으로 나누는 역할. Pod, Service와 같은 리소스가 네임스페이스별로 생성되고 사용자 접근제어, Network 접근제어 정책을 다르게 가져갈수 있습니다.
- 모든 리소스 조회
kubectl api-resources
- 4번째 컬럼에 NAMESPACES 라는 이름의 컬럼이 존재, 네임스페이스 레벨의 리소스 인지 확인 하는 컬럼
- 리소스 정의 설명
kubectl explain pods
- 클러스터 상태 확인
- 쿠버네티스 API 서버 작동 여부 확인
kubectl cluster-info
- 전체 노스 상태 확인
kubectl get node
- 쿠버네티스 핵심 컴포넌트의 Pod 상태 확인
kubectl get pod -n kube-system
- 쿠버네티스 API 서버 작동 여부 확인
- 클러스터 설정 파일
kubectl config <SUBCOMMAND>
- 설정 파일 확인
kubectl config view
- 설정파일 직접 출력
cat $HOME/.kube/config
- 설정 파일 확인
댓글남기기