515 words
3 minutes
[Kubernetes]01. 기본 컨셉과 설치
Overview
1. Kubernetes
Kubernetes
Concept
- Kubernetes : 컨테이너 자동 배포, 스케일링, 오케스트레이션을 지원하는 오픈소스 플랫폼. 선언적 구성과 자동화를 통해 desired state를 유지하도록 설계된 일종의 분산시스템. 핵심은 서비스 리커버리와 자동화.
특징
- Scalability: 확장성 및 고가용성을 제공.
- Flexibility: cloud, on-premises, hybrid, multi-cloud 환경에서 사용 가능.
- Self-Healing: failover, load balancing, auto-scaling을 지원.
- Rich Ecosystem: 다양한 플러그인, 툴, 서비스를 제공.
2. 설치
싱글노드 환경에 K3S 설치
- nixos환경에 k3s를 설치할 경우 nix configuration을 수정하는 것만으로 간단하게 k3s를 설치할 수 있다.
services.k3s.enable = true; services.k3s.role = "server"; services.k3s.extraFlags = toString [ # "--debug" # k3s 서버용 추가 플래그 "--tls-san homeserver" ];3. cli 환경 최적화
kubectl alias 적용
- .zshrc에 alias를 추가하여 kubectl 명령어를 보다 단순화 할 수 있다.
alias k=kubectlalias kg='kubectl get'alias kd='kubectl describe'alias kr='kubectl run'alias klo='kubectl logs -f'alias kc='kubectl create'alias ke='kubectl edit'krew tool 설치
- krew는 쿠버네티스용 플러그인 설치와 관리를 도와주는 도구이다.
- nix home manager를 사용할 경우 아래와 같이 krew를 설치하고 사용할 수 있다.
home.packages = with pkgs; [ krew ];- k3s는 기본적으로 —write-kubeconfig-mode 플래그를 활성화 시켜야 krew를 사용할 수 있다.
services.k3s.enable = true;services.k3s.role = "server";services.k3s.extraFlags = toString ["--write-kubeconfig-mode 644"];플러그인 목록 조회
krew search설치 대상 플러그인
kubectx
- kubectx는 쿠버네티스 클러스터를 쉽게 전환할 수 있도록 도와주는 플러그인
- context를 전환할 때 사용
krew install ctxkubens
- kubens는 어플리케이션 단위로 분리된 네임스페이스를 쉽게 전환할 수 있도록 도와주는 플러그인
- namespace 조회 및 전환에 사용
krew install nskubeps1
- kubeps1은 현재 클러스터와 네임스페이스를 표시하는 프롬프트를 제공하는 플러그인
References
- 24단계 실습으로 정복하는 쿠버네티스
[Kubernetes]01. 기본 컨셉과 설치
https://yjinheon.netlify.app/posts/05system/k8s/k8s_01_install/