Google Kubernetesエンジンクラスタを準備して、配備する方法


Kubernetes コンテナ化されたアプリケーションの展開、スケーリング、および管理を自動化するためのオープンソースシステムです.これは、宣言の構成と自動化を容易にします.
平易な英語で.Red Hat Technology Evangelist Gordon HaffはKubernetesをLinuxコンテナ操作を自動化するオープンソースプラットフォームとして説明しています.
コンテナ化は、単に非常に移植性の高い、非常に効率的にリソースを使用するように設計されたコードをパッケージ化する方法です.
Google Kubernetes EngineはGoogleの完全に管理されたKubernetesサービスです.そして、あなたにGoogleクラウドでこれらのコンテナ化されたアプリケーションを走らせます.Googleは、あなたの管理上の支配の下であなたのためにそれを管理します.
Kubernetesエンジンクラスタの展開この記事では、いくつかのコンテナを含むGoogle Kubernetesエンジンクラスタを作成します.各コンテナにはWebサーバがあります.

概要


このガイドでは、Google Kubernetesエンジン(GKE)を開始するために設計されます.Google Cloudシェルを使用してGKEクラスタを設定し、マルチコンテナーアプリケーションをホストします.このガイドでは、次の手順を実行します.
  • Googleクラウドプラットフォーム(GCP)コンソールにログインしてください
  • 必要なAPIを有効にする
  • エンジンクラスタ
  • クラスタの設定とサイズ変更
  • ワークロードを実行して配備する
  • アプリケーションの配備
  • 必要なAPIを有効にする


    Kubernetesエンジンクラスタを提供する必要がある2つのAPIがあります.
  • エンジン・API
  • コンテナレジストリAPI
  • 彼らはすでに有効になっていない場合は、最初にそれらを有効にする必要があります.これを行うには、手順に従います.
  • GCPコンソールで、ナビゲーションメニューを開き、API &サービスをクリックします
  • 有効なAPIの一覧でスクロールダウンし、両方のAPIが有効であることを確認します
  • いずれかのAPIが見つからない場合は、上部にある有効なAPIとサービスをクリックします.名前で上記のAPIを検索し、現在のプロジェクトのそれぞれを有効にします.
  • Kubernetesエンジンクラスタの作成


    クラスタは、少なくとも1つのクラスタマスタマシンと、ノードと呼ばれる複数の労働者マシンから構成されます.ノードはクラスタの一部を作るのに必要なKubernetesプロセスを実行するCompute Engine Virtual Machine(VM)インスタンスです.アプリケーションをクラスタに展開し、クラスタをノード上で実行します.
    クラスタを作成する前に、クラウドシェルについて学びましょう

    クラウドシェル


    クラウドシェルはGoogleクラウド上でホストされているリソースを管理するためのシェル環境です.クラウドシェルは、GCloudコマンドラインツールとKubectlコマンドラインツールを事前にインストールされています.gcloudツールは、Googleクラウド用のプライマリコマンドラインインターフェイスを提供し、KubectlはKubernetesクラスタに対してコマンドを実行するためのプライマリコマンドラインインターフェイスを提供します.
    クラウドシェルを起動するには、次の手順を実行します.

  • コンソールの右上隅から、Accountアクティブクラウドシェルをクリックします.


  • をクリックします.

  • これはGoogle CloudShellを起動します.現在、クラスタを起動し、アプリケーションを配備する準備が整いました.

    エンジンクラスタ


    gcloud container clusters create firstkubapp --zone us-central1-a --num-nodes 2
    
    GCloudコマンドラインツールを使用して、このコマンドを実行してKubernetesクラスタを作成し、クラスタをFirstKuBappと呼び、2つのノードを実行するように構成します

    あなたのKubernetesエンジンC * Lusters *を見てください


    コマンドが実行された後、エンジンのVMのインスタンスを計算するために移動してクラスタを表示できます.

    KerbernetesエンジンC *光沢*


    リサイズコマンドを使用してクラスタ内のノード数を増減するクラスタを変更できます.プールのサイズとゾーンを指定することで
    クラスタのサイズを増やすには
    gcloud container clusters resize firstkubapp --node-pool default-pool \
    --num-nodes 4 --zone us-central1-a
    
    クラスタのサイズを小さくするには
    gcloud container clusters resize firstkubapp --node-pool default-pool \
        --num-nodes 2 --zone us-central1-a
    

    コンテナを実行して配備する


    これで、作成したクラスタにコンテナアプリケーションを配備できます.NGinxでシンプルなWebアプリケーションインスタンスを作成します.Nginx 人気のオープンソースのWebサーバーソフトウェアのWebサービス、リバースプロキシ、キャッシング、ロードバランシング、メディアストリーミング、および多くの.

    nginxコンテナインスタンスを起動する


    クラウドシェルから、コマンドを実行してnginxコンテナの単一のインスタンスを起動します
    kubectl create deploy nginx --image=nginx:1.17.10
    
    Kubernetesでは、すべてのコンテナがポッドで実行されます.この使用法kubectl create KHEコマンドは、あなたが作成したKubernetesクラスタに単一のポッドの展開を作成するためにKubernetesを引き起こしました.ポッドはNginxコンテナを含んでいます
    Kubernetes展開は、彼らが走るノードの間で失敗のイベントでさえ、与えられた数のポッドを稼働させ続けます.このコマンドでは、デフォルトのポッド数を1にしました.

    nginxコンテナを動かしているpodを見てください


    クラウドシェルから
    kubectl get pods
    
    クラスタ上で動作する単一のpod firstkubappが表示されます.

    nginxコンテナをインターネットに公開する


    アプリケーションを配備しましたが、ユーザーがアクセスできるようにインターネットに公開する必要があります.外部のトラフィックにアプリケーションを公開するKubernetesリソースを作成することで、アプリケーションを公開できます.
    kubectl expose deployment nginx --port 80 --type LoadBalancer
    
  • type loadbalserフラグは、コンテナの計算エンジン負荷バランサを作成します.
  • ポートフラグは、インターネットへの公開ポート80を初期化します
  • コマンドはサービスと外部IPアドレスを付けた外部負荷バランサを作成しました.IPアドレスは、サービスの寿命のために同じままです.その公共のIPアドレスへのどんなネットワークトラフィックもサービスの後のポッドに発送されます:この場合、Nginx pod.

    新しいサービスを見る


    kubectl get services
    
    表示された外部IPアドレスを使用して、NGinxコンテナをリモートでテストして連絡することができます.
    これは、あなたのサービスのために、外部の外部の対角のフィールドの前に数秒かかることがあります.これは正常です.ジャスト・ランkubectl get services コマンドは、フィールドが設定されるまで数秒ごとにコマンドを実行します.
    新しいWebブラウザタブを開き、クラスタの外部IPアドレスをアドレスバーに貼り付けます.nginxブラウザのデフォルトのホームページが表示されます.

    スケールあなたのサービスで実行しているポッドの数を


    kubectl scale deployment nginx --replicas 3
    
    展開のスケーリングは、より人気が高まっているアプリケーションの利用可能なリソースを増加させたい場合に便利です.
    Kubernetesがポッドの数を更新したことを確認してください
    kubectl get pods
    
    そして、それは、ちょうどあなたがプロビジョニングして、KubernetesエンジンでKubernetesクラスタを配備したということです

    結論


    Google Kubernetesエンジンにこのヘッドスタートガイドでは、あなたの最初のGoogle Kubernetesエンジンクラスタを構成している.このクラスタは完全にあなたのためにGoogleによって管理されます.あなたは、アプリケーションを含むいくつかのポッドとクラスタを占有、ポッドの数を変更し、アプリケーションを公開し、アプリケーションをスケーリングしました.
    読んでいただきありがとうございます、私はAzeezルクマンとここで何か素晴らしい毎日の開発者の旅の建物です.さえずり、LinkedInとGitHubとどこでも他の場所で会いましょう

    資源


    https://rafay.co/the-kubernetes-current/getting-started-with-google-kubernetes-engine-gke-0/ https://googlepluralsight.qwiklabs.com/focuses/17274628?parent=lti_session
    https://cloud.google.com/kubernetes-engine/docs/how-to/gpus