---
title: "GKEで簡単にnginxを立ち上げてみよう | grasys blog"
url: "https://blog.grasys.io/post/izumi/quick-gke-nginx/"
description: "1.Kubernetesって？ コンテナオーケストレーションツールの標準ツールです。 このブログでは詳細は書きませんので公式サイトのKubernetesとは何か？を参照してください。 2\\. Google Kubernetes Engine(GKE)って？ Google Cloud (GCP)が提供するKuberne…"
---

# GKEで簡単にnginxを立ち上げてみよう

-   ![](/_astro/noicon.CTHOhNiB_1HMs6A.webp)[izumi](/authors/izumi/)
-   公開日：2021年8月20日
-   カテゴリー：[Tech](/categories/tech/)
-   タグ：[#Google Cloud](/tags/google-cloud/)[#GKE](/tags/gke/)

![GKEで簡単にnginxを立ち上げてみよう](/_astro/og-image.DDSiu2Ny_XHpDd.webp)

## 1.Kubernetesって？

コンテナオーケストレーションツールの標準ツールです。 このブログでは詳細は書きませんので公式サイトの[Kubernetesとは何か？](https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/)を参照してください。

## 2\. Google Kubernetes Engine(GKE)って？

Google Cloud (GCP)が提供するKubernetesのマネージドサービスです。こちらも詳細は[公式サイト](https://cloud.google.com/kubernetes-engine?hl=ja)を参照してください。

## 3.Let’s 構築

### 3.1 前提条件

今回はGKEクラスタの構築から、nginxの構築まで全てCLIで行います。 それぞれのコマンドのバージョンは次の通りです。

Plain textcontent\_copy

```
# gcloud version
Google Cloud (GCP) SDK 349.0.0
alpha 2021.07.19
beta 2021.07.19
bq 2.0.70
core 2021.07.19
gsutil 4.65
```

### 3.2 GKEクラスタの作成

まずは、GKEクラスタを構築します。 GKEにはクラスタのノードインフラストラクチャを手動でプロビジョニングするStandardモードとそれらをGKEに任せるAutopilotモードがありますが、今回はGKE上で簡単にnginxを起動するのが目的なのでAutopilotモードでクラスタを作成します。

Plain textcontent\_copy

```
gcloud container clusters create-auto sample-cluster --region asia-northeast1 --project=sample-project
```

Plain textcontent\_copy

```
gcloud container clusters list
NAME            LOCATION         MASTER_VERSION  MASTER_IP      MACHINE_TYPE  NODE_VERSION    NUM_NODES  STATUS
sample-cluster  asia-northeast1  1.20.8-gke.900  35.200.108.48  e2-medium     1.20.8-gke.900  2          RUNNING
```

### 3.3 kubectlコマンドのセットアップ

GKEクラスタのバージョンに合わせてkubectlコマンドのセットアップを行います。

Plain textcontent\_copy

```
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.8/bin/linux/amd64/kubectl
chmod 755 kubectl
mv kubectl /usr/local/bin/

kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.8", GitCommit:"5575935422cc1cf5169dfc8847cb587aa47bac5a", GitTreeState:"clean", BuildDate:"2021-06-16T13:0
0:45Z", GoVersion:"go1.15.13", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.8-gke.900", GitCommit:"28ab8501be88ea42e897ca8514d7cd0b436253d9", GitTreeState:"clean", BuildDate:"2021-0
6-30T09:23:36Z", GoVersion:"go1.15.13b5", Compiler:"gc", Platform:"linux/amd64"}
```

### 3.4 nginx podのデプロイ

kubernetesはmanifestを作成することが手間で難しいと感じることが多いと思うので、今回はコマンドで全て作成してみます。

Plain textcontent\_copy

```

kubectl create deployment --image=nginx nginx

kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6758598c76-trpqt   1/1     Running   0          35m 
```

### 3.5 Serviceのデプロイ

Serviceのデプロイもpodと同様にmanifestを使用してデプロイすることが多いですが、今回はこちらもコマンドを使用して作成します。

Plain textcontent\_copy

```
kubectl expose deployment nginx --type=LoadBalancer --name=nginx-service --port=80 --target-port=80

# kubectl get service
NAME            TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
kubernetes      ClusterIP      10.89.0.1     <none>          443/TCP        58m
nginx-service   LoadBalancer   10.89.3.174   34.146.189.76   80:31596/TCP   2m10s
```

kubectl get service の結果で表示されるEXTERNAL-IPが公開されるIPです。 ブラウザなどで[http://34.146.189.76へアクセスすることでnginxのwelcomeページへアクセスすることが可能です。](http://34.146.189.76%E3%81%B8%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7nginx%E3%81%AEwelcome%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%80%82)

## 終わり

ここまでGKE上でnginxのpodを作成し、ブラウザからアクセスするまでを行ってみました。 単純に動くまでであれば結構簡単にできたと思いせんか？ 今度は自分自身の環境に合わせたmanifestを作成してみてください！！！

## この記事を書いた人

[![](/_astro/noicon.CTHOhNiB_Z24aAgM.webp)](/authors/izumi/)

### [izumi](/authors/izumi/)

izumiのプロフィールと執筆記事をご覧いただけます。

[プロフィールと記事一覧](/authors/izumi/)