0. helm 정의 및 설치
Helm은 컨테이너를 쉽게 설치할 수 있도록 돕는 툴입니다.
컨테이너 배포에 필요한 Container Image, Volume, 환경설정등을 정의한 helm chart를 통해 빠르고 쉽게 배포하게 해 줍니다.
helm은 CLI인 helm을 이용하여 kubernetes Control Plane node의 API Server에 요청하여 배포를 수행합니다.
따라서, helm CLI를 실행하는 장비(PC/베어메탈/VM등)에 kubernetes cluster 인증 정보를 담고 있는 kubenetes configuration파일(보통 .kube/config 파일)이 있어야 합니다.
Jenkins와 같은 CI/CD툴에서 CD파트(컨테이너 배포 부분)에 helm을 이용할 수 있습니다.
아래는 Helm Chart 구조와 배포 yaml을 생성하는 예시입니다.
이 예시를 보시면 위 Helm Architecture를 쉽게 이해하실 수 있을것입니다.
1. client설치
1) 다운로드 주소 구하기
https://github.com/helm/helm/releases
OS에 맞는 설치하고자 하는 버전의 주소를 클립보드에 복사합니다.
2) 설치 디렉토리 생성, 설치파일 다운로드
설치할 디렉토리를 만들고, 이동한 후 설치파일을 다운로드 합니다.
아래 예에서는 Linux용 3.7.1버전을 다운로드 했습니다.
$ mkdir -p ~/install/helm && cd ~/install/helm
$ wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz
3) 설치
압축을 해제하고, 실행파일 'helm'을 PATH가 설정된 디렉토리로 복사합니다.
$ tar xvf helm-v3.7.1-linux-amd64.tar.gz
$ cd linux-amd64
$ cp helm /usr/local/bin
4) 설치 확인
$ helm version
* ubuntu에서는 아래와 같이 간단히 최신 버전을 설치할 수 있습니다.
# snap install helm --classic
TIP
helm init에서 에러가 나는 경우 원인별로 아래와 같이 조치하세요.
1) kube-proxy와 통신이 안되는 경우 : 에러메시지에 'socat '라는 말이 나올거임
-> apt-get install socat -y 설치 후 재실행
2) 아래 에러 메시지가 나면서 설치가 안되는 경우: kubernetes v1.16부터 일부 API를 지원하지 않기 때문입니다.
Error: error installing: the server could not find the requested resource
아래 링크를 참조하여 조치하십시오.
https://happycloud-lee.tistory.com/68