"k8s" 태그로 연결된 4개 게시물개의 게시물이 있습니다.
모든 태그 보기k9s로 k8s 주요 명령어 확인#
- namespace
- 쿠버네티스 오브젝트를 묶는 하나의 가상공간 또는 그룹
pod
#
- pod
- 컨테이너를 하나 이상 모아 놓은 것으로, 쿠버네티스 애플리케이션의 최소 단위
deploy
#
- deployment
- 애플리케이션 단위를 관리하는 Controller이며, Kubernetes의 최소 유닛인 Pod에 대한 기준 spec을 정의한 Object
serivce
#
- service
- pod의 논리적 집합이며 어떻게 접근할지에 대한 정책은 정의해놓은 것
- 즉 각 Pod의 IP로는 외부에서 접근이 불가능하지만, 서비스는 이를 가능하게 허용
ingress
#
- 클러스터 외부에서 내부 서비스로 접근하는 HTTP, HTTPS 요청들을 어떻게 처리할지 정의해둔 규칙들의 모음
- 클러스터 외부에서 접근가능한 URL을 사용할 수 있게 하며, 트래픽을 로드밸런싱도 해주고, SSL 인증서 처리를 해주고, 도메인 기반으로 가상 호스팅을 제공
- 전제조건으로 인그레스 컨트롤러가 있어야 인그레스를 충족(AWS, GCE, Nginx, Treafik)
- 인그레스 컨트롤러(ingress controller)는 자동으로 실행되지 않으며 클러스터에 가장 적합한 컨트롤러를 선택하여 구현
- k3s + nginx ingress controller(no traefik)
- Reference
secret
#
- 비밀번호, OAuth 토큰, ssh 키 같은 민감한 정보들을 저장하는 용도
Storageclasses
#
- 관리자가 제공하는 스토리지의 "classes"를 설명할 수 있는 방법을 제공
ssh 접속을 이용해 local pc에서 remote k3s 살펴보기#
필요 파일#
/etc/rancher/k3s/k3s.yaml
- 참조
scp 명령어 사용해서 local 클라이언트쪽으로 k3s.yaml
파일 이동#
scp -P [포트] [원격 서버 이름]@[원격서버 아이피]:[가져올 파일 경로] [붙여넣을 경로]
- 포트는 추가 옵션
- 소유자 변경 할것
- 소유자 변경 명령(chown)은 이전 포스팅 확인
원격 서버 ssh접속#
ssh [원격 서버 이름]@[원격서버 아이피] -p[포트] -L 6443:localhost:6443
- -L: 터널링 옵션
- A가 B에 접근가능, B가 C에 접근가능, A는 C에 접근 불가능일때 -L 사용시 A가 C에 접근가능
- 이 경우는 k8s default 포트인 6443으로 터널링
추가 터미널 오픈#
- 위의 접속 터미널은 그대로 두고
- 아래 명령어 실행
export KUBECONFIG=[local 클라이언트쪽으로 복사해온
k3s.yaml 파일 경로]
k9s 실행#
1. k8s 관련 기본 개념정리#
Image#
- application 실행에 필요한 최소한의 환경(런타임, 라이브러리)을 포함하고 있는 바이너리 파일
- 컨테이너 실행에 필요한 파일과 설정 값을 포함하고 있는 것
- Dockerfile이라는 파일을 통해 제작
Container#
- 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술
- 호스트에서 돌아가고 있는 하나의 프로세스
- 즉 위의 Image를 실행한 상태로 격리된 공간에서 프로세스를 동작 시키는 기술
- 하나의 Image로 여러개의 컨테이너 생성 가능
Docker#
- 컨테이너를 다루는 도구
- 즉 컨테이너 런타임중 가장 유명한 플랫폼
- push, pull, run 명령어등을 통해 이미지를 컨테이너에 띄우고 실행
Kubernetes#
- Docker를 이용해 컨테이너를 분산 배치, 상태 관리, 구동 환경 관리 즉 오케스트레이션 하는 도구
2. k3s 설치#
- 컨테이너 관련 기술을 개발하는 Rancher Labs에서 개발한 쿠버네티스
- 기존 etcd 의존성을 없애고 sqlite를 기본으로 사용
- 컨테이너 런타임으로 Docker을 대신해 containerd를 사용
- 설치가 매우 간단
- 단점으로는 기존 쿠버네티스에서 지원하는 과거 버전 API 미지원
설치 방법#
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--no-deploy kubernetes-dashboard" sh -
- 대쉬보드 설치 X 옵션 추가
- 대쉬보드 관련해서는 다음 글에서 설명(
k9s
)
설치 완료#
1. k9s란?#
- 커맨드 라인 도구인
kubectl
을 대신해서 쿠버네티스 클러스터를 제어할수 있는 터미널 기반 UI툴
2. k9s 설치#
k3s를 설치한 서버의 터미널창 오픈#
brew install k9s
#
3. k3s 살펴보기#
/etc/rancher/k3s/k3s.yaml 파일을 적당한 폴더로 이동 및 이름 변경#
옮긴 파일의 소유자 변경#
sudo chown 'YOUR OWNER':'YOUR GROUP' 'FILE NAME'
k9s --kubeconfig /YOUR DIRECTORY/YOUR FILE
#