一般にK8sまたはKubeとして知られているKubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、モニタリングを自動化するオープンソースのオーケストレーションプラットフォームです。
簡単に言うと、Kubernetesを使用すると、ユーザーはLinuxコンテナーなどの実行中のコンテナーのグループで構成されるクラスターを効率的に管理できます。
Kubernetesクラスターは、オンプレミスとAWS、Google Cloud(GCP)、MicrosoftAzureなどのパブリッククラウドプラットフォームの両方にデプロイできます。このガイドでは、Google Cloud Platform(GCP)でKubernetesクラスタを設定する方法を段階的に説明します。
前提条件
続行する前に、GoogleCloudアカウントを持っていることを確認してください。 365日間、300ドル相当のクレジットを開始できるものをいつでも作成できます。
最初のクラスターを作成する
最初のKubernetesクラスタをデプロイする最初のステップは、GoogleCloudPlatformにログインすることです。ログインすると、ダッシュボードが次のように表示されます。
左上のボタンをクリックして、Kubernetes Engine –> Clusters
に移動します
これにより、「クラスター」が開きます 以下に示す’セクション。初めてKubernetesクラスタを作成する場合、GoogleCloudはKubernetesEngine APIを有効にするのに数分かかるため、ある程度の忍耐が必要です。
完了したら、[クラスタの作成]をクリックします ‘ボタンをクリックして最初のKubernetesクラスタをデプロイします。
次のセクションでは、クラスターのデフォルトの詳細が次のように表示されます。
左側のサイドバーをクリックして、クラスターの詳細を確認できます。たとえば、「デフォルトプール」をクリックできます ’オプションを使用して、ノードプールに関する詳細情報を表示します。
必要に応じて、自由に微調整してください。ノードの数を増やし、ニーズに合わせていくつかの調整を行うことができます。選択内容に満足したら、[作成]をクリックします ’ボタンをクリックしてKubernetesクラスタを作成します。
これには数分かかるので、Google Cloudがクラスターの初期化と作成を開始するときに、お茶を飲んでください。 Kubernetesクラスタが正常にデプロイされると、クラスタは次のように一覧表示されます。
Kubernetesクラスターへの接続
クラスタは稼働していますが、コマンドラインアクセスがない場合はあまり役に立ちません。クラスタに接続するには、次の2つの方法があります。 Google Cloud Shellを使用する GoogleCloudSDKキットを使用してLinuxシステムからリモート接続します 。
Google Cloud Shellを使用してKubernetesクラスタに接続するには、[接続]をクリックします クラスターに隣接する’ボタン。
これにより、クラスターの管理を開始するためにCloudShellで実行する必要があるコマンドを示すポップアップ画面が開きます。
コマンドを実行するには、[クラウドシェルで実行]をクリックします ' ボタン。 Google Cloudは、クラウドシェルへの接続の初期化と確立を開始します。
最後に、クラウドシェルが表示され、コマンドはすでにシェルに貼り付けられています。 「ENTER」を押します ’を実行してコマンドを実行し、クラスターの管理とクラスター管理タスクの実行を開始します。たとえば、ノードの数を表示するには、次のコマンドを実行します。
$ kubectl get nodes
お気づきかもしれませんが、Kubernetesクラスターは、以前にデフォルトで構成された3つのノードで構成されています。
GoogleCloudSDKを使用したクラスタへの接続
さらに、GoogleCloudSDKを使用してKubernetesクラスターに接続できます。 Google Cloud SDKは、GoogleCloudPlatformにリモート接続して管理タスクを実行するために使用されるコマンドラインツールのセットです。
このガイドでは、Ubuntu18.04およびDebian9以降のバージョンで動作するCloudSDKをUbuntu18.04にインストールします。
まず、次のようにGoogleCloudSDKリポジトリを追加します。
$ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
次に、GoogleCloudPlatformの公開鍵をインポートします。
$ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
次に、システムのパッケージリストを更新し、GoogleCloudSDKをインストールします。
$ sudo apt update && sudo apt install -y google-cloud-sdk
インストールは数分で完了します。 Cloud SDKがインストールされていることを確認するには、次を実行します。
$ dpkg -l | grep google-cloud-sdk
GoogleCloudSDKの初期化
Google Cloud SDKのインストールが成功したら、管理タスクを実行するために、SDKツールがGoogleCloudPlatformにアクセスすることを承認する必要があります。
これを実現するには、次のコマンドを発行します。
$ gcloud init --console-only
次に、ログインを続行するかどうかを尋ねられます。「 Y」を押します。 ’ログインオプションを受け入れる
コピーしてブラウザで開くリンクが端末に表示されます。次に、Googleアカウントで認証します。提供された確認コードをコピーして、端末に貼り付けます。
次に、プロジェクトを選択する必要があります。通常、最初のプロジェクトは現在のプロジェクトです。したがって、数値の選択肢1を入力して、Enterキーを押します。
デフォルトゾーンの構成について尋ねられたら、提供されたリストからリージョンを選択する必要がある場所から「Y」と入力して、デフォルトゾーンを作成することを選択できます。作成したくない場合は、「n」と入力するだけです。
デフォルト設定はホームディレクトリに作成されます。クラウドSDKが使いやすくなりました。
クラスターに接続するときにクラウドシェルによって提供された初期コマンドを実行します。
$ gcloud container clusters get-credentials cluster-1 --zone us-central1-c --project basic-breaker-281614
この時点で、Kubernetesクラスターの管理を開始できます。実行中のノードの数を確認するには、もう一度 kubectlを使用します 示されているコマンド:
$ kubectl get nodes
結論
Kubernetesは、引き続きDevOps分野で不可欠なプラットフォームです。これにより、実稼働環境でのノードの管理がより簡単かつ効率的になります。このガイドでは、GoogleCloudPlatformでKubernetesクラスタを設定する方法について説明しました。
また読む :KubernetesでNGINXIngressControllerを設定する方法