閱讀官網(wǎng)的minikube安裝手冊(cè),最簡(jiǎn)單方法是下載.exe進(jìn)行安裝壹瘟,安裝virtual-box鲫剿,同時(shí)指定vm-driver為virtual-box。安裝過程會(huì)下載ISO鏡像稻轨,建立一個(gè)虛擬機(jī)灵莲,在虛擬機(jī)內(nèi)搭建一個(gè)kubernetes單機(jī)環(huán)境,可以進(jìn)行實(shí)驗(yàn)殴俱。
此過程本來是平滑的政冻,但是由于GFW的存在,下載會(huì)異常艱難线欲,代理是必須的(代理的配置方法略去)明场。
安裝的指令
install kubectl
VirtualBox
minikube-installer.exe
minikube start --vm-driver=virtualbox
minikube dashboard
還有一種方法是手動(dòng)安裝好虛擬機(jī),然后安裝docker李丰,dirver指定為none榕堰,也可以搭建一個(gè)簡(jiǎn)單的單機(jī)環(huán)境,這個(gè)過程也需要代理進(jìn)行下載 嫌套。拉去docker鏡像也會(huì)遇到問題逆屡,因?yàn)殓R像在Google的網(wǎng)站托管的,配置docker的代理也是需要的(Linux和docker代理的方法也略去踱讨,也有手動(dòng)下載鏡像的例子魏蔗,但是鏡像太多,留給不能用代理但是有耐心的同志)痹筛。這種方法是我推薦的莺治,會(huì)遇到dashboard不能啟動(dòng)的問題廓鞠,但是其他的功能可以正常使用。
安裝最大的問題是網(wǎng)絡(luò)谣旁,當(dāng)然搜索到的文章也需要仔細(xì)閱讀和判斷床佳。
docker dirver
在虛擬機(jī)內(nèi)容安裝minikube。
https_proxy=<my proxy>
minikube start --driver=none --docker-env http_proxy=<my proxy> --docker-env https_proxy=<my proxy> --docker-env no_proxy=192.168.99.0/24
創(chuàng)建deployment和svc
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080
查看pod和svc
kubectl get pod
minikube service hello-minikube
Hello app
創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用測(cè)試一下榄审。
minikube/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 web = http.createServer(handleRequest);
web.listen(8080);
minikube/Dockerfile
FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD [ "node", "server.js" ]
biild image
構(gòu)建docker鏡像砌们,已備后面使用。
docker build -t xx .
docker images
controllers/xx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: xx-deployment
labels:
app: node
spec:
replicas: 3
selector:
matchLabels:
app: node
template:
metadata:
labels:
app: node
spec:
containers:
- name: xx
image: xx
imagePullPolicy:IfNotPresent
ports:
- containerPort: 8080
YAML file deployment
將上面的配置寫入文件搁进,部署run起來浪感。
kubectl apply -f xx.deploy.yaml
然后創(chuàng)建service(svc),查看service訪問URL看到Hello world饼问。
刪除svc和deployment
kubectl delete services hello-minikube
kubectl delete deployment hello-minikube
集群查看狀態(tài)影兽,停止
查看執(zhí)行的步驟,狀態(tài)莱革。如果發(fā)生錯(cuò)誤峻堰,也可以干掉集群。
kubectl get events
minikube status
minikube stop
minikube delete
結(jié)語(yǔ)
至此一個(gè)簡(jiǎn)單的環(huán)境就搭建完畢盅视,可以進(jìn)行測(cè)試了捐名。