ten7.digitalocean_kubeconfig
Ansibleロール: digitalocean_kubeconfig
DigitalOcean Kubernetesクラスターのkubeconfigを取得します。
DigitalOcean Kubernetesを自動化で使用する場合、kubeconfig.yamlを動的に取得する方法が必要です。このファイルは定期的にDigitalOceanによって再生成され、安全対策として使われています。このロールはDigitalOcean APIを使用してkubeconfigを動的に取得し、毎回新しい資格情報を使ってクラスターをプロビジョニングできるようにします。
要件
- DigitalOceanのAPIキーが必要です。
- DigitalOceanのAPIにアクセスできる必要があります。
ロール変数
使用できる変数は以下にリストされています。デフォルト値も含まれています(defaults/main.yml
を参照)。
APIトークン
digitalocean_api_token: '1234567890abscdefg'
あなたのDigitalOcean APIトークンです。
kubeconfigを取得する
digitalocean_kubeconfig:
cluster: 'my_cluster_name'
kubeconfig: '/path/to/save/kubeconfig.yaml'
ここで:
- cluster: クラスター名
- kubeconfig: kubeconfigファイルを保存するパス
依存関係
なし。
例のプレイブック
単純な使い方の例です:
---
- hosts: cluster
vars:
digitalocean_api_token: "1234567890abscdefg"
digitalocean_kubeconfig:
cluster: "my_cluster_name"
kubeconfig: "/path/to/save/kubeconfig.yaml"
roles:
- socketwench.digitalocean_kubeconfig
tasks:
- name: 定義を適用する
k8s:
kubeconfig: "/path/to/save/kubeconfig.yaml"
src: "/path/to/my/k8s_definitions.yml"
時には、kubeconfigを一時ファイルやディレクトリに書き込みたいことがあります。その場合、Ansible 2.xのinclude_roleまたはimport_roleを利用し、インポートタスク内でロール変数を提供できます:
---
- hosts: cluster
vars:
digitalocean_api_token: '1234567890abscdefg'
tasks:
- name: 実行に必要なファイルを保存する一時ディレクトリを作成
tempfile:
state: directory
register: _run_temp_dir
- name: kubeconfigファイルを取得する。
import_role:
name: socketwench.digitalocean_kubeconfig
vars:
digitalocean_kubeconfig:
cluster: "my_cluster_name"
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
- name: 定義を適用する
k8s:
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
src: "/path/to/my/k8s_definitions.yml"
ライセンス
GPL v3
著者情報
このロールは、socketwenchによってTEN7のために作成されました。
インストール
ansible-galaxy install ten7.digitalocean_kubeconfig
ライセンス
Unknown
ダウンロード
6.4k
所有者
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.