--- title: "Deploy application" date: 2019-11-24T11:51:22-08:00 weight: 20 pre: "1. " draft: false --- ### In this activity we will deploy an application across the cluster: * Application can be deployed on the cluster: * By directly passing arguments to kubectl cli * Define resource in a file (yaml or jason format; yaml preferred) and pass file as an argument to kubectl cli. * Advantage of using file base approach is it allows to keep track of what's launched and allows to make any changes. * For this workshop we will deploy busybox application using a configuration file. * Configuration files are located on your Cloud9 workspace instance under **$HOME/kopsConfigFiles/** 1. We have not created any deployment, so you will not find any resources: ``` kubectl get deployment ``` ``` Expected output: ec2-user:~/environment $ kubectl get deployment No resources found. ec2-user:~/environment $ ``` 2. Create busyboxy deployment: ``` kubectl create -f $HOME/kopsConfigFiles/busyboxDeployment.yaml ``` ``` Expected output: ec2-user:~/environment $ kubectl create -f $HOME/kopsConfigFiles/busyboxDeployment.yaml deployment.apps/kops-busybox created ec2-user:~/environment $ ``` 3. You should be able to see busybox deployment: ``` kubectl get deployment -o wide kubectl get replicasets ``` ``` Expected output: ec2-user:~/environment $ kubectl get deployment -o wide NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR kops-busybox 2 2 2 2 9s kops-busybox busybox app=kops-busybox ec2-user:~/environment $ ec2-user:~/environment $ kubectl get replicasets NAME DESIRED CURRENT READY AGE kops-busybox-55cd99b769 2 2 2 1m ec2-user:~/environment $ ``` 4. It will create **two pods**, one on each worker node: ``` kubectl get pods -n default -o wide ``` ``` Expected ouptut: ec2-user:~/environment $ kubectl get pods -n default -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE kops-busybox-55cd99b769-rlgp9 1/1 Running 0 1m 100.96.2.4 ip-10-0-93-45.eu-west-1.compute.internal kops-busybox-55cd99b769-s5chn 1/1 Running 0 1m 100.96.1.5 ip-10-0-113-206.eu-west-1.compute.internal ec2-user:~/environment $ ```