2.4. リモートアクセス用の追加の kubeconfig ファイルの生成


デフォルトのリモートアクセスファイルが提供するものより多くのホスト名または IP アドレスが必要な場合は、追加の kubeconfig ファイルを生成して使用できます。

重要

設定の変更を実装するには、Red Hat build of MicroShift を再起動する必要があります。

前提条件

  • Red Hat build of MicroShift の config.yaml が作成されている。

手順

  1. (オプション) 次のコマンドを実行すると、config.yaml の内容を表示できます。

    $ cat /etc/microshift/config.yaml
  2. (オプション) 次のコマンドを実行すると、リモートアクセス kubeconfig ファイルの内容を表示できます。

    $ cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfig
    重要

    追加のリモートアクセス kubeconfig ファイルには、Red Hat build of MicroShift config.yaml ファイルにリストされているサーバー名のいずれかを含める必要があります。追加の kubeconfig ファイルも検証に同じ CA を使用する必要があります。

  3. 追加の DNS 名、SAN、または外部 IP アドレス用に追加の kubeconfig ファイルを生成するには、必要なエントリーを apiServer.subjectAltNames フィールドに追加します。次の例では、使用される DNS 名は alt-name-1、IP アドレスは 1.2.3.4 です。

    追加の認証値を含む config.yaml の例

    dns:
      baseDomain: example.com
    node:
      hostnameOverride: "microshift-rhel9" 1
      nodeIP: 10.0.0.1
    apiServer:
      subjectAltNames:
      - alt-name-1 2
      - 1.2.3.4 3

    1
    ホスト名
    2
    DNS 名
    3
    IP アドレスまたは範囲
  4. Red Hat build of MicroShift を再起動して設定の変更を適用し、次のコマンドを実行して必要な kubeconfig ファイルを自動生成します。

    $ sudo systemctl restart microshift
  5. 追加のリモートアクセス kubeconfig ファイルの内容を確認するには、config.yaml にリストされている名前または IP アドレスを cat コマンドに挿入します。たとえば、次のコマンド例では alt-name-1 が使用されています。

    $ cat /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig
  6. クラスターの接続に使用する SAN または IP アドレスを含む、使用する kubeconfig ファイルを選択します。この例では、cluster.server フィールドに `alt-name-1` を含む kubeconfig が正しいファイルです。

    追加の kubeconfig ファイルの内容の例

    clusters:
    - cluster:
        certificate-authority-data: <base64 CA>
        server: https://alt-name-1:6443 1

    1
    /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig ファイルの値は、apiServer.subjectAltNames 設定値からのものです。
注記

これらのパラメーターはすべて、API サーバーの外部提供証明書に共通名 (CN) およびサブジェクト代替名 (SAN) として含まれています。

2.4.1. Red Hat build of MicroShift クラスターにリモートアクセスするためにファイアウォールを開く

リモートユーザーが Red Hat build of MicroShift クラスターにアクセスできるように、次の手順を使用してファイアウォールを開きます。この手順は、ワークステーションユーザーがリモートでクラスターにアクセスする前に完了する必要があります。

この手順では、user@microshift は、Red Hat build of MicroShift ホストマシンのユーザーで、別のワークステーション上のリモートユーザーがアクセスできるようにそのマシンを設定します。

前提条件

  • oc バイナリーがインストールされている。
  • クラスター管理者の権限がある。

手順

  • Red Hat build of MicroShift ホストの user@microshift として、次のコマンドを実行して、Kubernetes API サーバー (6443/tcp) のファイアウォールポートを開きます。

    [user@microshift]$ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload

検証

  • user@microshift として、次のコマンドを実行して、Red Hat build of MicroShift が実行していることを確認します。

    [user@microshift]$ oc get all -A

2.4.2. Red Hat build of MicroShift クラスターにリモートでアクセス

以下の手順に従って、kubeconfig ファイルを使用してリモートワークステーションから Red Hat build of MicroShift クラスターにアクセスします。

user@workstation ログインは、ホストマシンにリモートからアクセスするのに使用されます。手順の <user> 値は、user@workstation が Red Hat build of MicroShift ホストにログインするユーザーの名前になります。

前提条件

  • oc バイナリーがインストールされている。
  • @user@microshift は、ローカルホストからファイアウォールを開いている。

手順

  1. RHEL マシンに ~/.kube/ フォルダーがない場合は、user@workstation として、次のコマンドを実行してフォルダーを作成します。

    [user@workstation]$ mkdir -p ~/.kube/
  2. user@workstation として、次のコマンドを実行して、Red Hat build of MicroShift ホストのホスト名の変数を設定します。

    [user@workstation]$ MICROSHIFT_MACHINE=<name or IP address of Red Hat build of MicroShift machine>
  3. user@workstation として、次のコマンドを実行して、Red Hat build of MicroShift を実行している RHEL マシンからローカルマシンに接続するホスト名または IP アドレスを含む生成された kubeconfig ファイルをコピーします。

    [user@workstation]$ ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config
  4. user@workstation として、次のコマンドを実行して ~/.kube/config ファイルのパーミッションを更新します。

    $ chmod go-r ~/.kube/config

検証

  • user@workstation として、次のコマンドを実行して、Red Hat build of MicroShift が実行していることを確認します。

    [user@workstation]$ oc get all -A
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.