https://www.cockroachlabs.com/docs/v23.1/deploy-cockroachdb-with-kubernetes-insecure
https://future-architect.github.io/articles/20210318/
https://cloud.google.com/kubernetes-engine/docs/how-to/creating-an-autopilot-cluster?hl=ja
-- 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. Google Kubernetes Engine API を有効化
gcloud services list --enabled
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. Autopilot GKE クラスターの作成
gcloud container clusters create-auto gke01 \
--region us-central1 \
--project=project01-9999999
gcloud container clusters list
gcloud container clusters describe gke01 --region us-central1 | grep -A3 autopilot
-- 5. クラスターに接続する
gcloud container clusters get-credentials gke01 --region=us-central1 --project=project01-9999999
kubectl get node -o wide
kubectl get pods -n kube-system
gcloud info | grep Account
kubectl create clusterrolebinding $USER-cluster-admin-binding \
--clusterrole=cluster-admin \
--user=hoge@example.com
-- 6. Start CockroachDB
curl -O https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/cockroachdb-statefulset.yaml
kubectl apply -f cockroachdb-statefulset.yaml
下記エラーが出るが無視
error: resource mapping not found for name: "cockroachdb-budget" namespace: "" from "cockroachdb-statefulset.yaml": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
kubectl get pods
kubectl get persistentvolumes
kubectl apply -f https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/cluster-init.yaml
kubectl get job cluster-init
kubectl get pods
-- 7. Use the built-in SQL client
kubectl run cockroachdb -it \
--image=cockroachdb/cockroach:v23.1.13 \
--rm \
--restart=Never \
-- sql \
--insecure \
--host=cockroachdb-public
CREATE DATABASE bank;
CREATE TABLE bank.accounts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
balance DECIMAL
);
INSERT INTO bank.accounts (balance)
VALUES
(1000.50), (20000), (380), (500), (55000);
SELECT * FROM bank.accounts;
\q
-- 8. Access the DB Console
kubectl port-forward service/cockroachdb-public 8080
Go to http://localhost:8080
-- 9. クリーンアップ
kubectl delete -f https://raw.githubusercontent.com/cockroachdb/cockroach/master/cloud/kubernetes/cluster-init.yaml
kubectl delete -f cockroachdb-statefulset.yaml
gcloud container clusters delete gke01 \
--region us-central1 \
--quiet
gcloud projects list
gcloud projects delete project01-9999999 \
--quiet