Skip to content

longdiep1789/Kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Using Terraform for provisioning Kubernetes

Using Terraform to create Private Cluster

# terraform plan
# terraform apply

Note: .json file get from AWS or GCP, in GCP is Service Access with Full Permission.

Create Kubernetes with CLI

gcloud beta container clusters create default \
  --no-enable-basic-auth \
  --no-issue-client-certificate \
  --metadata disable-legacy-endpoints=true \
  --enable-autoupgrade \
  --enable-cloud-logging \
  --enable-ip-alias \
  --machine-type=n1-standard-2 \
  --network=be \
  --subnetwork=be-app \
  --tags=k8s-node \
  --enable-autoscaling \
  --max-nodes=9 \
  --min-nodes=3 \
  --enable-private-nodes \
  --zone=asia-southeast1-a \
  [email protected] \

Create node pool with CLI

gcloud container node-pools create pool-2 \
--cluster=qa \
--machine-type=n1-standard-2 \
--num-nodes=3 \
--service-account=k8s-cluster-sa@veep-staging.iam.gserviceaccount.com \
--preemptible \
--enable-autoupgrade \
--enable-autoscaling \
--max-nodes=6 \
--min-nodes=1 \
--region=asia-southeast1-a
  • Note: Add service-account params when create, it can not edit after

Create Router and NAT

After create Private Cluster, All nodes cannot reach the Internet. So, must create the Cloud Router in same region as the instances that use Cloud NAT to reach the Internet. If do not reach the Internet, it cause of fail pull images from Internet. Using Gloud CLI to create a Cloud Router:

gcloud compute routers create demo-router \
    --network demo-cluster \
    --region asia-southeast1

Using Gloud CLI to create a NAT:

gcloud compute routers nats create demo-nat \
    --router-region asia-southeast1 \
    --router demo-router \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

Or follow the post on The Medium

Delete Router and NAT

gcloud compute routers nats delete demo-nat --router=demo-router --router-region asia-southeast1
gcloud compute routers delete demo-router --region asia-southeast1

Releases

No releases published

Packages

No packages published

Languages