11. 쿠버네티스 자동화 프로비저닝_change


1. Infrastructure as Code (IaC)

  • 인프라의 설정, 프로비저닝, 관리 등을 코드로 작성하여 자동화하는 방법론

1.1 Ansible 기능

  • Ansible은 Red Hat에서 개발한 오픈 소스 자동화 도구로, IaC를 실현하는 데 널리 사용

 

(1) 프로비저닝(Provisioning)

  • Ansible을 사용하여 서버를 생성하고, 네트워크 설정을 구성하며, 클라우드 리소스를 관리할 수 있습니다.

(2) 구성 관리(Configuration Management)

  • 서버에 소프트웨어 패키지를 설치하고, 설정 파일을 배포하며, 서비스 상태를 관리합니다.

(3) 배포(Deployment)

  • 애플리케이션을 배포하고, 업데이트하며, 롤백할 수 있습니다.

(4) 오케스트레이션(Orchestration)

  • 여러 서비스와 애플리케이션 간의 작업 흐름을 관리합니다.

 

Ubuntu Repo 이슈

apt-get clean rm -rf /var/lib/apt/lists/* apt-get update -o Acquire::CompressionTypes::Order::=gz

 

python 설치

root@cp-k8s:~/ansible# apt install -y python3.10 python3.10-venv root@cp-k8s:~/ansible# python3.10 -m venv /opt/python3.10-venv root@cp-k8s:~/ansible# source /opt/python3.10-venv/bin/activate (python3.10-venv) root@cp-k8s:/opt# pip install ansible

1.2 파일 생성 예제

  • 이해하기 쉽도록 root 패스워드 및 등록을 진행합니다.

#cat /etc/hosts 192.168.2.10 cp-k8s 192.168.2.101 w1-k8s 192.168.2.102 w2-k8s 192.168.2.103 w3-k8s cp-k8s에서 ssh-keygen 생성 # ssh-keygen 모든 노드 root 패스워드 설정 root / vagrant cp-k8s에서 모든 노드의 root로 접근할 수 있도록 등록 # ssh-copy-id root@cp-k8s # ssh-copy-id root@w1-k8s # ssh-copy-id root@w2-k8s # ssh-copy-id root@w3-k8s

 

(1) 인벤토리 파일 (hosts)

(2) Playbook (file_management.yaml)

(3) 실행

(4) 확인


2. kubespray (Ansible을 이용한 kubernetes 배포)

  • Kubernetes 클러스터를 설치하고 관리하기 위한 오픈소스 프로젝트

  • Ansible Playbook과 설정 파일을 사용하여 다양한 환경에서 Kubernetes 클러스터를 자동화하고 쉽게 배포

 

2.1 python 및 가상환경 설치

 


2.2 Kubespray 구성

  • kubespray 소스 다운로드

  • 디렉토리 이동

  • inventory


2.3 Kuberntes 배포

  • ssh 접속 확인

  • 클러스터 배포

  • node 상태 확인

 


3. Rancher Desktop

3.1 Rancher Desktop 특징

  • 단순 설치 macOS 및 Windows 사용자는 단순히 해당 설치 프로그램을 다운로드하여 실행할 수 있습니다. 리눅스 사용자는 인기 있는 패키지 관리자를 통해 설치할 수 있습니다. 자동으로 새로운 버전을 다운로드하고 설치하는 자동 업그레이드 기능(옵션).

  • 구성 옵션

    기본 구성과 함께 사용하거나 필요에 맞게 사용자 지정할 수 있습니다.
    컨테이너 엔진, Kubernetes 버전, 응용 프로그램 기능 사용/사용 안 함을 선택할 수 있습니다. 네트워킹 설정을 구성하고 컨테이너 저장소, 레지스트리 등에 대한 액세스를 제어하는 옵션입니다.

  • 직관적 그래픽 사용자 인터페이스

    사용자 친화적인 GUI 기능, 대시보드
    이미지, 컨테이너, 애플리케이션 구성 등을 관리하기 위해 GUI 기능을 통해 잘 생각했습니다.로컬 쿠버네티스 리소스를 탐색하고 관리하는 데 도움이 되는 풀 블로운 클러스터 대시보드입니다.

 

  • 컨테이너 공구 체인

    빌드, 풀, 푸시, 스캔 이미지. 컨테이너 실행.
    컨테이너 기반 개발 워크플로우에서 일상적인 작업을 지원하는 CLI 및 GUI 기반 기능. 클라우드 네이티브 에코시스템의 기타 도구인 인기 있는 IDE와 잘 통합됩니다.


  • 원활한 Kubernetes 업그레이드

    Kubernetes 업그레이드가 워크로드에 미치는 영향을 쉽게 테스트합니다.
    Kubernetes 업그레이드를 워크로드에 원활하게 적용할 수 있는 옵션을 제공하여 운영 환경에 영향을 미치기 전에 문제를 탐지할 수 있습니다.

  • 번들 유틸리티

    인기 있는 도구를 즉시 사용할 수 있습니다.
    도커, nerdctl, kubectl, hell 등과 같은 인기 있는 오픈 소스 CLI 도구의 최신 버전이 포함되어 있어 이러한 도구를 별도로 얻고 관리할 필요가 없습니다.

 

3.2 Rancher Desktop 설치

 

image-20240516-105705.png

 

참고) https://rancherdesktop.io/

 

  파일 변경됨

PNG 파일 image-20240516-105705.png

2024-05-28 by 김호진

PNG 파일 image-20240516-105341.png

2024-05-28 by 김호진

파일 Vagrantfile

2024-05-28 by 김호진

 

Related content

11. 쿠버네티스 자동화 프로비저닝
11. 쿠버네티스 자동화 프로비저닝
More like this
8. 쿠버네티스 리소스 관리 및 볼륨
8. 쿠버네티스 리소스 관리 및 볼륨
Read with this
12. 쿠버네티스 모니터링
12. 쿠버네티스 모니터링
Read with this
6. 쿠버네티스 서비스/네트워크
6. 쿠버네티스 서비스/네트워크
Read with this
7. 쿠버네티스 스케줄링
7. 쿠버네티스 스케줄링
Read with this
1. 쿠버네티스 실습환경 구축
1. 쿠버네티스 실습환경 구축
Read with this