トポロジの検証

Terraform構成で定義したリソースが作成されていることを確認し、ベースおよび管理ホストへのSSHアクセスをテストして、Kubernetesクラスタへのアクセスを検証します。

デプロイされたリソースの検証

  1. Oracle Cloud Infrastructure Webコンソールにサインインします。
  2. 右上隅近くの「リージョン」メニューで、terraform.tfvarsで指定したリージョンIDに対応するリージョン名を選択します。
    たとえば、リージョンID us-ashburn-1terraform.tfvarsに指定した場合、US East (Ashburn)を選択します。
  3. サービス・メニューから「計算」を選択します。
  4. 左側のナビゲーション・ペインのComponentフィールドで、terraform.tfvarsで指定した区分IDに対応する区分名を選択します。
  5. 次のインスタンスが存在することを確認します。
    • label_prefixという名前の2つのインスタンス、およびlabel_prefix - admin (label_prefixは、terraform.tfvarslabel_prefix変数に指定した値)
    • cluster_name -... - nの形式で名前を持つ3つ以上のインスタンス。cluster_nameはクラスタに対して指定した名前で、nは0から始まる序数です。インスタンス数は、Kubernetesクラスタに対して指定したノード数と一致します。
  6. 各インスタンスの名前をクリックし、「インスタンスの詳細」ページで、可用性ドメイン、イメージおよび形状が、terraform.tfvarsで指定した設定と一致することを確認します。
  7. 任意のインスタンスの「インスタンスの詳細」ページの「インスタンス情報」で、「Virtual Cloudネットワーク」フィールドを見つけてVCN名をクリックします。
  8. Virtual Cloud Network Detailsページで、CIDRブロックがterraform.tfvarsで指定したアドレスと一致することを確認します。
  9. 左側のナビゲーション・ペインの「リソース」の下で、VCNに次のリソースが含まれていることを確認します。数値は、各リソースの件数を示します。
    • サブネット: bastionおよびadmin計算インスタンスの両方を作成することを選択した場合は4つのサブネットを、コンピュート・インスタンスのいずれか1つのみを作成することを選択した場合は3つのサブネット、それ以外の場合は2。
    • ルート表: NATゲートウェイを作成するように選択した場合は、3つのルート表、それ以外の場合は2。
    • インターネット・ゲートウェイ: 1
    • セキュリティ・リスト: bastionadmin計算インスタンスの両方を作成することを選択した場合は、5つのセキュリティ・リストが作成されます。コンピュート・インスタンスのいずれか1つのみを作成するよう選択した場合は、4つのサブネット、それ以外の場合は3です。
    • DHCPオプション: 1
    • NATゲートウェイ: NATゲートウェイを作成するように選択した場合は1、それ以外の場合は0。
    • サービス・ゲートウェイ:サービス・ゲートウェイの作成を選択した場合は1、それ以外の場合は0。
  10. ネットワークの各リソースをクリックして、それらの詳細を表示します。
  11. 「サービス」メニューから「開発者サービス」を選択し、「コンテナ・クラスタ(OKE )」を選択します。
  12. label_prefix-cluster_nameという名前のクラスタが存在し、アクティブであることを確認します。
  13. クラスタの名前をクリックし、コンソールの「ノード・プール」セクションまでスクロールして、ノード・プールの数とサイズが指定した設定と一致することを確認します。

バスおよび管理ホストへのSSHアクセスの検証

ベース・ホストまたは管理ホストの作成を選択した場合は、それらへのSSH接続を作成できるかどうかをテストします。

ターミナル・ウィンドウで、terraform apply操作の出力からすでにコピーしておいたsshコマンドを実行します。

terraform applyの出力から以前にsshコマンドをコピーしなかった場合は、Terraform構成が含まれるトップレベルのディレクトリに移動して、コマンドterraform outputを実行します。ssh_to_adminおよびssh_to_bastionの出力をコピーします。

sshコマンドは次の形式です。
  • 管理ホスト: ssh -i privateKeyPath -J opc@bastionPublicIP opc@adminPrivateIP
  • バス・ホスト: ssh -i privateKeyPath opc@bastionPublicIP

Kubernetesクラスタへのアクセス

kubectl CLIまたはWebベースのKubernetesダッシュボードを使用して、Kubernetesクラスタにアクセスして管理できます。

  • kubectlは、管理ホスト上に自動的にインストールおよび構成されます。
  • ローカル・ホストからkubectlを実行するには、これをインストールし、KUBECONFIG環境変数を設定します。

    kubectl CLIでは、KUBECONFIG変数を使用して、Kubernetesクラスタにアクセスするためのパラメータを決定します。Terraform構成を適用すると、必要なクラスタ・アクセス・パラメータが生成され、ディレクトリgeneratedkubeconfigというローカル・ファイルに格納されます。

    ローカル・ホストにKUBECONFIG環境変数を設定するには、次のコマンドを実行します。
    export KUBECONFIG=generated/kubeconfig
  • Kubernetesダッシュボードにアクセスするには、次の手順を実行します。
    1. 次のコマンドを実行して、Kubernetes APIサーバーに対してプロキシ・サーバーを起動します。
      kubectl proxy
    2. ブラウザを使用して、http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/にアクセスします