Difference between revisions of "Deploy GKE cluster using Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
* https://github.com/hashicorp/learn-terraform-provision-gke-cluster
 
* https://github.com/hashicorp/learn-terraform-provision-gke-cluster
  
 +
Resources:
 +
+ resource "[[google_compute_network]]" "vpc" {
 +
+ resource "[[google_compute_subnetwork]]" "subnet" {
 +
+ resource "[[google_container_cluster]]" "primary" {
 +
+ resource "[[google_container_node_pool]]" "primary_nodes" {
  
  [[git clone https://github.com/hashicorp/learn-terraform-provision-gke-cluster]]
+
== Execution ==
 +
  [[git clone]] https://github.com/hashicorp/learn-terraform-provision-gke-cluster
 
  cd learn-terraform-provision-gke-cluster
 
  cd learn-terraform-provision-gke-cluster
 
  [[terraform init]]
 
  [[terraform init]]
Change <code>[[project_id]]</code> in <code>[[terraform.tfvar]]</code> file with name of your cluster
+
Change <code>[[project_id]]</code> in <code>[[terraform.tfvar]]</code> file with name of your cluster. (See: <code>[[gcloud projects create]]</code>)
  
  [[terraform plan (GKE using Terraform)|terraform plan (GKE)]]
+
== Terraform plan (GKE) ==
 +
  [[terraform plan (GKE using Terraform) 2022|terraform plan (GKE)]] (2022)
 +
[[terraform plan (GKE using Terraform) 2023|terraform plan (GKE)]] (Dec 2023)
 +
 
 +
[[terraform plan (GKE) Error: Error retrieving available container cluster versions]]
  
 
   [[terraform plan]] | grep -w resource
 
   [[terraform plan]] | grep -w resource
Line 15: Line 25:
 
   + resource "[[google_container_node_pool]]" "primary_nodes" {
 
   + resource "[[google_container_node_pool]]" "primary_nodes" {
  
 +
== Terraform apply ==
 
  [[terraform apply]]
 
  [[terraform apply]]
 
  .../...  
 
  .../...  
Line 30: Line 41:
  
 
  [[k get pod -A (Terraform GKE)|kubectl get pod -A]]
 
  [[k get pod -A (Terraform GKE)|kubectl get pod -A]]
 +
 +
 +
[[Error: error creating NodePool]] .../... [[ Error 403: Insufficient regional quota to satisfy]]
  
 
== Related ==
 
== Related ==
Line 41: Line 55:
 
* <code>[[brew install --cask google-cloud-sdk]]</code>
 
* <code>[[brew install --cask google-cloud-sdk]]</code>
 
* <code>[[gcloud auth application-default login]]</code>
 
* <code>[[gcloud auth application-default login]]</code>
 +
* <code>[[gcloud init]]</code>
 +
* [[Kubernetes Engine API]]
  
 
== See als ==
 
== See als ==
 +
* {{gke.tf}}
 
* {{tf GKE}}
 
* {{tf GKE}}
 
* {{GKE}}
 
* {{GKE}}
  
 
[[Category:GKE]]
 
[[Category:GKE]]

Latest revision as of 17:17, 7 December 2023

Resources:

+ resource "google_compute_network" "vpc" {
+ resource "google_compute_subnetwork" "subnet" {
+ resource "google_container_cluster" "primary" {
+ resource "google_container_node_pool" "primary_nodes" {

Execution[edit]

git clone https://github.com/hashicorp/learn-terraform-provision-gke-cluster
cd learn-terraform-provision-gke-cluster
terraform init

Change project_id in terraform.tfvar file with name of your cluster. (See: gcloud projects create)

Terraform plan (GKE)[edit]

terraform plan (GKE) (2022)
terraform plan (GKE) (Dec 2023)
terraform plan (GKE) Error: Error retrieving available container cluster versions
 terraform plan | grep -w resource
 + resource "google_compute_network" "vpc" {
 + resource "google_compute_subnetwork" "subnet" {
 + resource "google_container_cluster" "primary" {
 + resource "google_container_node_pool" "primary_nodes" {

Terraform apply[edit]

terraform apply
.../... 
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

Outputs: 

kubernetes_cluster_host = "22.27.74.22"
kubernetes_cluster_name = "your-project-gke"
project_id = "your-project"
region = "us-central1"

Configure credentials to connect:

gcloud container clusters get-credentials $(terraform output -raw kubernetes_cluster_name) --region $(terraform output -raw region)
kubectl get pod -A


Error: error creating NodePool .../... Error 403: Insufficient regional quota to satisfy

Related[edit]

See als[edit]

Advertising: