Kubernetesアプリケーション導入ツール-Hellmインストールのシンプル化
25747 ワード
【編集者の話】マイクロサービスとコンテナ化は複雑なアプリケーションの導入と管理に大きな挑戦をもたらした.Helmは現在のKubernetesサービス編成分野の唯一のオープンソースサブプロジェクトであり、Kubernetesアプリケーションのパッケージ管理ツールとして、Kubernetesのapt-get/yumと理解され、Deis社が発起し、同社はマイクロソフトに買収された.Helmはソフトウェアパッケージの形式を通じて、リリースされたバージョン管理と制御をサポートし、Kubernetesアプリケーションの導入と管理の複雑さを大幅に簡素化した.
Helmは、deployments、services、ingressなどのKubernetesリソースを1つのchartにパッケージ化し、chartはchart倉庫に保存します.chartウェアハウスを使用してchartを格納および共有できます.Helmはパブリケーションを構成可能にし、パブリケーションアプリケーション構成のバージョン管理をサポートし、Kubernetesがアプリケーションを導入するバージョン制御、パッケージング、パブリケーション、削除、更新などの操作を簡素化した.
この文書では、HelmのClient、Server、およびローカルChartウェアハウスのインストール手順を示します.
Helmの概要については、「Kubernetesアプリケーション導入ツールの簡略化」を参照してください.
Helmインストール
Helm CLINET取付
Helm Clientのインストール手順は次のとおりです.ダウンロードHelm 2.6.1:https://storage.googleapis.com/kubernetes-helm/helm-v2.6.1-linux-amd64.tar.gz 解包:tar-zxvf helm-v 2.6.1-linux-amd 64.tgz helmバイナリファイル/usr/local/binディレクトリに移動:
mv linux-amd64/helm/usr/local/bin/helm
Helm TILLER取付
Helm TillerはHelmのserverであり、Tillerにはローカルインストールやpod形式でKubernetesクラスタに配備するなど、さまざまなインストール方法があります.ここでpodインストールを例にとると、Tillerをインストールする最も簡単な方法はhelm initです.このコマンドはhelmローカル環境の設定が正しいかどうかを確認し、helm initはkubectlのデフォルト接続のkubernetesクラスタ(kubectl config viewで見ることができます)に接続され、接続クラスタが成功するとtillerはkube-system namespaceにインストールされます.
helm initを実行すると、現在のディレクトリの下にhelmフォルダである~/.helmが作成され、Kubernetesを介して Deployment 導入tiller. Tillerが正常にインストールされたかどうかを確認します.
Tillerのその他のインストール形式:取付カナリアbuild:–canary-image インストール指定イメージ:–tiller-image Kubernetesクラスタを指定します:–kube-context 指定namespaceインストール:–tiller-namespace Helm TILLER削除
によって TillerのデータはKubernetes ConfigMapに格納されているので、元のHelmに配備されていたアプリケーションデータは削除、昇降段Tillerで失われることはありません.
Tillerの削除:
Chart倉庫
chart倉庫はパッケージ化されたchartを格納し、共有するために使用され、公式chart倉庫はKubernetes Chartsによって維持され、Helmはプライベートchart倉庫を作成することができます.
chartウェアハウスの作成
chartウェアハウスはindex.ymlとパッケージ化されたchartファイルを格納するためのHTTP serverであり、chartを共有する場合はchartファイルをchartウェアハウスにアップロードする必要がある.YAMLとtarファイルを提供できるHTTPサーバは、Google Cloud Storage(GCS)bucket、Amazon S 3 bucket、Github Pages、または独自のWebサーバを作成するなど、chartウェアハウスとして使用できます.
Chart倉庫構造
1つのchart倉庫は1つのchartパッケージとindex.yamlファイルから構成され、index.yamlはchart倉庫のすべてのchartのインデックスを記録し、1つのローカルchart倉庫のレイアウト例は以下の通りである.
~/.helm/repository/local/index.yamlファイルにはchartの名前、url、versionなどのmetadata情報が記録されています.
ローカルchart倉庫の作成
chartウェアハウスの作成にはいくつかの方法があります.ここでは、ローカルウェアハウスの作成を例に挙げます.
chart倉庫の管理
上記の手順では、ローカルのchartウェアハウスが作成されています.次に、chartウェアハウスでchartを維持する方法について説明します.chartは従わなければならない SemVer 2 ルールは正しいバージョンフォーマットを記入します.
chartディレクトリがすでに存在する場合は、chartをパッケージ化し、新しいディレクトリに移動し、helm repo indexコマンドでchartのmetadataをindex.yamlファイルに記録します.
chartをchartウェアハウスにアップロードし、helm repo addコマンドでchartをchartウェアハウスにアップロードします.
chartが倉庫をアップロードしたかどうかを確認します.
アップロードされたchartを検索するには:
転載を歓迎して、作者の出所を明記してください:張夏、FreeWheel Lead Engineer、Kubernetes中国語コミュニティ
原文:Kubernetesアプリケーション導入ツール-Hellmインストールの簡略化
Helmは、deployments、services、ingressなどのKubernetesリソースを1つのchartにパッケージ化し、chartはchart倉庫に保存します.chartウェアハウスを使用してchartを格納および共有できます.Helmはパブリケーションを構成可能にし、パブリケーションアプリケーション構成のバージョン管理をサポートし、Kubernetesがアプリケーションを導入するバージョン制御、パッケージング、パブリケーション、削除、更新などの操作を簡素化した.
この文書では、HelmのClient、Server、およびローカルChartウェアハウスのインストール手順を示します.
Helmの概要については、「Kubernetesアプリケーション導入ツールの簡略化」を参照してください.
Helmインストール
Helm CLINET取付
Helm Clientのインストール手順は次のとおりです.
mv linux-amd64/helm/usr/local/bin/helm
Helm TILLER取付
Helm TillerはHelmのserverであり、Tillerにはローカルインストールやpod形式でKubernetesクラスタに配備するなど、さまざまなインストール方法があります.ここでpodインストールを例にとると、Tillerをインストールする最も簡単な方法はhelm initです.このコマンドはhelmローカル環境の設定が正しいかどうかを確認し、helm initはkubectlのデフォルト接続のkubernetesクラスタ(kubectl config viewで見ることができます)に接続され、接続クラスタが成功するとtillerはkube-system namespaceにインストールされます.
helm initを実行すると、現在のディレクトリの下にhelmフォルダである~/.helmが作成され、Kubernetesを介して Deployment 導入tiller. Tillerが正常にインストールされたかどうかを確認します.
$ kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
tiller-deploy-1046433508-rj51m 1/1 Running 0 3m
Tillerのその他のインストール形式:
によって TillerのデータはKubernetes ConfigMapに格納されているので、元のHelmに配備されていたアプリケーションデータは削除、昇降段Tillerで失われることはありません.
Tillerの削除:
helm reset
Chart倉庫
chart倉庫はパッケージ化されたchartを格納し、共有するために使用され、公式chart倉庫はKubernetes Chartsによって維持され、Helmはプライベートchart倉庫を作成することができます.
chartウェアハウスの作成
chartウェアハウスはindex.ymlとパッケージ化されたchartファイルを格納するためのHTTP serverであり、chartを共有する場合はchartファイルをchartウェアハウスにアップロードする必要がある.YAMLとtarファイルを提供できるHTTPサーバは、Google Cloud Storage(GCS)bucket、Amazon S 3 bucket、Github Pages、または独自のWebサーバを作成するなど、chartウェアハウスとして使用できます.
Chart倉庫構造
1つのchart倉庫は1つのchartパッケージとindex.yamlファイルから構成され、index.yamlはchart倉庫のすべてのchartのインデックスを記録し、1つのローカルchart倉庫のレイアウト例は以下の通りである.
/home/ts1/.helm/
|-- cache
| `-- archive
| |-- drupal-0.9.2.tgz
| `-- mariadb-1.0.3.tgz
|-- plugins
|-- repository
| |-- cache
| | |-- fantastic-charts-index.yaml
| | |-- local-index.yaml -> /home/ts1/.helm/repository/local/index.yaml
| | |-- mariadb-1.0.3.tgz-index.yaml
| | |-- memcached-1.2.1.tgz-index.yaml
| | |-- mychart_xia-0.1.0.tgz-index.yaml
| | |-- mysql-0.2.8.tgz-index.yaml
| | |-- stable-index.yaml
| | |-- test-0.1.0.tgz-index.yaml
| | `-- test-0.1.8.tgz-index.yaml
| |-- local
| | |-- index.yaml
| | |-- mychart-0.1.0.tgz
| | |-- mychart_xia-0.1.0.tgz
| | |-- mysql-0.2.8.tgz
| | |-- mysql-6.19.centos-29.tgz
| | |-- test-0.1.0.tgz
| | |-- test-0.1.8.tgz
| | `-- test-0.1.9.tgz
| `-- repositories.yaml
`-- starters
7 directories, 20 files
~/.helm/repository/local/index.yamlファイルにはchartの名前、url、versionなどのmetadata情報が記録されています.
apiVersion: v1
entries:
mychart:
- apiVersion: v1
created: 2017-09-12T02:28:54.061070032Z
description: A Helm chart for Kubernetes
digest: ae8d7138002d432014dc8638ec37202823e9207445caf08a660d154b26e936ea
name: mychart
urls:
- http://127.0.0.1:8879/mychart-0.1.0.tgz
version: 0.1.0
- apiVersion: v1
created: 2017-09-12T03:08:14.02186072Z
description: A Helm chart for Kubernetes
digest: sha256:2a05defa095d364f4efc789fd2417d07493757ebd74096e5f495c50604cf582d
name: mychart
urls:
- http://127.0.0.1:8879/charts/mychart-0.1.0.tgz
version: 0.1.0
ローカルchart倉庫の作成
chartウェアハウスの作成にはいくつかの方法があります.ここでは、ローカルウェアハウスの作成を例に挙げます.
$ helm serve –address 0.0.0.0:8879 –repo-path ./charts
Regenerating index. This may take a moment.
Now serving you on 0.0.0.0:8879
chart倉庫の管理
上記の手順では、ローカルのchartウェアハウスが作成されています.次に、chartウェアハウスでchartを維持する方法について説明します.chartは従わなければならない SemVer 2 ルールは正しいバージョンフォーマットを記入します.
chartディレクトリがすでに存在する場合は、chartをパッケージ化し、新しいディレクトリに移動し、helm repo indexコマンドでchartのmetadataをindex.yamlファイルに記録します.
helm package mychart
mkdir fantastic-charts
mv mychart-0.1.0.tgz fantastic-charts/
helm repo index fantastic-charts –url http://bjo-ep-dep-039.dev.fwmrm.net:8879/charts
chartをchartウェアハウスにアップロードし、helm repo addコマンドでchartをchartウェアハウスにアップロードします.
$ helm repo add fantastic-charts http://bjo-ep-dep-039.dev.fwmrm.net:8879/charts
"fantastic-charts" has been added to your repositories
chartが倉庫をアップロードしたかどうかを確認します.
$ helm repo list
NAME URL
chartsfantastic-charts http://bjo-ep-dep-039.dev.fwmrm.net:8879/charts
アップロードされたchartを検索するには:
$ helm search mychart -l
NAME VERSION DESCRIPTION
local/mychart 0.1.0 A Helm chart for Kubernetes
転載を歓迎して、作者の出所を明記してください:張夏、FreeWheel Lead Engineer、Kubernetes中国語コミュニティ
原文:Kubernetesアプリケーション導入ツール-Hellmインストールの簡略化