https://cloud.google.com/kubernetes-engine/docs/deploy-app-cluster?hl=ja
リージョン クラスタ -> コントロール プレーンはリージョンの 3 つのゾーンにわたって複製されます
ゾーンクラスタ -> 1 つのゾーン内に 1 つのコントロール プレーンが存在
今回はゾーンクラスタを作成
-- 1. 前作業
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
gcloud components update
-- 2. Artifact Registry and Google Kubernetes Engine API を有効化
gcloud services list --enabled
gcloud services list --available
gcloud services enable artifactregistry.googleapis.com \
--project project01-9999999
gcloud services enable container.googleapis.com \
--project project01-9999999
-- 3. kubectlインストール
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
kubectl version --client
-- 4. GKE クラスターの作成
gcloud compute machine-types list
gcloud container clusters create gke01 \
--disk-size=10 \
--disk-type=pd-standard \
--num-nodes=1 \
--machine-type=e2-micro \
--spot \
--zone=asia-northeast1-a \
--node-locations=asia-northeast1-a
gcloud container clusters list
-- 5. gke-gcloud-auth-pluginのインストール
gcloud components remove gke-gcloud-auth-plugin
gcloud components install gke-gcloud-auth-plugin
-- 6. クラスターに接続する
export USE_GKE_GCLOUD_AUTH_PLUGIN=True
gcloud components update
gcloud container clusters get-credentials gke01 --zone=asia-northeast1-a --project=project01-9999999
kubectl get nodes
kubectl get pods -n kube-system
-- 7. 動作確認
kubectl cluster-info
kubectl api-resources
kubectl config view
kubectl config current-context
kubectl config use-context gke_project01-9999999_asia-northeast1-a_gke01
kubectl create deployment test \
--image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
kubectl expose deployment test --type LoadBalancer --port 80 --target-port 8080
kubectl get pods
kubectl get service test
kubectl get all
kubectl delete deployment test
gcloud container clusters delete gke01 \
--zone=asia-northeast1-a
-- 8. クリーンアップ
gcloud projects list
gcloud projects delete project01-9999999