官术网_书友最值得收藏!

Pod example

Let's take a quick look at a pod in action. We will spin up a Node.js application on the cluster. You'll need a GCE cluster running for this; if you don't already have one started, refer to the Our first cluster section in Chapter 1, Introduction to Kubernetes.

Now, let's make a directory for our definitions. In this example, I will create a folder in the /book-examples subfolder under our home directory:

$ mkdir book-examples
$ cd book-examples
$ mkdir 02_example
$ cd 02_example
Downloading the example code
You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Use your favorite editor to create the following file:

apiVersion: v1 
kind: Pod
metadata:
name: node-js-pod
spec:
containers:
- name: node-js-pod
image: bitnami/apache:latest
ports:
- containerPort: 80

Listing 2-1: nodejs-pod.yaml

This file creates a pod named node-js-pod with the latest bitnami/apache container running on port 80. We can check this using the following command:

$ kubectl create -f nodejs-pod.yaml

The output is as follows:

pod "node-js-pod" created

This gives us a pod running the specified container. We can see more information on the pod by running the following command:

$ kubectl describe pods/node-js-pod

You'll see a good deal of information, such as the pod's status, IP address, and even relevant log events. You'll note the pod IP address is a private IP address, so we cannot access it directly from our local machine. Not to worry, as the kubectl exec command mirrors Docker's exec functionality. Once the pod shows to be in a running state, we can use this feature to run a command inside a pod:

$ kubectl exec node-js-pod -- curl <private ip address>
By default, this runs a command in the first container it finds, but you can select a specific one using the -c argument.

After running the command, you should see some HTML code. We'll have a prettier view later in the chapter, but for now, we can see that our pod is indeed running as expected.

主站蜘蛛池模板: 芜湖市| 若尔盖县| 沭阳县| 班玛县| 大名县| 沈阳市| 大同县| 东丽区| 浦城县| 抚远县| 白沙| 晋宁县| 自贡市| 敖汉旗| 香港 | 米林县| 四子王旗| 赞皇县| 普格县| 石城县| 宜兰县| 泰宁县| 得荣县| 依兰县| 茌平县| 双江| 茌平县| 辰溪县| 安图县| 清新县| 吐鲁番市| 古蔺县| 榆社县| 罗城| 绥宁县| 辰溪县| 那坡县| 楚雄市| 晴隆县| 松滋市| 长垣县|