参照URL
みぎ側の利用方法を読みながら進めて
最小料金になる構成で作成。
エラー
https://www.topgate.co.jp/gcp07-how-to-start-docker-image-gke
ここにならって以下のコマンドを打ってみたが、正常にGKEのインスタンスが表示されなかった。
gcloud compute instances list
↓
なので、
gcloud init
でPJをくりかえてから再度コマンドを打ったところ、表示された。
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
gke-my-first-cluster-1-default-pool-491cdabf-4f3v us-central1-c g1-small
gke-my-first-cluster-1-default-pool-491cdabf-qhsl us-central1-c g1-small
gke-my-first-cluster-1-default-pool-491cdabf-zz86 us-central1-c g1-small
kubectl を使う
まず、インストールする
gcloud components install kubectl
↓
https://www.topgate.co.jp/gcp07-how-to-start-docker-image-gke
ここでgkeを動かしていく
コマンドインストール以降をやる
export PROJECT_ID="プロジェクトID"
「export」は、環境変数やシェル変数を設定するコマンドです。
export 変数名=値 (シェル変数を定義して同時にエクスポートする)
https://www.atmarkit.co.jp/ait/articles/1801/12/news015.html
gcloud config set compute/zone asia-northeast1-a
https://cloud.google.com/sdk/gcloud/reference/config/set?hl=ja
↑
ここではデフォルトのゾーンとリージョンを指定している
https://blog.amedama.jp/entry/gcp-cli-default-zone-region
アップデートしなさいという指示がでたので、以下コマンドを入力
gcloud components update
https://www.na3.jp/entry/20160217/p1
kubectl が作成したクラスターにアクセスできるよう、認証情報を取得します。
gcloud auth コマンドを入力すると、 OAuth の認証画面がブラウザに表示されるので、アクセスを許可します。
クラスタを確認
gcloud container clusters list
gcloud auth application-default login
これを打つとブラウザがひらくので、対象のアカウントをクリック
アクセスを許可するとコマンドが完了する。
gcloud container clusters get-credentials my-first-cluster-1
↓
ERROR: (gcloud.container.clusters.get-credentials) ResponseError:
以下がポイント
Could not find [my-first-cluster-1] in [asia-northeast1-a].
Did you mean [my-first-cluster-1] in [us-central1-c]?
gcloud config set compute/zone us-central1-c
これをうってからやってみたら、いけた。
gcloud auth application-default login
User Account を使って Server Application が使うためのアクセストークンを取得する
https://medium.com/google-cloud-jp/gcp-%E3%81%A8-oauth2-91476f2b3d7f
kubectl run wordpress --image=tutum/wordpress --port=80
これを打って成功
https://cstoku.dev/posts/2018/k8sdojo-23/
runはDeploymentやJobの実行を行うコマンドだ。
createとかなり近い感覚を感じるが、こちらは作成したDeploymentにアタッチすることができる
kubectl expose deployment wordpress --type=LoadBalancer
これを打って成功。外部からアクセス可能になる。
kubectl describe services wordpres
これを打ってコンテナの状況を確認するようだが、
Events:
Type Reason Age From Message
Normal EnsuringLoadBalancer 4m19s service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 3m31s service-controller Ensured load balancer
Ensuredと表示されている。
本来ならcreateが表示されればいいみたいだが、これで正しいのかがわからない。
GCPのネットワークサービスをみたら、GKEに割り当てられているロードバランサはあった。
最初くるくるしてたが、くるくるしなくなったので、LoadBalancer Ingress: にあるIPにアクセスしたら、
wordpressも表示された。
↓
このままだと勝手に使われかねないので、以下で削除してコンテナの情報も表示されなくなった。
kubectl delete services wordpress
見たい資料
このへんの資料を読み込みたい
https://qiita.com/toshihirooya/items/bbae6168462f3d8b809c
https://cloud.google.com/blog/ja/products/containers-kubernetes/run-windows-server-containers-on-gke
動画もみる
https://cloud.google.com/blog/ja/products/containers-kubernetes/your-guide-kubernetes-best-practices
https://www.coursera.org/specializations/gcp-architecture-jp
https://www.qwiklabs.com/?locale=ja
https://codelabs.developers.google.com/next17-tok/
https://codelabs.developers.google.com/
今後
使わなかった機能については引き続き確認する必要がある
試験の内容は以下
https://cloud.google.com/certification/guides/cloud-engineer
kubectlコマンドはGCPに限ったものではなく、kubernetesを操作するときに使えるものみたい。