一、安装kubernetes并配置环境
安装minikube
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.15.0/minikube-darwin-amd64
$ chmod +x minikube
$ sudo mv minikube /usr/local/bin/
安装kubectl
$ curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.5.1/bin/darwin/amd64/kubectl
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin/
安装docker-machine-driver-xhyve
$ brew install docker-machine-driver-xhyve
$ sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
$ sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
启动Minikube集群
$ minikube start --vm-driver=xhyve
设置Minikube 环境
$ kubectl config use-context minikube
验证kubectl配置
$ kubectl cluster-info
二、创建Node.js应用程序并构建镜像
编写node.js程序
vi server.js
var http = require('http');
var handleRequest = function(request, response) {
console.log('Received request for URL: ' + request.url);
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
编写Dockerfile
vi Dockerfile
这里使用了国内nodejs镜像,拉取image比较快
FROM index.tenxcloud.com/tenxcloud/nodejs
EXPOSE 8080
COPY server.js .
CMD node server.js
将Dockerfile构建到Minikube的Docker主机上
$ eval $(minikube docker-env)
注意:如果不在使用Minikube主机时,可以通过运行eval $(minikube docker-env -u)来撤消此更改。
构建镜像
$ docker build -t hello-node:v1 .
三、将上面构建的镜像部署到Minikube集群上
kubectl run命令部署构建的image
$ kubectl run hello-node --image=hello-node:v1 --port=8080
查看部署的pod状态
kubectl get pods
输出
NAME READY STATUS RESTARTS AGE
hello-node-714049816-ztzrb 1/1 Running 0 6m
创建Service使得部署的pod可以被”外网”访问
$ kubectl expose deployment hello-node --type=LoadBalancer
访问minikube地址查看部署的pod
输入下面命令,打开默认游览器访问minikube主机地址
$ minikube service hello-node
本文介绍如何从零开始安装配置Kubernetes环境,并通过minikube搭建本地集群。接着,编写一个简单的Node.js程序,构建Docker镜像,最后将其部署到minikube集群上并通过Service暴露该应用。
2581

被折叠的 条评论
为什么被折叠?



