freehck.k8s_join
freehck.k8s_join
ノードをKubernetesクラスタに参加させる
説明
この役割はすべてのノードとKubernetesマスターに適用されます。マスターのホストはk8s_join_is_master
をtrue
に設定している必要があります。
役割変数
k8s_join_command_filename
: 認証トークン/コマンドを保存するファイル名で、デフォルトはk8s-join-command
です。
k8s_join_is_master
: このブールフラグは、Kubernetesクラスタ内の特定のホスト(マスター)に対してのみtrue
に設定する必要があります。デフォルトはfalse
です。
例
インベントリ
k8s-node-0 ansible_host=10.118.19.10 k8s_is_master=true
k8s-node-1 ansible_host=10.118.19.11
k8s-node-2 ansible_host=10.118.19.12
[k8s_cluster]
k8s-node-0
k8s-node-1
k8s-node-2
playbook.yml
- hosts: k8s_cluster
become: true
vars:
# 共通パラメータ
k8s_ver: "1.16.2-00"
k8s_node_ip: "{{ ansible_host }}"
# k8s_baseは暗黙の依存関係
k8s_base_node_ip: "{{ k8s_node_ip }}"
k8s_base_ver: "{{ k8s_ver }}"
# k8s_initは暗黙の依存関係
k8s_init_cidr: "192.168.0.0/16"
k8s_init_node_ip: "{{ ansible_host }}"
k8s_init_node_name: "{{ inventory_hostname }}"
# この役割の設定
k8s_join_is_master: "{{ k8s_is_master | default('false') }}"
roles:
- role: freehck.k8s_base
- role: freehck.k8s_init
when: k8s_join_is_master
- role: freehck.k8s_join
注意
例に示されているように、この役割はKubernetesマスターとノードの両方に適用されるように設計されています。マスターでは、この役割が認証トークンを生成し、それをAnsibleコントローラーのファイルに保存します。このファイルはコミットしないでください!しばらくすると期限切れになります。その後、ノードはこのトークンを使用してクラスタに参加します。
インストール
この役割はAnsible Galaxyからインストールできます:
ansible-galaxy install freehck.k8s_join
ライセンス
MIT
著者情報
Dmitrii Kashin, freehck@freehck.ru
インストール
ansible-galaxy install freehck.k8s_join
ライセンス
Unknown
ダウンロード
235
所有者