- k8s-1-쿠버네티스-개요와-클러스터-설치2025년 01월 01일
- BE_규원
- 작성자
- 2025.01.01.:20
1절. 쿠버네티스란?
쿠버네티스의 소개와 특징
- 쿠버네티스
- 대규모 클러스터 환경에서 컨테이너화된 애플리케이션 자동 배포
- 확장, 관리를 위한 여러 요소 자동화
- 오픈소스 플랫폼
- 사용자 부하에 따라 자동으로 애플리케이션과 서버 규모 확장 가능
- 특징
- 소스코드 기반 클러스터 운영
- 명령어가 아닌 소스코드 기반
- 적용하기 전에 코드로 구현해 검토 가능
- 공통의 도구로써 효율적인 의사소통에 도움
- desired state 를 통한 클러스터 관리
- Go 언어의 watch 모듈을 통해 의도한 상태와 현재 실행 중인 상태를 끊임없이 비교
- 의도한 상태에서 벗어나는 경우 의도한 상태로 다시 변경 (self-healing)
- 예기치 않은 종료 시 자동으로 재시작
- 운영자가 개입하지 않아도 되기에 생산성 향상
- rolling update 를 통해 무중단 배포 가능
- 소스코드 기반 클러스터 운영
2절. Kubespray 를 이용해 3개의 노드로 구성된 클러스터 구축
Kubespray, K3s 를 이용해 쿠버네티스를 설치하고 단일 지점 로컬호스트에서 여러 원격 클러스터를 관리하는 방법 소개
- 쿠버네티스 설치
- 온프레미스 환경
- kubeadm, Kubespray 등으로 설치
- 퍼블릭 클라우드 환경
- managed kubernetes service 이용
- 온프레미스 환경
- 실습
- Kubespray 를 이용한 쿠버네티스 클러스터 설치
- Ansible 기반 쿠버네티스 설치 자동화 도구
- Kubespray 를 이용한 쿠버네티스 클러스터 설치
sudo swapoff -a
sudo apt update
sudo apt install pyhton3-pip
sudo pip install -r requirement.txt
ansible-playbook -i inventory/mycluster/hosts.yml -vvv --become --become-user=root cluster.yml
3절. K3s를 이용해 단일 노드로 구성된 클러스터 구축
단일 노드 쿠버네티스 설치
- 단일 노드 쿠버네티스를 위해 K3s, minikube, kind 이용 가능
- 노드 간 워크로드 분배, 노드 failover 등 클러스터 관리 업무 수행 불가능
설치 방법
curl -sfL https://get.k3s.io | sh -
4절. 로컬호스트에서 원격 쿠버네티스 관리하기
kubectl 설치
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
또는
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubeconfig 에서 API 서버 통신에 필요한 인증 정보를 관리 (~/.kube/config 에 존재)
kubectl config view 를 통해 확인 가능
원격 클러스터의 kubeconfig 파일을 로컬호스트로 복사한 뒤
서버 ip, 클러스터, 사용자, context 이름을 변경'infra' 카테고리의 다른 글
k8s-6-헬름-기반으로-애플리케이션-설치하기 (1) 2025.01.26 k8s-5-쿠버네티스-트러블-슈팅의-기본-프로세스 (0) 2025.01.26 k8s-4-yaml-파일을-이용한-쿠버네티스-오브젝트-관리 (1) 2025.01.05 k8s-3-kubectl-명령어로-익히는-쿠버네티스-주요-오브젝트 (5) 2025.01.01 k8s-2-효율적인-쿠버네티스-클러스터-관리를-위한-kubectl-CLI-환경-최적화 (2) 2025.01.01 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)