Kubernetes와 함께 Helm 사용하기
8956 단어 devopskubernetesdocker
간단한 응용 프로그램에 있어서 이것은 문제가 되지 않지만 생산 과정에서 이 과정을 간소화하는 것이 가장 좋다. 검색, 사용과 공유는 이미 실현된 설정, 이런 설정을 배치하고 설정 템플릿을 만든 다음에 조금도 힘들이지 않고 배치하는 것이다.다시 말하면, 우리는 확장 버전의 패키지 관리자, 예를 들어 Ubuntu의 APT나 Python의 PIP를 사용해서 Kubernetes 집단과 함께 일해야 한다.다행히도 우리는 햄이 가방 매니저로 있다.
헬름은 무엇입니까?
Helm는 Kubernetes의 소스 패키지 관리자로 개발자와 운영자가 응용 프로그램과 서비스를 쉽게 패키지, 설정, 배치할 수 있도록 한다.그것의 영감은 맥OS의 자체 제작 소프트웨어에서 나온 것으로 현재는 클라우드 컴퓨팅 기금회의 일부분이다.
본문에서 우리는 Helm 3을 탐구할 것이다.x는 본문을 작성할 때의 최신 판본이다.
수십 개의 다른 저장소에서 Helm Hub for PostgreSQL 검색
Helm는 소프트웨어 및 종속성 설치, 소프트웨어 업그레이드, 소프트웨어 배포 구성, 저장소에서 패키지 가져오기, 저장소 관리 등을 수행할 수 있습니다.
Helm의 주요 특징은 다음과 같습니다.
기본 패키지 (차트) 구조:
도표yaml-도표 정보를 포함하는 yaml 파일
라이센스(옵션) - 차트 라이센스가 포함된 일반 텍스트 파일
자술한 문서.md(옵션) - 읽기 가능 자술 파일
가치관yaml - 이 차트의 기본 설정값
가치관구조json(선택 사항) - 구조를 값에 강요하는 json 모드입니다.yaml 파일
도표/- 도표 관련성 정의
chart.yaml
의 관련성 부분CRD/사용자 정의 리소스 정의
templates/- 값과 조합하면 유효한 Kubernetes 목록 파일의 템플릿 디렉터리가 생성됩니다
헬름의 능력은 무엇입니까?
helm search
명령을 사용하면 저장소의 키워드를 통해 패키지를 검색할 수 있습니다.chart.yaml
、values.yaml
、README.md
어떤 가방을 검사할 수 있습니다.그리고 helm create <chart-name>
명령을 사용하여 자신의 도표를 만듭니다.이 명령은 지정된 이름을 가진 폴더를 생성합니다. 여기서 언급된 구조를 찾을 수 있습니다..tgz archives.
패키지 폴더에서 만들려면 .tgz
명령을 사용합니다.이것은 helm package <path to folder>
파일에 정의된 메타데이터의 이름과 버전을 사용하여 작업 디렉터리에 <package_name>
패키지를 만들 것입니다.chart.yaml
를 사용하여 시스템에서 저장소를 만들 수 있습니다.이것은 최종적으로 귀하가 자신의 회사 저장소를 만들거나 정부의 안정적인 저장소에 기여할 수 있습니다.helm serve
에 표시된 필요한 도표가 helm dependencies update <package name>
에 존재하는지 확인하고 받아들일 수 있는 버전입니다.또한 의존 관계의 최신 도표를 만족시키고 낡은 의존 관계를 정리할 것이다.그것은 어떻게 일합니까?
자료 출처: 개발상.ibm.일반 도메인 이름 형식
Helm 클라이언트는 차트를 설치, 업데이트 및 작성하고 Kubernetes API로 컴파일하여 전송하는 데 사용됩니다.이전 버전에는 Kubernetes가 있는 집단에서 실행되는 프로그램을 Tiller라고 하는 클라이언트-서버 구조가 있었다.이 소프트웨어는 배포의 라이프 사이클을 책임집니다.그러나 이런 방법은 일부 안전 문제를 초래했다. 이것은 모든 기능을 현재 클라이언트가 처리하는 이유 중의 하나이다.
클라이언트만 설치해야 하기 때문에 Helm 3을 설치하는 것은 이전 버전보다 훨씬 쉽다.Windows, macOS 및 Linux에 적용됩니다.바이너리 버전, 자체 제작 또는 설정된 설치 스크립트를 통해 프로그램을 설치할 수 있습니다.
예를 들겠습니다.
헬멧 설치부터 시작합시다.
bash master $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 6794 100 6794 0 0 25961 0 --:--:-- --:--:-- --:--:-- 25931Error: could not find tillerHelm v3.1.2 is available. Changing from version .Downloading https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gzPreparing to install helm into /usr/local/binhelm installed into /usr/local/bin/helm
2. 모든 장치가 제대로 설치되어 있는지 확인합니다.
master $ helm version --short
V3.1.2+gd878d4d
3. 기본적으로 Helm은 저장소에 연결되어 있지 않습니다.가장 흔히 볼 수 있는 안정적인 연결에 연결을 추가합시다.chart.yaml
를 사용하여 사용 가능한 모든 저장소를 확인할 수 있습니다.
master $ helm repo add stable
https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
4. 저장소를 추가하면 Helm을 업데이트해야 합니다.현재의 현지 투구 상태는 당신의 고향 환경에 보존되어 있습니다.
master $ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
The Helm command defaults to discovering the host already set in ~/.kube/config
. There is a way to change or override the host, but that's beyond the scope of this scenario.
master $ helm env
HELM_BIN="helm"
HELM_DEBUG="false"
HELM_KUBECONTEXT=""
HELM_NAMESPACE="default"
HELM_PLUGINS="/root/.local/share/helm/plugins"
HELM_REGISTRY_CONFIG="/root/.config/helm/registry.json"
HELM_REPOSITORY_CACHE="/root/.cache/helm/repository"
HELM_REPOSITORY_CONFIG="/root/.config/helm/repositories.yaml"
5. Helm Hub에서 WordPress 검색하기
master $ helm search hub wordpress
URL CHART VERSION APP VERSION DESCRIPTION https://hub.helm.sh/charts/presslabs/wordpress-... v0.8.4 v0.8.4 Presslabs WordPress Operator Helm Chart
https://hub.helm.sh/charts/presslabs/wordpress-... v0.8.3 v0.8.3 A Helm chart for deploying a WordPress site on ...
https://hub.helm.sh/charts/bitnami/wordpress 9.0.3 5.3.2 Web publishing platform for building blogs and ...
저장소를 검색할 수도 있습니다. (현재는 안정적인 것만 있습니다.)
master $ helm search repo wordpress
NAME CHART VERSION APP VERSION DESCRIPTION
stable/wordpress 9.0.2 5.3.2 DEPRECATED Web publishing platform for building...
앞에서 말한 바와 같이, 당신은 도표를 볼 수 있습니다.예를 들어 우리는 charts/
에서 Wordpress 도표의 정보를 얻는다.또한 helm repo list
및 chart.yaml
을 확인할 수 있습니다.
master $ helm show chart stable/wordpress
apiVersion: v1
appVersion: 5.3.2
dependencies:
- condition: mariadb.enabled
name: mariadb
repository: https://kubernetes-charts.storage.googleapis.com/
tags:
- wordpress-database
version: 7.x.xdeprecated: truedescription: DEPRECATED Web publishing platform for building blogs and websites.
home: http://www.wordpress.com/
icon: https://bitnami.com/assets/stacks/wordpress/img/wordpress-stack-220x234.png
keywords:- wordpress- cms
- blog
- http- web- application
- php
name: wordpress
sources:
- https://github.com/bitnami/bitnami-docker-wordpress
version: 9.0.2
WordPress를 위한 이름 공간을 만들고 테스트 그림을 설치합니다.
master $ kubectl create namespace wordpress
namespace/wordpress created
master $ helm install test-wordpress stable/wordpress --namespace wordpress
이 명령의 출력은 너무 커서 혼란스러워 보인다.
변수를 설정할 수도 있습니다(예:
helm install test-wordpress \
--set wordpressUsername=admin \
--set wordpressPassword=password \
--set mariadb.mariadbRootPassword=secretpassword \
stable/wordpress
8. 이제 모든 내용을 정확하게 배치할 수 있도록 하겠습니다.
보시다시피 모든 것이 정확하게 배치되었습니다.
결론
Helm은 유행하는 소스 패키지 관리자로 사용자에게 Kubernetes 집단을 관리하는 유연한 방식을 제공한다.자체 패키지를 만들거나 자체 또는 외부 저장소의 공용 패키지를 사용할 수 있습니다.모든 가방은 매우 유연하다. 대부분의 경우, 당신이 필요로 하는 것은 정확한 상수를 정의하고, 그 중에서 템플릿을 컴파일해서 당신의 요구를 만족시킬 뿐이다.자체 차트를 작성하려면 Go 템플릿 및/또는 Lua 스크립트의 강력한 기능을 사용할 수 있습니다.업데이트할 때마다 역사 단원이 만들어집니다. 언제든지 이 단원으로 굴러갈 수 있습니다.헬렘이 있으면 쿠베르니테스의 모든 힘을 갖게 될 거야.마지막으로 Helm은 역할 기반 액세스를 사용할 수 있으므로 팀에서 클러스터를 관리할 수 있습니다.
이것은 우리로 하여금 이 짧은 문장의 마지막에 가서 Helm의 기본 지식과 특성을 설명하게 할 것이다.우리는 네가 그것을 좋아하고 이용할 수 있기를 바란다.
Reference
이 문제에 관하여(Kubernetes와 함께 Helm 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/appfleet/using-helm-with-kubernetes-c5n
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
헬멧 설치부터 시작합시다.
bash master $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 6794 100 6794 0 0 25961 0 --:--:-- --:--:-- --:--:-- 25931Error: could not find tillerHelm v3.1.2 is available. Changing from version .Downloading https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gzPreparing to install helm into /usr/local/binhelm installed into /usr/local/bin/helm
2. 모든 장치가 제대로 설치되어 있는지 확인합니다.master $ helm version --short
V3.1.2+gd878d4d
3. 기본적으로 Helm은 저장소에 연결되어 있지 않습니다.가장 흔히 볼 수 있는 안정적인 연결에 연결을 추가합시다.chart.yaml
를 사용하여 사용 가능한 모든 저장소를 확인할 수 있습니다.master $ helm repo add stable
https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
4. 저장소를 추가하면 Helm을 업데이트해야 합니다.현재의 현지 투구 상태는 당신의 고향 환경에 보존되어 있습니다.master $ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
The Helm command defaults to discovering the host already set in
~/.kube/config
. There is a way to change or override the host, but that's beyond the scope of this scenario.
master $ helm env
HELM_BIN="helm"
HELM_DEBUG="false"
HELM_KUBECONTEXT=""
HELM_NAMESPACE="default"
HELM_PLUGINS="/root/.local/share/helm/plugins"
HELM_REGISTRY_CONFIG="/root/.config/helm/registry.json"
HELM_REPOSITORY_CACHE="/root/.cache/helm/repository"
HELM_REPOSITORY_CONFIG="/root/.config/helm/repositories.yaml"
5. Helm Hub에서 WordPress 검색하기master $ helm search hub wordpress
URL CHART VERSION APP VERSION DESCRIPTION https://hub.helm.sh/charts/presslabs/wordpress-... v0.8.4 v0.8.4 Presslabs WordPress Operator Helm Chart
https://hub.helm.sh/charts/presslabs/wordpress-... v0.8.3 v0.8.3 A Helm chart for deploying a WordPress site on ...
https://hub.helm.sh/charts/bitnami/wordpress 9.0.3 5.3.2 Web publishing platform for building blogs and ...
저장소를 검색할 수도 있습니다. (현재는 안정적인 것만 있습니다.)master $ helm search repo wordpress
NAME CHART VERSION APP VERSION DESCRIPTION
stable/wordpress 9.0.2 5.3.2 DEPRECATED Web publishing platform for building...
앞에서 말한 바와 같이, 당신은 도표를 볼 수 있습니다.예를 들어 우리는 charts/
에서 Wordpress 도표의 정보를 얻는다.또한 helm repo list
및 chart.yaml
을 확인할 수 있습니다.master $ helm show chart stable/wordpress
apiVersion: v1
appVersion: 5.3.2
dependencies:
- condition: mariadb.enabled
name: mariadb
repository: https://kubernetes-charts.storage.googleapis.com/
tags:
- wordpress-database
version: 7.x.xdeprecated: truedescription: DEPRECATED Web publishing platform for building blogs and websites.
home: http://www.wordpress.com/
icon: https://bitnami.com/assets/stacks/wordpress/img/wordpress-stack-220x234.png
keywords:- wordpress- cms
- blog
- http- web- application
- php
name: wordpress
sources:
- https://github.com/bitnami/bitnami-docker-wordpress
version: 9.0.2
WordPress를 위한 이름 공간을 만들고 테스트 그림을 설치합니다.master $ kubectl create namespace wordpress
namespace/wordpress created
master $ helm install test-wordpress stable/wordpress --namespace wordpress
이 명령의 출력은 너무 커서 혼란스러워 보인다.변수를 설정할 수도 있습니다(예:
helm install test-wordpress \
--set wordpressUsername=admin \
--set wordpressPassword=password \
--set mariadb.mariadbRootPassword=secretpassword \
stable/wordpress
8. 이제 모든 내용을 정확하게 배치할 수 있도록 하겠습니다.보시다시피 모든 것이 정확하게 배치되었습니다.
결론
Helm은 유행하는 소스 패키지 관리자로 사용자에게 Kubernetes 집단을 관리하는 유연한 방식을 제공한다.자체 패키지를 만들거나 자체 또는 외부 저장소의 공용 패키지를 사용할 수 있습니다.모든 가방은 매우 유연하다. 대부분의 경우, 당신이 필요로 하는 것은 정확한 상수를 정의하고, 그 중에서 템플릿을 컴파일해서 당신의 요구를 만족시킬 뿐이다.자체 차트를 작성하려면 Go 템플릿 및/또는 Lua 스크립트의 강력한 기능을 사용할 수 있습니다.업데이트할 때마다 역사 단원이 만들어집니다. 언제든지 이 단원으로 굴러갈 수 있습니다.헬렘이 있으면 쿠베르니테스의 모든 힘을 갖게 될 거야.마지막으로 Helm은 역할 기반 액세스를 사용할 수 있으므로 팀에서 클러스터를 관리할 수 있습니다.
이것은 우리로 하여금 이 짧은 문장의 마지막에 가서 Helm의 기본 지식과 특성을 설명하게 할 것이다.우리는 네가 그것을 좋아하고 이용할 수 있기를 바란다.
Reference
이 문제에 관하여(Kubernetes와 함께 Helm 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/appfleet/using-helm-with-kubernetes-c5n
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kubernetes와 함께 Helm 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/appfleet/using-helm-with-kubernetes-c5n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)