Secret管理

印刷

Cloud Z CPの基盤となる Kubernetesは、同じ物理クラスタでサポートされている複数の仮想クラスタをサポートします。これらの仮想クラスターは名前空間と呼ばれます。

もう少し詳しくは Namespacesを参照してください。

名前空間を見る

既存に作成されている名前空間は、カード型またはリスト型で見ることができます。

名前空間ごとに、CPU Request、Memory Request、CPU Limit、Memory Limitなどのリソース使用率を表示できます。

ネームスペースの現在の状態と、ネームスペースに関するより詳細な情報を表示できるダッシュボードに移動できます。

カード型で見る

名前空間を直感的に表示したい場合は、カード形式で表示できます。

名前空間をカード形式で表示するには:

  1. サイドメニューから名前空間を選択します。
  2. ボタンをクリックします。

カード型では、ネームスペース別に次の情報を見ることができます。

  • Namespace 名: Namespace を区別するための固有の値です。リンクをクリックすると、Namespace の詳細情報を変更できます。
  • 作成日時:Namespaceが作成された日時。
  • ユーザー数:Namespaceに権限を持つユーザーの数。
  • 状態
    • 緑色(Active):名前空間が使用中です。
    • 灰色:名前空間が削除されており、新しいオブジェクトには使用できません。
  • リソース使用率
    • (実際に使用している値 / Resource Quotas に設定された値)で表示されます。
    • 50%以下の場合は緑、50%以上の場合は青、80%以上の場合は赤で表示されます。
    • 次の4つのリソースが表示されます。
      • CPU Request:Resource Quotasに設定されたNamespaceの割合のうち、
      • CPU Limit: 
      • Memory Request: 
      • Memory Limit: 
  • Namespace の管理
    • ダッシュボード画面に移動:そのNamespaceのより詳細な情報を表示できるダッシュボード画面に移動します。
    • 名前空間の削除:名前空間を削除します。

リスト形式で表示

名前空間に関するより多くの情報を一度に表示したい場合は、リスト形式で表示できます。

名前空間をリスト形式で表示するには:

  1. サイドメニューから名前空間を選択します。
  2. ボタンをクリックします。

リスト型では次の情報を見ることができます。

  • 名前空間名:リンクをクリックすると詳細情報が表示されます。
  • リソース使用率
    • (実際に使用している値 / Resource Quotas に設定された値)で表示されます。
    • 50%以下の場合は緑、50%以上の場合は青、80%以上の場合は赤で表示されます。
    • 次の4つのリソースが表示されます。
      • CPU Request:Resource Quotasに設定されたCPU Request値に基づいています。
      • CPU Limit:Resource Quotasに設定されたCPU Limit値に基づいています。
      • Memory Request:Resource Quotasに設定されたMemory Request値に基づいています。
      • Memory Limit:Resource Quotasに設定されたMemory Limit値に基づいています。
  • ユーザー数:Namespaceに権限を持つユーザーの数。
  • 状態 : Namespace の現在の状態です。
    • Active:名前空間が使用中です。
    • Terminating: 名前空間が削除されており、新しい Object には使用できません。
  • 作成日時: Namespace が生成された日時。
  • 管理
    • 削除:Namespaceを削除します。


名前空間秘密管理

Secretは、パスワード、OAuthトークン、sshキーなどの重要な情報を維持するためのものです。この情報をシークレットに置くことは、Pod定義またはDocker Imageにそのまま置くよりも安全で柔軟です。

Cloud Z CP コンソールでは、ネームスペース内の複数のアプリケーションで共通して使用される以下のタイプの Secret を管理できます。

(各アプリケーションのための秘密はそのプロジェクトで別々に管理されます。)

  • Docker Registry:特定のDocker Registryからイメージを取得するためのサーバーと認証情報を含みます。
  • TLS: HTTPS 設定に使用する証明書と鍵ファイルを管理します。

詳しくは  Secrets ご覧ください。 

Secret 管理画面に移動

  1. サイドメニューから ネームスペース を選択します。
  2. Namespace 名に接続されているリンクをクリックします。
  3. Namespace 管理画面が表示されたら、Secret タブをクリックします。


Secret 追加

  1. Secret リストの右上にある (Secret追加) ボタンをクリックします。
  2. Secret 追加 ポップアップが表示されたら、タイプに合った情報を入力し、登録 ボタンをクリックします。

フィールド説明

  • Docker Registry
    • docker-server(必須) : Docker Registry サーバー情報 例) registry.cloudzcp.io
    • docker-username(必須) : Docker ログインユーザーID
    • docker-password(必須) : Docker ログインユーザーパスワード
    • docker-email : Docker ログインユーザーのメール
  • TLS
    • certificate : 
    • key : 

Secret 照会

  1. ネームスペースの Secret タブをクリックすると、登録された Secret リストを確認できます。
  2. Secret Name をクリックすると、Secret の詳細情報を含むポップアップが表示されます。
  3. TLS タイプの場合、クリックするとファイルをダウンロードできます。

Secret 削除

  1. Secret リストで削除したい Secret の 管理 列をクリックします。
  2. 確認のために削除する Secret Name を入力し、削除 ボタンをクリックします。

Secret 検索

登録された Secret リストを Secret Name で検索できます。

  1. Secret リストの右上にある 検索語入力 フィールドに検索語を入力します。
  2. をクリックするか、Enter キーを押します。


参考事項

Secret の修正機能は提供していません。削除後に再作成するか、Kubernetes コマンドを使用して直接修正できます。

kubectl CLI を活用した Secret 管理

Secret をコンソールではなく kubectl CLI を活用して管理できます。Docker Registry タイプの Secret は Pod の ImagePullSecrets で使用されます。


Docker Registry タイプの Secret は次のコマンドで作成します。my-docker-secret という名前で Secret を作成します。

kubectl create secret docker-registry my-docker-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
  • DOCKER_REGISTRY_SERVER : Docker Registry サーバー情報 例) registry.cloudzcp.io
  • DOCKER_USER : Docker ログインユーザーID
  • DOCKER_PASSWORD : Docker ログインユーザーパスワード

  • DOCKER_EMAIL : Docker ログインユーザーのメール

正しく作成されたかを YAML 形式で確認できます。

$ kubectl get secret my-docker-secret --output=yaml
apiVersion: v1
data:
  .dockerconfigjson: eyJodHRwczovL2luZGV4L ... J0QUl6RTIifX0=
kind: Secret
metadata:
  ...
  name: my-docker-secret
  ...
type: kubernetes.io/dockerconfigjson


上記のように data 配下に .dockerconfigjson フィールドがあることを確認できます。Docker Credentials は base64 でエンコードされています。

入力内容が正しいか確認するには、次のコマンドを実行します。

$ kubectl get secret my-docker-secret --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode


{"auths":{"registry.cloudzcp.io":{"username":"billygoo","password":"xxxxxxxxxxx","email":"[email protected]","auth":"c3R...zE2"}}}


この結果の auth フィールドの値を base64 でデコードすると、読み取ることができます。

$ echo "c3R...zE2" | base64 --decode
billygoo:xxxxxxxxxxx

さらに詳細な情報は、Specifying ImagePullSecrets on a Pod を参照してください。

オンライン相談

問い合わせ

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てずに申し訳ございません。この記事を向上させるためにフィードバックをお願い致します。