クイックスタート | Kubernetes Engine のドキュメント | Google Cloud を実施したときの作業ログになります。
https://cloud.google.com/kubernetes-engine/docs/quickstart?hl=ja
# デフォルトのプロジェクトの設定
$ gcloud config set project winter-return-241300
Updated property [core/project].
# デフォルトのコンピューティング ゾーンの設定
$ gcloud config set compute/zone us-west1-a
Updated property [compute/zone].
# Kubernetes Engine クラスタの作成
# エラーが出てる。。。
$ gcloud container clusters create lesson-cluster
WARNING: In June 2019, node auto-upgrade will be enabled by default for newly created clusters and node pools. To disable it, use the `--no-enable-autoupgrade` flag.
WARNING: Starting in 1.12, new clusters will have basic authentication disabled by default. Basic authentication can be enabled (or disabled) manually using the `--[no-]enable-basic-auth` flag.
WARNING: Starting in 1.12, new clusters will not have a client certificate issued. You can manually enable (or disable) the issuance of the client certificate using the `--[no-]issue-client-certificate` flag.
WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.
WARNING: Starting in 1.12, default node pools in new clusters will have their legacy Compute Engine instance metadata endpoints disabled by default. To create a cluster with legacy instance metadata endpoints disabled in the default node pool, run `clusters create` with the flag `--metadata disable-legacy-endpoints=true`.
WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
This will enable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.
ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Kubernetes Engine API is not enabled for this project. Please ensure it is enabled in Google Cloud Console and try again: visit https://console.cloud.google.com/apis/api/container.googleapis.com/overview?project=winter-return-241300 to do so.
https://console.cloud.google.com/apis/api/container.googleapis.com/overview?project=winter-return-241300
にアクセスしてAPIを有効にする
再度実行
成功!
$ gcloud container clusters create lesson-cluster
WARNING: In June 2019, node auto-upgrade will be enabled by default for newly created clusters and node pools. To disable it, use the `--no-enable-autoupgrade` flag.
WARNING: Starting in 1.12, new clusters will have basic authentication disabled by default. Basic authentication can be enabled (or disabled) manually using the `--[no-]enable-basic-auth` flag.
WARNING: Starting in 1.12, new clusters will not have a client certificate issued. You can manually enable (or disable) the issuance of the client certificate using the `--[no-]issue-client-certificate` flag.
WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.
WARNING: Starting in 1.12, default node pools in new clusters will have their legacy Compute Engine instance metadata endpoints disabled by default. To create a cluster with legacy instance metadata endpoints disabled in the default node pool, run `clusters create` with the flag `--metadata disable-legacy-endpoints=true`.
WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
This will enable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.
Creating cluster lesson-cluster in us-west1-a... Cluster is being health-checked (master is healthy)...done.
Created [https://container.googleapis.com/v1/projects/winter-return-241300/zones/us-west1-a/clusters/lesson-cluster].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-west1-a/lesson-cluster?project=winter-return-241300
kubeconfig entry generated for lesson-cluster.
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
lesson-cluster us-west1-a 1.12.7-gke.10 35.185.235.146 n1-standard-1 1.12.7-gke.10 3 RUNNING
クラスタの認証情報を取得する
$ gcloud container clusters get-credentials lesson-cluster
Fetching cluster endpoint and auth data.
kubeconfig entry generated for lesson-cluster.
Deployment を作成する
$ kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080
deployment.apps "hello-server" created
Deployment を公開する
$ kubectl expose deployment hello-server --type "LoadBalancer"
service "hello-server" exposed
アプリケーションの検査と表示
$ kubectl get service hello-server
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-server LoadBalancer 10.27.248.87 34.83.62.16 8080:32453/TCP 2m
↑の出力で、EXTERNAL IP 列に示されている Service の外部 IP アドレスをコピーします。
http://34.83.62.16:8080/
クリーンアップ
$ kubectl delete service hello-server
service "hello-server" deleted
$ gcloud container clusters delete lesson-cluster
The following clusters will be deleted.
- [lesson-cluster] in [us-west1-a]
Do you want to continue (Y/n)? y
Deleting cluster lesson-cluster...done.
Deleted [https://container.googleapis.com/v1/projects/winter-return-241300/zones/us-west1-a/clusters/lesson-cluster].