이번 포스팅에서는 쿠버네티스 설치에 대해서 다루겠다.
쿠버네티스 설치는 복잡하기로 유명하다. 그래서 나는 실수를 줄이기 위해 설치 과정에서 사용하는 도구들과 설정에 대해 전부 공부해보려 한다!

현재 설치 가이드에 대한 사진이다.
이 사진을 먼저 분석하고 설치를 진행할 것이다! 사진에 보이는 순서대로 분석하겠다.
Rocky Linux ISO를 설치하는 이유는 쿠버네티스를 설치하기 위한 운영 체제를 제공하기 위해서이다.
왜냐하면 쿠버네티스는 리눅스 기반의 애플리케이션 컨테이너 오케스트레이션 플랫폼이기 때문이다.
따라서 이를 설치하고 운영하기 위해서는 안정적인 리눅스 운영 체제가 필요한데, 그 환경을 구성해주는 것이 바로 Rocky Linux ISO이다!
UTM은 MacOS에서 가상 머신을 생성하고 리눅스 운영 체제를 실행하기 위한 가상화 소프트웨어다.
쿠버네티스를 설치하는 과정에서 UTM은 MacOS에서 리눅스 환경을 제공하기 위해 사용되며, 이를 통해 Mac에서 쿠버네티스를 설치하고 클러스터를 운영할 수 있다.
간단히 말해서, 클라우드에서 인스턴스를 사용하는 것과 비슷한 역할이라고 보면 된다. 우리는 배포 환경이 아닌 테스트 환경이니까!
Master VM 설정을 통해 MacOS에서 가상 머신을 생성하고, 그 위에 Rocky Linux를 설치하여 쿠버네티스 클러스터의 마스터 노드로 사용할 준비를 하는 것이다.
이 마스터 노드는 이후에 여러 워커 노드를 관리하고, 클러스터 전체를 조정하는 역할을 하게 된다.
실무에서는 클라우드 서비스를 사용해 인스턴스를 생성하고, 그 위에 리눅스를 설치한다.
우리는 테스트 환경이기 때문에 클라우드 서비스에서 받은 인스턴스를 UTM이라는 가상 머신으로 대신해서 사용하는 것이다!
MacOS에서 SSH를 사용해 가상 머신으로 설정된 Rocky Linux에 원격 접속하는 것이다.
쿠버네티스 마스터 노드를 설정하고, 이를 통해 쿠버네티스 클러스터를 구축하는 것이다.
이 과정에는 기본적인 시스템 설정, 컨테이너 런타임 설치, 쿠버네티스 패키지 설치, 클러스터 초기화 및 네트워크 설정, 그리고 편의 기능 설치까지 포함되어 있다.
이러한 작업을 통해 로컬 가상 환경에서 쿠버네티스를 설정하고 관리할 수 있는 준비를 완료한다!
워커 노드를 쿠버네티스 클러스터에 연결하는 작업이다.
마스터 노드에서 생성된 토큰과 명령어를 사용해 워커 노드들을 클러스터에 가입시키고, 마지막으로 kubectl get nodes 명령어를 통해 모든 노드의 상태를 확인한다.
이는 클러스터의 전체 상태를 모니터링하고, 각 노드가 올바르게 작동하는지 검증하는 중요한 단계이다.
A. 토큰과 명령어는 워커 노드를 쿠버네티스 클러스터에 안전하게 가입시키기 위한 인증 도구이다. 워커 노드가 이 명령어를 실행하면, 마스터 노드와 연결되어 클러스터의 일부로 통합되며, 마스터 노드는 워커 노드와 통신하고 관리할 수 있게 되는 것이다!
이제 설정했던 것들을 확인하기 위해 대시보드에 접근해보자!

이 그림은 MacOS 환경에서 가상 머신을 이용해 쿠버네티스 클러스터를 구성할 때의 네트워크 구조를 나타낸다.
Shared Network를 통해 마스터 노드와 워커 노드가 동일한 네트워크 세그먼트에서 서로 통신하며 클러스터를 구성한다.
Service Network와 Pod Network는 쿠버네티스 클러스터 내에서 서비스와 Pod들이 사용할 네트워크 범위를 정의한다.
각 가상 머신은 고유의 IP 주소를 할당받아, 네트워크 상에서 식별되고 통신할 수 있다.
이 설정을 통해 쿠버네티스 클러스터가 원활히 동작하며, 필요 시 외부 인터넷에 접근할 수 있는 환경이 구성된다.
이제 이 지식들을 가지고 차근차근 설치를 해보면 될 것 같다. 버전에 주의해서 설치하기!