ノート:

3つのワーカー・ノードを使用したOracle Cloud Infrastructure Container Engine for Kubernetesの設定

はじめに

このチュートリアルでは、Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)を使用して、Kubernetesコントロール・プレーンおよびデータ・プレーン(ノード・プール)で構成されるKubernetesクラスタを設定する方法について説明します。また、Kubernetesプラットフォームに2つのサンプル・アプリケーションをデプロイおよび削除して、それが機能することを証明します。このチュートリアルでは、コンテナでホストされるアプリケーションのためにKubernetes内で提供されるネットワーキング・サービスに潜入する将来のチュートリアルの段階を設定します。

イメージ

イメージ

OKEデプロイメント・モデルの例は次のとおりです。

選択できる様々なOKEデプロイメント・モデルの詳細は、ネットワーク・リソース構成の例を参照してください。

このチュートリアルでは、例3のデプロイメント・モデルを実装します。

目的

タスク1: 新しいKubernetesクラスタの作成とコンポーネントの検証

Kubernetes制御クラスタおよびワーカー・ノードは、Oracle Cloud Infrastructure (OCI)内で完全にデプロイおよび構成されます。これが、Oracle Cloud Infrastructure Container Engine for Kubernetesと呼ばれるものです。

タスク2: OCIコンソールでのデプロイ済Kubernetesクラスタ・コンポーネントの確認

OKEを使用してKubernetesクラスタを作成すると、このデプロイメントをサポートするためにOCI内にいくつかのリソースが作成されます。

最初で最も重要なリソースは、仮想クラウド・ネットワーク(VCN)です。「クイック作成」オプションを選択したため、OKE専用の新しいVCNが作成されました。

収集したすべての情報を配置し、それを図に配置すると、図は次のようになります。

イメージ

タスク3: CLIを使用したKubernetesクラスタの実行の確認

接続は、OCI Cloud Shellを使用してOKEクラスタで管理を実行するために行われます。

イメージ

タスク4: kubectlを使用したサンプルNginxアプリケーションのデプロイ

タスク5: Helmチャートを使用したサンプルMySQLアプリケーションのデプロイ

タスク6: ポッドおよびネームスペースのクリーン・アップ

デフォルトのネームスペース(Nginx)にアプリケーションをデプロイし、新しいネームスペース(MySQL)に別のアプリケーションをデプロイしました。Helmチャートを使用して、必要なときにいつでも新しい環境を開始できるように環境をクリーンアップしましょう。

  1. 次のコマンドを使用して、すべてのワーカー・ノードを取得します(クラスタ全体)。

     kubectl get nodes -o wide
    
  2. 現在の(デフォルト)ネームスペースで実行中のすべてのポッドを取得するには、次のコマンドを使用します。

     kubectl get pods -o wide
    
  3. 次のコマンドを実行して、すべてのネームスペースを取得します。

     kubectl get namespaces
    
  4. 次のコマンドを実行して、現在の(デフォルト)ネームスペースで実行中のすべてのポッドを具体的に取得します。

     kubectl get pods --namespace=default
    
  5. 次のコマンドを実行して、MySQLネームスペースで実行中のすべてのポッドを特に取得します。

    kubectl get pods --namespace=mysql
    

イメージ

イメージ

イメージ

  1. 次のコマンドを実行して、デフォルト・ネームスペース内のすべてのデプロイメントまたはポッドを削除します。

     kubectl delete --all deployments --namespace=default
    
  2. 次のコマンドを使用して、デプロイメントまたはポッドが削除されているかどうかを確認します。

     kubectl get pods --namespace=default
    
  3. 次のコマンドを使用して、MySQLネームスペースで実行中のすべてのポッドを特に取得します。これが存在するかどうかを確認します。

    kubectl get pods --namespace=mysql
    

イメージ

  1. 次のコマンドを実行して、すべてのデプロイメントまたはポッドおよび完全なMySQLネームスペースを削除します。

     kubectl delete namespace mysql
    
  2. このコマンドを使用して、すべてのネームスペースを収集し、MySQLネームスペースが削除されているかどうかを確認します。

     kubectl get namespaces    
    

イメージ

確認

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、Oracle Learning Explorerになるには、education.oracle.com/learning-explorerにアクセスしてください。

製品ドキュメントについては、Oracle Help Centerを参照してください。