### 요약
- **K3s**: 경량화된 Kubernetes 배포판으로, 리소스 사용량이 적고 설치가 간편합니다. 소규모 클러스터나 Edge Computing 환경에서 유용합니다.
- **Helm**: Kubernetes 용 패키지 매니저로, 애플리케이션의 설치, 업그레이드, 롤백 등을 간편하게 할 수 있습니다. Helm Chart를 통해 애플리케이션을 패키징하여 관리합니다.
이 두 도구를 결합하면, K3s 클러스터에서 Helm을 사용해 애플리케이션을 손쉽게 배포하고 관리할 수 있습니다. K3s는 클러스터 환경을 제공하고, Helm은 그 위에서 애플리케이션의 라이프사이클을 관리하는 역할을 합니다.
참고.
클러스터란 여러 컴퓨터(노드)가 협력하여 하나의 시스템처럼 동작하는 구조를 말합니다. Kubernetes 클러스터는 마스터 노드와 여러 워커 노드로 구성되어, 애플리케이션을 배포하고 관리합니다.
패키지 매니저는 소프트웨어 패키지를 관리하는 도구입니다. 소프트웨어 패키지에는 애플리케이션, 라이브러리, 설정 파일 등이 포함됩니다.
Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈 소스 플랫폼입니다. 여러 서버에서 애플리케이션을 효율적으로 운영할 수 있게 도와줍니다.
k3s는 Kubernetes의 경량화된 버전으로, 리소스가 적은 환경에서도 Kubernetes를 쉽게 사용할 수 있도록 설계된 배포판입니다.
Helm은 Kubernetes에서 애플리케이션 배포와 관리를 간편하게 해주는 패키지 매니저로, 복잡한 설정을 템플릿화하고 버전 관리를 쉽게 할 수 있게 도와줍니다.
'Helm'이라는 단어는 영어에서 기본적으로 '조타 장치'를 의미합니다. 이 의미가 먼저 생성되었고, 이는 배를 조종하는 데 사용되는 장치로, 배의 방향을 제어하는 중요한 역할을 합니다. '조타 장치'로서의 'helm'은 중세 영어에서 'helme'로 시작되었으며, 이는 고대 영어 'helma'에서 유래되었습니다.
이후 'helm'은 보호구인 '투구'를 의미하는 단어로도 사용되기 시작했습니다. '투구'를 의미하는 'helm'은 고대 영어 'helm'에서 유래되었으며, 이는 게르만어 'helmaz'에서 파생된 것입니다. 이 두 가지 의미는 서로 독립적으로 발전한 것이지만, 영어 단어로서 'helm'이 이 두 가지 의미를 모두 가지게 된 것입니다.
따라서 '조타 장치'가 먼저 생성된 의미이고, 이후 '투구'라는 의미가 추가된 것으로 볼 수 있습니다. 두 단어는 서로 다른 기원을 가지고 있지만, 동일한 철자와 발음을 가지면서 다양한 맥락에서 사용되게 되었습니다.
### K3s
#### 정의
K3s는 Rancher Labs에서 개발한 경량화된 Kubernetes 배포판입니다. K3s는 완전한 Kubernetes 환경을 제공하면서도 리소스 사용량을 줄이고, 설치 및 운영을 간소화하도록 설계되었습니다.
#### 역할과 기능
1. **경량화된 Kubernetes**: K3s는 불필요한 구성 요소를 제거하고, 단일 바이너리로 패키징하여 Kubernetes의 복잡성을 줄입니다.
2. **간편한 설치**: 설치가 매우 간단하고 빠르며, 작은 리소스에서도 실행될 수 있습니다. 이로 인해 Edge Computing이나 IoT 환경에서도 사용됩니다.
3. **내장된 데이터베이스**: SQLite를 기본 내장하여 소규모 클러스터에서는 외부 데이터베이스 없이도 운영이 가능합니다. 물론 필요에 따라 외부 데이터베이스로 변경할 수 있습니다.
4. **지원 기능**: 대부분의 Kubernetes API와 기능을 지원하여, 기존 Kubernetes 워크로드를 그대로 사용할 수 있습니다.
### Helm
#### 정의
Helm은 Kubernetes를 위한 패키지 매니저입니다. Helm을 사용하면 애플리케이션을 Kubernetes 클러스터에 쉽게 배포, 관리, 업그레이드할 수 있습니다.
#### 역할과 기능
1. **패키징**: Helm은 Kubernetes 리소스(Deployment, Service, ConfigMap 등)를 하나의 패키지(Chart)로 묶어 관리합니다. Chart는 애플리케이션의 버전, 설정 파일 등을 포함합니다.
2. **설치 및 업그레이드**: Helm을 통해 애플리케이션을 설치하고, 설정을 변경하거나 버전을 업그레이드할 때도 간편하게 수행할 수 있습니다. `helm install`, `helm upgrade` 명령어로 쉽게 애플리케이션을 관리할 수 있습니다.
3. **롤백**: 문제가 발생할 경우 이전 상태로 되돌릴 수 있는 롤백 기능을 제공합니다. 이를 통해 안정적으로 애플리케이션을 운영할 수 있습니다.
4. **저장소**: Helm 저장소(Repository)를 통해 다양한 Chart를 검색하고 설치할 수 있습니다. 공식 Helm 저장소뿐만 아니라, 자체적으로 Chart 저장소를 운영할 수도 있습니다.
'학습 > 시스템' 카테고리의 다른 글
k3s로 Container 환경에서 NextCloud 가 신뢰하지 않는 도메인 접근이라는 에러를 뱉어낼때 (0) | 2024.06.26 |
---|---|
리눅스 이더넷 인터페이스 wol 기능 설정 (0) | 2024.06.25 |
쿠버네티스를 이용해 nextCloud 설치하기 (0) | 2024.06.23 |
kubernetes 클러스터 (0) | 2024.06.23 |
리눅스 우분투 GUI 모드와 CLI 모드 간의 수동 전환 (0) | 2024.06.21 |