配套视频教程
1. Minikube介绍
简单说,创建k8s集群很麻烦,minikube可以让我们快速搭建一个k8s集群用于学习。
Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具。Minikube 在笔记本电脑上的虚拟机(VM)中运行单节点 Kubernetes 集群,供那些希望尝试 Kubernetes 或进行日常开发的用户使用。
2. 部署一个简单的js服务端
在部署之前呢,咱们先在虚拟机本地运行一下,看看效果如何。
server.js
var http = require('http');
var requests=0;
var podname= process.env.HOSTNAME;
var startTime;
var host;
var handleRequest = function(request, response) {
response.setHeader('Content-Type', 'text/plain');
response.writeHead(200);
response.write("Hello Kubernetes bootcamp! | Running on: ");
response.write("host");
response.end(" | v=1\n");
console.log("Running On:" ,host, "| Total Requests:", ++requests,"| App Uptime:", (new Date() - startTime)/1000 , "seconds", "| Log Time:",new Date());
}
var www = http.createServer(handleRequest);
www.listen(8080,function () {
startTime = new Date();;
host = process.env.HOSTNAME;
console.log ("Kubernetes Bootcamp App Started At:",startTime, "| RunningOn: " ,host, "\n" );
});
在虚拟机本地运行起来就长这样子
nodejs server.js
3. 部署应用
3.1 下载镜像
镜像里运行上面的server.js
docker pull hhitzhl/kubernetes-bootcamp
3.2 创建Deployment
使用下载好的镜像
kubectl create deployment kubernetes-bootcamp --image=hhitzhl/kubernetes-bootcamp
查看pod是否正常启动,状态为RUNNING
kubectl get pods
3.3 访问API Server
3.3.1 创建proxy
这时候需要通过代理了,打开一个新的终端,创建代理
kubectl proxy
通过curl查询API Server的版本号
curl http://localhost:8001/version