Kubernetes クラスターはノードのグループです。ノードは、アプリケーションを実行するマシンです。各ノードは、物理マシンまたは仮想マシンにすることができます。ノードの容量 (CPU の数とメモリの量) は、ノードの作成時に定義されます。クラスターは次のもので構成されます。
- 1 つまたは複数のマスター ノード (高可用性のため、通常は多数のマスター ノードが存在します)
- 1 つ以上のワーカー ノード (ミニオンとも呼ばれます)
SSH を使用したワーカー ノードへの接続
クラスター内にノード プールを作成するときに公開 SSH キーを指定した場合、公開キーはクラスター内のすべてのワーカー ノードにインストールされます。UNIX および UNIX に類似したプラットフォーム (Solaris および Linux を含む) では、ssh ユーティリティ (SSH クライアント) を使用して SSH 経由でワーカー ノードに接続し、管理タスクを実行できます。
以下の手順は、ワーカー ノードへの接続に使用する UNIX マシンを想定していることに注意してください。
ssh ユーティリティがインストールされています。
クラスターの作成時に指定された SSH 公開鍵とペアになっている SSH 秘密鍵ファイルにアクセスできます。
SSH を使用してワーカー ノードに接続する方法は、クラスター内のノード プールを定義するときに、ワーカー ノードにパブリック サブネットとプライベート サブネットのどちらを指定したかによって異なります。
SSH を使用してパブリック サブネット内のワーカー ノードに接続する
SSH を使用してパブリック・サブネット内のワーカー・ノードに接続する前に、サブネットのセキュリティー・リストでイングレス・ルールを定義して、SSH アクセスを許可する必要があります。イングレス ルールでは、ソース 0.0.0.0/0 および任意のソース ポートからワーカー ノードのポート 22 へのアクセスを許可する必要があります。 ssh ユーティリティを使用して UNIX マシンから SSH 経由でパブリック サブネット内のワーカー ノードに接続するには
1- 接続先のワーカー ノードの IP アドレスを確認します。これは、いくつかの方法で行うことができます。
kubectl を使用します。まだ行っていない場合は、手順に従ってクラスターの kubeconfig 構成ファイルをセットアップし、(必要に応じて) ファイルを指すように KUBECONFIG 環境変数を設定します。独自の kubeconfig ファイルを設定する必要があることに注意してください。別のユーザーがセットアップした kubeconfig ファイルを使用してクラスターにアクセスすることはできません。クラスタ アクセスの設定を参照してください。次に、ターミナル ウィンドウで kubectl get nodes と入力して、クラスター内のノード プール内のワーカー ノードのパブリック IP アドレスを表示します。
コンソールの使用。コンソールで [クラスター リスト] ページを表示し、ワーカー ノードが属するクラスターを選択します。[ノード プール] タブで、ワーカー ノードが属するノード プールの名前をクリックします。[ノード] タブに、ノード プール内のすべてのワーカー ノードのパブリック IP アドレスが表示されます。
REST API の使用。ListNodePools オペレーションを使用して、ノード プール内のワーカー ノードのパブリック IP アドレスを確認します。
2- ターミナル ウィンドウで、ssh opc@<node_ip_address> と入力してワーカー ノードに接続します。<node_ip_address> は、以前にメモしたワーカー ノードの IP アドレスです。たとえば、ssh
[email protected] と入力できます。
SSH 秘密鍵がファイルまたは ssh ユーティリティが期待するパスに格納されていない場合 (たとえば、ssh ユーティリティは、秘密鍵が ~/.ssh/id_rsa に格納されることを期待している可能性があります)、明示的に指定する必要があります。次の 2 つの方法のいずれかで、秘密鍵のファイル名と場所を取得します。
-i オプションを使用して、秘密鍵のファイル名と場所を指定します。たとえば、ssh -i ~/.ssh/my_keys/my_host_key_filename
[email protected] 秘密鍵のファイル名と場所を SSH 構成ファイル (存在する場合はクライアント構成ファイル (~/.ssh/config)) に追加します。システム全体のクライアント構成ファイル (/etc/ssh/ssh_config)。たとえば、次を追加できます。
ホスト 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename
ssh ユーティリティの構成ファイルの詳細については、「man ssh_config」と入力してください。また、秘密鍵ファイルのアクセス許可は、読み取り/書き込み/実行アクセスを許可する必要がありますが、他のユーザーがファイルにアクセスできないようにする必要があることに注意してください。たとえば、適切な権限を設定するには、chmod 600 ~/.ssh/my_keys/my_host_key_filename と入力します。パーミッションが正しく設定されておらず、他のユーザーが秘密鍵ファイルにアクセスできる場合、ssh ユーティリティは単に秘密鍵ファイルを無視します。
参考文献:
https://docs.cloud.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconnectingworkernodesusingssh.htm