CL LAB

HOME > CL LAB > Mirantis > HelmをサポートしたMirantis Secure Registry (MSR)を試してみよう #mirantis #kubernetes #k8s #helm

HelmをサポートしたMirantis Secure Registry (MSR)を試してみよう #mirantis #kubernetes #k8s #helm

 ★ 22

2021年4月12日にリリースされたMirantis Secure Registry 2.9.0(英文)にて、Kubernetesにおけるパッケージマネージャのデファクトスタンダードとしての立場を固めつつあるHelmのサポートが実装されました。

従来のMirantis Secure Registry (以下MSR、旧名Docker Trusted Registry (DTR))は、Dockerイメージの保管・共有・管理・セキュリティスキャンなどを行うプライベートレジストリ製品でした(詳しくはMirantis Secure Registryをご覧ください)。今回のHelmサポートにより、Mirantis製品のKubernetes対応がより強化されたと言えるでしょう。

本稿では「MKEとMSRをLaunchpadでVirtualboxにインストールしてみよう」にて構築した環境にて、MSRのHelmサポートをいくつか試してみます。

前提条件

MKEとMSRをLaunchpadでVirtualboxにインストールしてみよう」にて構築した環境を使用します。次の構成となっています:

  • node1 : 192.168.123.201 : DNSサーバ 兼 Launchpad/MKE/MSRクライアント
  • node2 : 192.168.123.202 : MKEマスター
  • node3 : 192.168.123.203 : MKEワーカー
  • node4 : 192.168.123.204 : MSR

node4のMSRにレポジトリを作成

node4のMSRのURLである https://192.168.123.204/ を開き、右上の「New repository」ボタンを押します。

Repositoryフォームに「example」と入力し、下の「Create」ボタンを押します。

これで「admin/example」レポジトリが作成できました。

node1にHelmをインストール

node1に、2021年8月時点で最新のHelm 3.6.3をインストールします。

$ curl -OL https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz -OL https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz.sha256sum
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13.0M  100 13.0M    0     0  9428k      0  0:00:01  0:00:01 --:--:-- 9429k
100    97  100    97    0     0    157      0 --:--:-- --:--:-- --:--:--   157
$ sha256sum -c helm-v3.6.3-linux-amd64.tar.gz.sha256sum
helm-v3.6.3-linux-amd64.tar.gz: OK
$ tar xf helm-v3.6.3-linux-amd64.tar.gz
$ sudo mv linux-amd64/helm /usr/local/bin/
$ sudo chmod +x /usr/local/bin/helm 
$ helm version
version.BuildInfo{Version:"v3.6.3", GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354", GitTreeState:"clean", GoVersion:"go1.16.5"}

MSRにHelm Chartをプッシュするためのプラグインをインストールします。

$ helm plugin install https://github.com/chartmuseum/helm-push.git
Downloading and installing helm-push v0.9.0 ...
https://github.com/chartmuseum/helm-push/releases/download/v0.9.0/helm-push_0.9.0_linux_amd64.tar.gz
Installed plugin: push
$ helm plugin list
NAME    VERSION DESCRIPTION
push    0.9.0   Push chart package to ChartMuseum

簡単なHelm Chartを作成し、MSRにプッシュ

helm createコマンドでHelm Chartの雛形を作成し、簡単なHelm Chartを作成します。

$ helm create example
Creating example
$ cd example
$ rm -rf templates/*
$ > values.yaml 
$ cat > templates/example.yaml
apiVersion: v1
kind: Pod
metadata:
  name: example
spec:
  containers:
  - name: example
    image: nginx:1.21
$ helm package .
Successfully packaged chart and saved it to: /home/vagrant/example/example-0.1.0.tgz

MSRをHelmのレポジトリに追加します。今回はテストなのでTLS検証をスキップしています。

$ helm repo add example https://192.168.123.204/charts/admin/example --username admin --password adminadmin --insecure-skip-tls-verify
"example" has been added to your repositories
$ helm repo list
NAME    URL
example https://192.168.123.204/charts/admin/example

それでは作成したHelm ChartをMSRにプッシュしてみましょう。ここでもTLS検証をスキップしています。

$ helm push example-0.1.0.tgz example --username admin --password adminadmin --insecure
Pushing example-0.1.0.tgz to example...
Done.

MSRでHelm Chartを確認

https://192.168.123.204/repositories/admin/example/charts を開くと、たった今プッシュしたHelm Chartが確認できます。

さらにView Chartを開いてみましょう。

Helm Chartの情報が確認できます。タブに並んでいる「Linting Summary」に注目してください。MSRにはHelmのLint機能が実装されています。このタブをクリックし、さらに「Lint Chart」ボタンをクリックしましょう。

内蔵のLintルールに従い、Helm Chart内で確認できたエラーや修正方法が表示されます。必要に応じて修正を行い、再プッシュしましょう。

まとめ

本稿ではMSR 2.9.0で実装されたHelm機能について簡単に見てみました。Helm Chartレポジトリをプライベートに持つことができるようになり、さらにHelm Chartを良い状態に保つためのLint機能も実装されたことで、MKEのKubernetesをより便利に、より安全に扱えるようになったと言えるでしょう。是非一度お試しください。

製品に関する質問や価格、ライセンス体系などにつきましてはこちらからお問い合わせください。

CL LAB Mail Magazine

CL LABの情報を逃さずチェックしよう!

メールアドレスを登録すると記事が投稿されるとメールで通知します。

メールアドレス: 登録

※登録後メールに記載しているリンクをクリックして認証してください。

Related post

Neo4j[ホワイトペーパー]CCPA