今回はDigitalOceanを使ってTerraformでKubernetesのclusterとnodeを作ってみました。
Kubernetes最近勉強し始めているのですが、久しぶりすぎて概念とか忘れてるという…(以下ブログから1年しか経ってないやんけ!)
■digitalocean_kubernetes_cluster
https://www.terraform.io/docs/providers/do/r/kubernetes_cluster.html
■do_kubernetes.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
resource "digitalocean_kubernetes_cluster" "adachin-wordpress-cluster" { name = "adachin-wordpress-cluster" region = "${var.region}" version = "1.14.5-do.0" node_pool { name = "adachin-wordpress-node01" size = "${var.k8s-size}" node_count = 1 } } provider "kubernetes" { host = "${digitalocean_kubernetes_cluster.adachin-wordpress-cluster.endpoint}" client_certificate = "${base64decode(digitalocean_kubernetes_cluster.adachin-wordpress-cluster.kube_config.0.client_certificate)}" client_key = "${base64decode(digitalocean_kubernetes_cluster.adachin-wordpress-cluster.kube_config.0.client_key)}" cluster_ca_certificate = "${base64decode(digitalocean_kubernetes_cluster.adachin-wordpress-cluster.kube_config.0.cluster_ca_certificate)}" } |
今の所Kubernetesの最新バージョンは 1.14.5
ぽい。nodeはテストとしてwordpressを立ち上げたいので名前は上記のように指定してます。nodeのスペックは s-1vcpu-2gb
の1node(本番ならここらへん調整するべきでしょう)あとはproviderで kubernetes
を指定するだけ。
■Terraform
- plan/apply
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
~省略~ # digitalocean_kubernetes_cluster.adachin-wordpress-cluster will be created + resource "digitalocean_kubernetes_cluster" "adachin-wordpress-cluster" { + cluster_subnet = (known after apply) + created_at = (known after apply) + endpoint = (known after apply) + id = (known after apply) + ipv4_address = (known after apply) + kube_config = (known after apply) + name = "adachin-wordpress-cluster" + region = "sgp1" + service_subnet = (known after apply) + status = (known after apply) + updated_at = (known after apply) + version = "1.14.5-do.0" + node_pool { + id = (known after apply) + name = "adachin-wordpress-container01" + node_count = 1 + nodes = (known after apply) + size = "s-1vcpu-2gb" } } |
■DigitalOcean
- cluster
- node
問題なく出来ているようなので、上記のclusterから Download Config File
をクリックしましょう。
- setting config file
1 2 3 4 5 |
$ cd Desktop $ mv adachin-wordpress-cluster-kubeconfig.yaml ~/.kube $ vim ~/.zshrc export KUBECONFIG="$KUBECONFIG:`ls ~/.kube/*.yaml | tr '\n' ':'`" $ source ~/.zshrc |
- check out kubectl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ kubectl get nodes NAME STATUS ROLES AGE VERSION adachin-wordpress-container01-rypm Ready <none> 1h v1.14.5 $ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 1h $ kubectl get pv No resources found. $ kubectl get secrets NAME TYPE DATA AGE default-token-glfcn kubernetes.io/service-account-token 3 1h $ kubectl get replicasets No resources found. $ kubectl get pods No resources found. |
■まとめ
これで環境は整ったので次はwordpressの構築をブログします〜
久しぶりにYahoo Lodge捗った。みんなも行ってみると良い!!!
— ながしー?ランサーズ (@shirasud_tw) August 11, 2019
0件のコメント