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
著者情報
Installs kubectl command line utility used to interact with the Kubernetes API Server.
ansible-galaxy install githubixx.kubectl