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のために作成されました。

プロジェクトについて

Gets the kubeconfig file for clusters on DigitalOcean

インストール
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.