この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

RK-API クイックスタートガイド

Kubernetes API を通じて Rancher のリソースにアクセスできます。このガイドは、Rancher ユーザーとしてこの API を使用するための手助けをします。

  1. 左上隅で、*☰ > グローバル設定*をクリックします。

  2. server-url フィールドのアドレスを見つけてコピーします。

  3. rancher-admin/users/settings/api-keys.adoc#_creating_an_api_key[作成] スコープなしの Rancher API キーを作成します。

スコープなしの Rancher API キーは、ユーザーがアクセスできるすべてのリソースへの無制限のアクセスを許可します。不正使用を防ぐために、このキーは安全に保管し、頻繁にローテーションする必要があります。

  1. kubeconfig.yaml ファイルを作成します。$SERVER_URL をサーバーの URL に、$API_KEY をあなたの Rancher API キーに置き換えます:

     apiVersion: v1
     kind: Config
     clusters:
     - name: "rancher"
       cluster:
         server: "$SERVER_URL"
    
     users:
     - name: "rancher"
       user:
         token: "$API_KEY"
    
     contexts:
     - name: "rancher"
       context:
         user: "rancher"
         cluster: "rancher"
    
     current-context: "rancher"

このファイルは、kubectl や client-go などの互換性のあるツールで使用できます。簡単なデモについては、kubectl の例を参照してください。

より複雑な証明書設定の取り扱いに関する詳細は、CA 証明書の指定を参照してください。

利用可能な kubeconfig オプションに関する詳細は、 アップストリームドキュメントを参照してください。

API kubectl の例

この例では、kubectl を使用してプロジェクトを作成し、その後削除する方法を示します。利用可能な他の Rancher リソースのリストについては、API リファレンス ページを参照してください。

現在、すべての Rancher リソースが Rancher Kubernetes API を通じて利用できるわけではありません。

  1. KUBECONFIG 環境変数を、先ほど作成した kubeconfig ファイルに設定します:

  export KUBECONFIG=$(pwd)/kubeconfig.yaml
  1. kubectl explain を使用して、プロジェクトの利用可能なフィールドやリソースの複雑なサブフィールドを表示します:

  kubectl explain projects
  kubectl explain projects.spec

すべてのリソースが詳細な出力を持っているわけではありません。

  1. `project.yaml`という名前のファイルに次の内容を追加します:

  apiVersion: management.cattle.io/v3
  kind: Project
  metadata:
    # name should be unique across all projects in every cluster
    name: p-abc123
    # generateName can be used instead of `name` to randomly generate a name.
    # generateName: p-
    # namespace should match spec.ClusterName.
    namespace: local
  spec:
    # clusterName should match `metadata.Name` of the target cluster.
    clusterName: local
    description: Example Project
    # displayName is the human-readable name and is visible from the UI.
    displayName: Example
  1. プロジェクトを作成します:

  kubectl create -f project.yaml
  1. プロジェクトを削除します:

プロジェクトを削除する方法は、プロジェクトの作成方法によって異なります。

A.プロジェクトを作成する際に`name`を使用した場合:

```bash
kubectl delete -f project.yaml
```

*B.generateName*を使用した場合:

Replace `$PROJECT_NAME` with the randomly generated name of the project displayed by Kubectl after you created the project.

```bash
kubectl delete project $PROJECT_NAME -n local
```

CA 証明書の指定

ツールが Rancher の CA 証明書を認識できるようにするために、ほとんどのセットアップでは上記のテンプレートに追加の修正が必要です。

  1. 左上隅で、*☰ > グローバル設定*をクリックします。

  2. ca-certs フィールドの値を見つけてコピーします。

  3. `rancher.crt`という名前のファイルにその値を保存します。

Rancherインスタンスが別のサービスによってプロキシされている場合、そのサービスが使用している証明書を抽出し、ステップ5で示されているようにkubeconfigファイルに追加する必要があります。
  1. 次のコマンドは`rancher.crt`をbase64出力に変換し、すべての改行をトリムし、証明書でkubeconfigのクラスターを更新し、最後に`rancher.crt`ファイルを削除します:

  export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG
  kubectl config set clusters.rancher.certificate-authority-data $(cat rancher.crt | base64 -i - | tr -d '\n')
  rm rancher.crt
  1. (オプション)システムによって信頼されていない自己署名証明書を使用する場合、kubectl を使用して kubeconfig に insecure オプションを設定できます:

このオプションは、セキュリティリスクがあるため、本番環境では使用すべきではありません。

  export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG
  kubectl config set clusters.rancher.insecure-skip-tls-verify true

Rancherインスタンスが別のサービスによってプロキシされている場合、そのサービスが使用している証明書を抽出し、上記のようにkubeconfigファイルに追加する必要があります。