Google Kubernetes Engine Nginx デプロイ

Kubernetesについて、以前少し触れました。

今回は、GKEにクラスタを追加して、Nginxをデプロイしてみようと思います。

https://cloud.google.com/kubernetes-engine/?hl=ja

スポンサーリンク

クラスタを作成する

Kubernetes Engineメニューのクラスタを選択し、クラスタ追加しましょう。

今回は、「標準クラスタ」テンプレートを選択しました。

東京のエリアを選択したかったので、ロケーションは以下を設定しました。

ゾーン:「asia-northeast1-a」
リージョン「asia-northeast1」

日本国に関しては、以下にロケーション情報が載っていました。

https://cloud.google.com/about/locations/japan/?hl=ja

作成を押すとクラスタが作成されます。

ノード数は、初期では3になっており、マシン構成のCPU/メモリなども変更ができます。今回特にデフォルトの設定を使いました。

ここまでで、クラスタの作成が完了しました!

ワークロード

メニューのワークロードからコンテナ化されたアプリケーションをデプロイします。

デプロイを押下するとコンテナを編集する画面になります。

コンテナ->構成と二つ設定します。

今回既存のコンテナイメージで「nginx:latest」を利用しました。

新規コンテナのイメージでは、Cloud Source Repositories・GitHub・Bitbucketなどからもプロバイダを選択できるようでした。

コンテナの選択が完了したら、構成の設定をします。

必要に応じて、アプリケーション名・ラベルを編集します。

今回は特にデフォルトの設定のままで実施します。

先ほど作成したクラスタの選択を最後に確認して、デプロイ!

nignxのサービスが作成されました。

タイプにLoadBalancerが設定されています。内部ロード バランシングの設定で、同じネットワーク上ではあるもののクラスタ外部で実行中のアプリケーションからクラスタのサービスにアクセスができるようになります。

公開してみましょう

デプロイの公開で、ポートやプロトコルを設定します。

YAMLを表示でUIで設定した内容を見ることができます。

---
apiVersion: "v1"
kind: "Service"
metadata:
  name: "nginx-1-service"
  namespace: "default"
  labels:
    app: "nginx-1"
spec:
  ports:
  - protocol: "TCP"
    port: 80
  selector:
    app: "nginx-1"
  type: "LoadBalancer"
  loadBalancerIP: ""

公開ボタンで公開しましょう。

「外部エンドポイント」という項目があり、そこにipが載っていますので、アクセスして、Welcome to nginx!が表示されたら完了です。

最後に何か継続して作業しないのであれば、公開したnginxのサービスを削除ボタンから消しておきます。

まとめ

画面上で簡単にnginxを起動することができました。

短時間で作成できてしまうので、すごい便利でした。

今後は今作成しているサービスに必要なもう少し実践的なものに関して記事にできたらと思います。