コンテナ

「Kubernetes」のYAMLファイルを確認するには--ベストプラクティス準拠をチェック

「Kubernetes」のYAMLファイルがベストプラクティスに準拠しているかを「kube-linter」を使って確認する手順を解説する。

 「Kubernetes」は簡単ではない。多くの可動部品と非常に多くのエントリーポイントがあるため、問題が発生する可能性のあるものは膨大な数に上る。標準のベストプラクティスに準拠したPodとコンテナーのマニフェストを作成しなければ、エラーが発生する可能性は指数関数的に増加する。可能な限り堅実なYAMLファイルを作成する必要があるのは、そのためだ。

 非常に多くの要素が関わっており、それぞれの要素がさまざまなリソースを設定している場合、正常に機能させるのが極めて難しいこともある。ベストプラクティスに反するマニフェストを記述してしまうのを防ぐため、利用可能なツールを活用する必要があるのは、そのためだ。

 それらのYAMLファイルをチェックする1つの方法は、「kube-linter」を使用することである。kube-linterコマンドは、KubernetesのYAMLファイルをチェックして、ファイル内で設定されたアプリケーションがベストプラクティスに準拠しているか確認する静的分析ツールだ。

 本記事では、kube-linterを「Ubuntu Server」にインストールする方法を説明する。インストールが完了したら、サンプルのYAMLファイルを「リント」する手順を紹介する。

必要なもの

 kube-linterツールは「Linux」や「macOS」にインストールできる。ここでは、Linuxを使って説明を進める。このソフトウェアをKubernetesクラスターにインストールする必要はない。YAMLファイルを別のマシンで「リント」した後、Kubernetesクラスターに移動して展開できるからだ。

 kube-lintをクラスターで使用する場合は、コントローラーにインストールした方がいいだろう。このクラスターは、セルフホストすることも、「Google Cloud」やAWS、「Microsoft Azure」などの多くのクラウドプロバイダーの1つでホストすることも可能だ。

「Go」をインストールする方法

 最初に、GoをLinuxマシンにインストールする必要がある。ここでは、「Go 1.15.4」をインストールする。これを行うには、以下のコマンドで必要なファイルをダウンロードする。

wget https://golang.org/dl/go1.15.4.linux-amd64.tar.gz

 以下のコマンドを実行して、新しく作成したディレクトリーを解凍および移動する。

sudo tar -C /usr/local -xzf go1.15.4.linux-amd64.tar.gz

 最後に、以下のコマンドを実行して、goディレクトリーを$PATHに追加する。

export PATH=$PATH:/usr/local/go/bin

kube-linterをインストールする方法

 これで、kube-linterをインストールできるようになった。それを行うには、以下のコマンドを実行して、「Git」リポジトリーからクローンを作成する。

git clone https://github.com/stackrox/kube-linter.git

 以下のコマンドを実行して、新しく作成したディレクトリーに移動する。

cd kube-linter

 以下のコマンドでkube-linterをビルドする。

make build

 makeコマンドが利用できない場合は、以下のコマンドでインストールする。

sudo apt-get install make -y

 make buildコマンドを実行すると、完了までに5~10分かかる。完了したら、kube-linterの実行可能ファイルを必要なdorectpruにコピーする必要がある。以下のコマンドでそれを行う。

sudo cp .gobin/kube-linter /usr/bin/

 以下のコマンドで、packrコマンドも同じディレクトリーにコピーする。

sudo cp .gobin/packr /usr/bin/

「コンテナ」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
IAサーバー
UNIXサーバー
コンバージド・ハイパーコンバージド
その他サーバー
ストレージ
スイッチ
無線LAN
ルーター
ロードバランサー
VPN
WAN高速化
その他ネットワーク
サーバー仮想化
コンテナ
SDS/ストレージ仮想化
SDN/ネットワーク仮想化
デスクトップ仮想化
アプリケーション仮想化
その他仮想化
クラウドサービス
OS・ミドルウェア
開発
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]