前提
以下の人向けの記事です。
Google Cloud Platform 上でプロジェクトを持ってる。
次のコマンドを入力するとどうなるか知っている。
$ docker run -d -p 8080:80 nginx
目標その1
GKE のコンソールだけで手っ取り早く nginx コンテナを動かして、ブラウザからアクセスすると以下の画面が表示される。
手順
Google Cloud Platform でプロジェクトを選択する。
Google Kubernetes Engine メニューを選択する。
- 「コンテナをデプロイ」ボタンを押す。
「クラスタを作成」、は自動でデフォルト値でやってくれます。
デフォルトで nginx:latest のイメージをデプロイするようになっているのでそのまま
- 「続行ボタン」を押す。
(デフォルト値が嫌いな人は適宜書き換えて)
- 「デプロイ」ボタンを押す。
作成中の画面が表示されます。ちょっと時間がかかるので、気長に待ちます。
完了すると、以下の画面になります。
- 「公開」ボタンを押す。
(デフォルト値が嫌いな人は適宜書き換えて)
- 「公開」ボタンを押す。
作成中の画面が表示されます。ちょっと時間がかかるので、気長に待ちます。
完了すると、以下の画面になります。
- 「外部エンドポイント」のリンクを押す
ほぼボタンを押すだけの手順で目標達成です。
何がおきてる?
- Kubernetes Engine のところには、クラスタ、ワークロード、サービスが作成されています。
- Kubernetes Engine のところだけでなく Compute Engine のところに、VM インスタンス、インスタンスグループ、インスタンステンプレート、ヘルスチェック、ディスクが作成されています。
- ロードバランサが作成されています。(ネットワークサービス)
- 外部 IP アドレスが作成されています。(VPC ネットワーク)
消し方
これをゴミ箱にいれると、上全部綺麗に消えます。
目標その2
タイトルが Hello! というウェブページを nginx でホストするコンテナをデプロイして、ブラウザからアクセスすると以下の画面が表示される。
手法
イメージをアップロードする手と、リポジトリに Dockerfile を含む環境を入れてそこからイメージを作ってもらう手の 2 つがありますが、前者はコンソールでできないので後者でやります。
リポジトリは現在、Cloud Source Repositories, GitHub, Bitbucket が使えるようですので、Github でやります。
手順
- Github 上に以下のようなレポジトリを用意する。
<!DOCTYPE html><html lang=en><title>Hello!</title></html>
Dockerfile
FROM nginx
ADD index.html /usr/share/nginx/html/
- デプロイでこのレポジトリを指定
(いくつかの API を有効にするのと、Github との連携をする画面が出てくるはずです。スクショとれなくてすみません。)
- 後は目標1の手順と同じです。
終わりに
この記事を書いたモチベーションは、Google さんの公式チュートリアルが Google Cloud Shell を使ってたので、コンソールの手順も紹介したくなったことです。