해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.
Day 28 - Talos Linux on vSphere
VMware vSphere는 현재 On-premise 환경에서 가장 널리 채택된 가상화 플랫폼이다.
해당 플랫폼을 사용하여 자체 데이터 센터의 bare-metal 물리 서버 위에 VM을 실행하고, 고가용성 (HA)을 보장하며, 리소스를 효율적으로 운영할 수 있게 된다.
많은 기업과 엔지니어들이 vSphere 운영 기술 및 인프라 자산을 보유하고 있으며,
최근 VMware가 Pivotal을 인수하는 등 쿠버네티스 생태계에 참여하면서,
vSphere 환경에서 쿠버네티스를 운영하는 것은 중요한 전략이 되었다.
vSphere에서 쿠버네티스를 운영하는 이유
기존 투자 활용: 가장 큰 이점은 이미 지출한 HW 및 가상황 인프라에 대한 자본 비용을 그대로 활용할 수 있다는 점이다. 모든 기업이 클라우드 제공업체의 리소스를 즉시 사용할 수 있는 것은 아니므로, 기존 자산을 활용하여 쿠버네티스를 시작할 수 있다.
워크로드 공존: 기존의 핵심 VM 기반 워크로드와 새로운 Container 기반 워크로드를 동일한 인프라 내에서 나랑히 운영하고 관리할 수 있다.
운영 환경 지원: 자동화된 쿠버네티스 설정, GUI 기반의 통합 관리, 외부 네트워크와 분리된 에어갭 (Air-Gapped) 환경 구성을 지원한다.
이러한 vSphere와 쿠버네티스 통합 환경을 자동화하고 관리하기 위하여 다양한 도구가 사용된다.
UI나 PowerCLI 등이 있지만, 특히 자동화 및 스크립팅 환경에서는 govc가 핵심적인 역할을 한다.
GitHub govc 링크
https://github.com/vmware/govmomi
govc는 govmomi Go 라이브러리를 기반으로 구축된 오픈소스 vSphere CLI이다. Go 언어로 작성되어 정적으로 컴파일 되며, Linux, Windowx, macOS 등 모든 운영체제에서 동일하게 작동된다.
govc는 GUI의 대안으로, 대규모 작업을 빠르고 신속하게 처리하는데 유용하다. 때로는 PVC (Persistent Volume Claim)이나, 퍼스트 클래스 디스크 (First Class Disks)와 관련된 특정 정보처럼 UI에서는 제공되지 않는 세부 정보를 govc를 통해서만 확인할 수 있는 경우도 있다.
Talos (탈로스)는 쿠버네티스만을 위해 설계된 API로 관리되는 선언적 방식의 최소형 리눅스 배포판이다.
vSphere, KVM과 같은 가상화 환경은 물론 클라우드, 베어메탈, 엣지 디바이스까지 사실상 모든 환경에서 일관되게 실행될 수 있다.

Talos의 장점
설계에 의한 보안 (Security by Design)
예측 가능성 (Predictability)
진화성 (Evolvability)