githubixx.kubectl

ansible-role-kubectl

Kubernetes APIサーバーと対話するために使用されるkubectlコマンドラインユーティリティをインストールします。

バージョン

すべてのリリースにタグを付け、セマンティックバージョニングに従うよう努めています。このロールを使用したい場合は、最新のタグをチェックアウトすることをお勧めします。masterブランチは基本的に開発用で、タグは安定したリリースを示します。しかし一般に、masterも良好な状態を維持しています。タグ23.0.2+1.28.5は、このロールのリリースが23.0.2であり、kubectlクライアントバイナリのバージョンが1.28.5であることを意味します。ロール自体が変更されると、X.Y.Zの部分が増加します。Kubernetesのバージョンが変更されると、X.Y.Zの後ろの部分が増加します。これにより、特定のKubernetesリリースの開発中でもバグ修正や新しいメジャーバージョンをタグ付けできます。

変更履歴

CHANGELOGを参照してください。

ロール変数

# インストールする"kubectl"のバージョン
kubectl_version: "1.29.3"

# デフォルトの"バイナリ"は"kubectl"をバイナリファイルとしてダウンロードします。これは
# ".tar.gz"ファイルよりも約2.5倍大きいです。tarファイルはダウンロード後に
# このロールによって最初に解凍され、小さくなります。
#
# "binary"を指定すると、"kubectl"のバイナリファイルがダウンロードされます。
# tarファイルとは異なり、バイナリファイルは約2.5倍大きいですが、
# このロールによって解凍される必要はありません。
#
# ダウンロードファイルのサイズが重要な場合(例:遅いダウンロードや
# モバイル接続でのダウンロードなど)、"archive"を選択してください。そうでなければ、
# "binary"が選択肢になるかもしれません。
kubectl_download_filetype: "binary"
#
# "kubernetes-client-linux-amd64.tar.gz"ファイルのSHA512チェックサム
# (https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binariesを参照)
kubectl_checksum_archive: "sha512:c9cc7ab9e3aa776f2daab3a9e10ee78d57d0c081ef43f8032de36a61c6425ba527d5df92611b058672be0975a6b97ad3f3a169e282c26275d2c0e59e1f9b1173"
#
# バイナリのSHA512チェックサム。通常、変更する必要はありません。
# 詳細情報:
#   - https://kubernetes.io/releases/download/#binaries
#   - https://www.downloadkubernetes.com/
kubectl_checksum_binary: "sha512:https://cdn.dl.k8s.io/release/v{{ kubectl_version }}/bin/{{ kubectl_os }}/{{ kubectl_arch }}/kubectl.sha512"

# "kubectl"バイナリをインストールする場所
kubectl_bin_directory: "/usr/local/bin"

# kubectlアーカイブを保存するディレクトリ
kubectl_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"

# "kubectl"バイナリの所有者
kubectl_owner: "root"

# "kubectl"バイナリのグループ
kubectl_group: "root"

# "kubectl"バイナリの権限を指定します
kubectl_binary_mode: "0755"

# "kubectl"が実行されるオペレーティングシステム
kubectl_os: "linux"  # MacOS Xの場合は"darwin"、Windowsの場合は"windows"を使用

# "kubectl"が実行されるプロセッサアーキテクチャ
kubectl_arch: "amd64"  # 他の可能な値:"386","arm64","arm","ppc64le","s390x"

テスト

このロールには、moleculeを使用して作成された小さなテストセットアップがあります。テストを実行するには、moleculeのインストールガイドに従ってください。また、Dockerデーモンがマシン上で実行されていることを確認してください。

Dockerがすでにインストールされていると仮定して、少なくとも2つのPythonパッケージをインストールする必要があります:

pip3 install --user molecule
pip3 install --user molecule-docker

その後、moleculeを実行できます:

molecule converge

これにより、Ubuntu 20.04/22.04およびDebian 11/12のDockerコンテナがいくつかセットアップされ、その中にkubectlがインストールされます。すべてが正常に動作したか確認するには:

molecule verify

クリーンアップするには、次のコマンドを実行します:

molecule destroy

例プレイブック

- hosts: your-host
  roles:
    - githubixx.kubectl

ライセンス

GNU一般公衆ライセンス バージョン 3

著者情報

TauCeti Blog

プロジェクトについて

Installs kubectl command line utility used to interact with the Kubernetes API Server.

インストール
ansible-galaxy install githubixx.kubectl
ライセンス
gpl-3.0
ダウンロード
12k
所有者
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)