Coding01

Coding 点滴

0%

Kubernetes 学习笔记 (2) —— minikube HelloWorld

创建一个简单的 Node.js 应用

1
2
3
4
5
6
7
var http = require('http');
var handleRequest = function(request, response) {
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8088);

创建 Dockerfile 文件:

1
2
3
4
FROM node:latest
EXPOSE 8088
COPY server.js .
CMD [ "node", "server.js" ]

创建 Docker 容器镜像

切换到 minikube docker 模式:

1
eval $(minikube docker-env)

创建 hello-node 镜像:

1
docker build -t hello-node:v1 .

创建 Deployment

使用 kubectl create 命令创建管理 Pod 的 Deployment。该 Pod 根据提供的 Docker 镜像运行 Container。

1
2
3
kubectl create deployment hello-node --image=hello-node:v1

deployment.apps/hello-node created

查看 Deployment:

1
2
3
4
kubectl get deployments

NAME READY UP-TO-DATE AVAILABLE AGE
hello-node 0/1 1 0 4m2s

设置对外使用端口:

1
2
3
kubectl expose deployment hello-node --type=NodePort --port=8088

service/hello-node exposed

启动 Service

利用 minikube 启动服务:

1
minikube service hello-node

浏览器可以直接打印:Hello World!

更新应用

接着我们修改下代码,重新打包 image:

1
response.end('Hello minikube Coding01!');

然后更新 deployment:

1
2
3
kubectl set image deployment/hello-node hello-node=hello-node:v2.0.0

deployment.apps/hello-node image updated

好了,重新启动 service,看效果。

1
minikube service hello-node

到此,我们的 hello node 完成。

Welcome to my other publishing channels