Chapter 4. Creating and Modifying Fundamental Workloads
In this chapter, we present recipes that show you how to manage fundamental Kubernetes workload types: pods and deployments. We show how to create deployments and pods via CLI commands and from a YAML manifest, and explain how to scale and update a deployment.
4.1 Creating a Deployment Using kubectl run
Problem
You want to quickly launch a long-running application such as a web server.
Solution
Use the kubectl run command, a generator that creates a deployment manifest on the fly. For example, to create a deployment that runs the Ghost microblogging platform do the following:
$ kubectl run ghost --image=ghost:0.9 $ kubectl get deploy/ghost NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE ghost 1 1 1 0 16s
Discussion
The kubectl run command can take a number of arguments to configure additional parameters of the deployments. For example, you can do the following:
-
Set environment variables with
--env -
Define container ports with
--port -
Define a command to run using
--command -
Automatically create an associated service with
--expose -
Define the number of pods using
--replicas
Typical usages are as follows. To launch Ghost serving on port 2368 and create a service along with it, enter:
$ kubectl run ghost --image=ghost:0.9 --port=2368 --expose
To launch MySQL with the root password set, enter:
$ kubectl run mysql --image=mysql:5.5 --env=MYSQL_ROOT_PASSWORD=root
To launch a busybox container and execute the command ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access