Category: Kubernetes, Docker, yaml

Launch Replication Set Using Terraform Firstly we create YAML file notepad rc.yml apiVersion: apps/v1kind: ReplicaSetmetadata: name: myewplicset spec: replicas: 1 selector: matchLabels: env: dev dc: IN app: webserver matchExpressions: — { key: dc, operator: In, values: [ IN , US ]} — { key: env, operator: In, values: [ dev ]} — { key: app, operator: In, values: [ webserver ]} template: metadata: name: mypod1 labels: env: dev dc: IN app: webserver spec: containers: — name: “replica-container” image: “princeprashantsaini/tensorflow_task3” This is replica set YAML file we have to create and launch pods it work on kubernetes but we need to launch same think with Terraform for this we have use Terraform First we take Provider in our case provider is kubernetes so we take kubernetes provider “kubernetes”{ config_context_cluster = “minikube” } then we have no resource called replication set so we have use resource “kubernetes deploymet” and give it metadat and labels resource “kubernetes_deployment” “myrs” { metadata { name = “myreplicset” labels = { test = “replicatest” }} then we give full specification what we need like replicas selectors and templates are in our spec and one more specification for container and giv image from hub.docker.com i have use my own created image check link of my docker image spec { replicas = 1 selector { match_labels = { env = “dev” dc = “IN” app = “webserver” } match_expressions { key = “dc” operator = “In” values = [ “IN” , “US” ]} match_expressions { key = “env” operator = “In” values = [ “dev” ]} match_expressions { key = “app” operator = “In” values = [ “webserver” ]}} template { metadata { name = “mypod1” labels = { dc = “IN” env = “dev” app = “webserver” }} spec { container { image = “princeprashantsaini/tensorflow_task3” name = “replica-container” }} }}} then Our final code is provider “kubernetes”{ config_context_cluster = “minikube” } resource “kubernetes_deployment” “myrs” { metadata { name = “myreplicset” labels = { test = “replicatest” }} spec { replicas = 1 selector { match_labels = { env = “dev” dc = “IN” app = “webserver” } match_expressions { key = “dc” operator = “In” values = [ “IN” , “US” ]} match_expressions { key = “env” operator = “In” values = [ “dev” ]} match_expressions { key = “app” operator = “In” values = [ “webserver” ]}} template { metadata { name = “mypod1” labels = { dc = “IN” env = “dev” app = “webserver” }} spec { container { image = “princeprashantsaini/tensorflow_task3” name = “replica-container” }} }}}

Now use use set based command it work or not because replication set based command to see it work or not kubectl get pods — selector “app in (webserver) , dc=IN , dc in (IN,US) , env=dev , env in (dev)

Related Articles