PC依存エンジニアのブログ

開発者向けにIT関連の情報をお届けしています。特にバックエンド開発者向けの内容が多めです。たまにフリーランス情報もお届けしています。

VS CodeとCloud Codeを使って、GKE上で動かして見る

Google Cloud Next ’19 に参加してきました。
その中でVisual Studio Code拡張機能で使用できるCloud Codeの話題があったので、早速使ってみました。

Cloud Codeとは

IDEからクラスタの管理やクラウドへのデプロイ、デバッグを行うことができます。
cloud.google.com


今までKubernetesを使った開発を行う場合、以下のデメリットがありました。

  • Painful Development Cycle

変更するたびに繰り返し同じ作業が必要

  • Context Switch

DE使ったり、ターミナルを使ったり、ブラウザ使ったりとコンテキストスイッチによる生産性の低下

  • High Learning Cost

Kubernetes関連ツールをすべて覚えるのは困難
情報を把握し、どのツールを使うのかの判断が大変
チームに参画した人へのサポートが大変

そこでCloud Codeを利用することで、一つのIDEで統合的かつ簡単に管理することができます。
これにより開発者はよりコードに集中する環境ができるようになります。

Cloud Codeは

拡張機能として使うことができます。

前置きはこれぐらいにして、早速Hello Worldを表示するまでやってみます。

Cloud Codeを動かす

今回はVisual Studio Codeで、Cloud Codeを動かします。
Hello Worldを表示するページを出すだけのプロジェクトを、新規に作成します。

Cloud Codeのインストール

Visual Studio Code拡張機能の検索欄で、「Cloud Code」と検索すると、拡張機能が見つかりますので、インストールします。

cloud code extension

新規アプリケーション

VS Codeで、⌘⇧Pでコマンドパレットを開きます。
「cloud code: new」と入力し、「Cloud Code: New Application」を選択し、新しいアプリケーションを作成します。

new application

hello-world用のプロジェクトが言語ごとにあると思いますが、今回はGo言語を指定します。

create application1

プロジェクト名を入力して、作成します。

create application2

作成に成功すると、hello world用のテンプレートが作成されます。

created application

新規クラスタ

GKEクラスタを新規に作成します。

VS Codeで、⌘⇧Pでコマンドパレットを開きます。
「cloud code create」と入力すると、「Cloud Code: Create GKE Cluster」を選択し、新しいクラスタを作成します。

create cluster command

そうするとクラスタを作成するための、設定画面が開きます。
各項目を入力して、「Create Cluster」ボタンからクラスタを作成してください。
※ Compute Engine APIを有効にしないと、設定ができません。

create cluster

クラスタの作成が成功すると、「GOOGLE KUBERNATES ENGINE EXPLORER」のなかにクラスタ情報が表示されます。

created cluster

クラスタを右クリックして、「Set as Active Cluster」でクラスタを有効化しましょう。

set as active cluster

デプロイ

GCP上でビルドして、imageファイルを作成し、クラスタ上でプロジェクトを動かしましょう。

VS Codeで、⌘⇧Pでコマンドパレットを開きます。
「cloud code deploy」と入力すると、

  • Deploy
  • Continuous Deploy

があります。
前者は一度のみのデプロイ、
後者は初回デプロイした後、変更を検知し、自動でデプロイします。

今回はContinuous Deployします。

continuous deploy

続いてビルド方法は

  • default
  • cloud build

があります。
defaultは、ローカル環境でビルドします。
cloudbuildは、Cloud Build環境でビルドをします。

今回はcloudbuildを選択します。
※Cloud Build APIを有効にしないと、ビルド権限がないとエラーが返ってきます。

cloud build

続いてイメージの登録先を指定すると、デプロイが開始されます。

Cloud Buildの確認

ビルドが成功したかを、GCP上で確認してみましょう。
Cloud Buildのページを確認すると、ステータス欄に「ビルドが成功しました」を表示されています。

cloud build

イメージの確認

Container Registryのページから、イメージファイルが作成されていることが、確認できます。

container registry

動作確認

Services と Ingress のページを確認すると、エンドポイントのアドレスが記載されています。

services and ingress

アドレスのリンクをクリックすると、Hello World用のページが確認できます。

hello world

まとめ

Cloud Codeがなかったら、たったこれだけのことでも画面をあっちこっち切り替えて、設定する必要があります。
これをCloud Codeを使用することで、インフラ出身でない自分でも簡単に設定することができました。

まだまだ細かい設定ができそうなので、引き続き使って行きたいと思います。