【GKE】Google Kubenertes Engineを使ってnignxにアクセス

GCP kubenertes


初期設定としてGKEを使用する為のgoogleアカウントを作成します。

GKEの操作方法

GKEの操作方法として

  • GCPにアクセスし、cloud shellを使ってブラウザから操作する。
  • クライアントにgcloudをインストールしてクライアントから操作する。

今回は、cloud shellを使った操作方法を実行してみます。
cloud shellはgoogle上に操作用のVM(debian)を立ち上げて、このVMを元にGKEを操作します。
このVMは1週間操作しないと削除されます。

cloud Shellを使ったGKE操作のメリット・デメリット

メリットしては、どのgcloudをインストールする必要がなくどのクライアントからでも操作する事ができます。
また、googleのGUIを利用してコマンドを利用しなくてもクラスターの作成できます。
クラスター作成等の状態をGUIで見れるので視覚的把握も簡単です。

デメリットしては、debian上でyaml等のファイルを作成する必要がある(慣れたエディッタが使えない)、エディタを使う事でかなりローカルに近い感覚で操作できます。こちはらデメリットにならないかも。

アクセスしないと作成したyamlファイルが消えてしまいます。

ブラウザ上でlinux操作になるので少しもっさりしている。

ブラウザで張り付けでファイルをコピペする場合はviで下記コマンドでずれなくなるので便利です。

Kubernetesクラスタの作成

クラスタをGUIにより作成します。

CloudShellを使った操作でクラスタ操作

右上のcloud shellをアクティブにするから下記コンソールを起動します。

下記コマンドを実行しkubectlを実行できるようにします。
cluster-1には自分のクラスタ名
最後の指定はリージョンなので自分のリージョンを指定します。

gcloud container clusters get-credentials [クラスタ名] --zone [リージョン]

gcloud container clusters get-credentials cluster-1 --zone us-central1-c

また画面上のエディタを開くでエクスプローラーみたいな画面で管理できます。
こちらを使いyamlファイルを作成しましょう。

下記yamlファイルを作成し

apiVersion: v1
kind: ReplicationController
metadata:
  name: frontend
spec:
  replicas: 3
  selector:
    app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-container
        image: nginx
        ports:
        - containerPort: 80

下記コマンドでコンテナをデプロイ

kubectl create -f nginx-rc.yaml

次のyamlファイルでserviceを作成

apiVersion: v1
kind: Service
metadata:
  name: frontend
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer

作成したyamlファイルの実行

kubectl create -f nginx-service.yaml

作成したserviceのIPを下記コマンドで確認

kubectl get service

良く使うkubernetesのコマンド

ポッドの確認

kubectl get pods

podの削除

kubectl delete pod pod名

サービスの確認

kubectl get service

サービスの削除

kubectl delete service サービス名

Kubenetesの4つのリソース

今回はkindにReplicaSetとServiceを適用しましたがその他にも種類があります。

  • Pod
  • Service
  • ReplicaSet
  • Deployment

参考

https://news.mynavi.jp/itsearch/article/devsoft/4358