在前兩篇文章中,我們介紹了在ubuntu 16.04環境下的kubernetes 1.6的安裝。至此,kubernetes的master,minion端都已經安裝好了,接下來我們需要用kubernetes部署一些應用,本文以kubernetes-dashboard為例,來介紹kubernetes的應用部署。
為了方便實驗我們事先在minion上將需要的鏡像下載下來
在minion上用docker pull 鏡像
docker pull huanwei/kubernetes-dashboard-amd64
先為dashboard建立一個service文件yaml格式的
cat dashboard-svc.yaml
kind: Service
apiVersion: v1
metadata:
? labels:
???? k8s-app: kubernetes-dashboard
? name: kubernetes-dashboard
? namespace: kube-system
spec:
? type: NodePort
? ports:
? - port: 80
??? targetPort: 9090
??? nodePort: 1080
? selector:
??? k8s-app: kubernetes-dashboard
再為dashboard建立一個rc文件,也是yaml格式
cat dashboard-rc.yaml
# Example usage: kubectl create -f <this_file>
kind: ReplicationController
apiVersion: v1
metadata:
? labels:
??? k8s-app: kubernetes-dashboard
? name: kubernetes-dashboard
? namespace: kube-system
spec:
? replicas: 1
? selector:
??? k8s-app: kubernetes-dashboard
? template:
? ? metadata:
? ? ? labels:
??????? k8s-app: kubernetes-dashboard
? spec:
? ? containers:
? ? - name: kubernetes-dashboard
? ? ? image: huanwei/kubernetes-dashboard-amd64:latest
? ? ? imagePullPolicy: IfNotPresent
? ? ? ports:
? ? ? - containerPort: 9090
? ?? ?? protocol: TCP
???? args:
??????? - --apiserver-host=http://192.168.100.20:8080
???? livenessProbe:
???? ? httpGet:
???????? path: /
???????? port: 9090
?????? initialDelaySeconds: 30
?????? timeoutSeconds: 30
用kubectl create -f dashboard-svc.yaml,kubectl create -f dashboard-rc.yaml先后創建一個kubernetes-dashboard service和kubernetes-dashboard RC(ReplicationController)。
創建好后,可以用kubectl get pods -n kube-system 來查看創建的pod,用kubectl get svc -n kube-system 來查看service,用kubectl get rc -n kube-system來查看創建的RC。其中-n kube-system指明namespace,默認是default 。
如上圖所示,紅色框即為創建好的service,rc和pod
可以用kubectl get pods -n kube-system -o wide,來查看pod起在那個節點
由于在service中綁定了nodeport,所以可以用nodeip:nodeport來訪問dashboard,如下圖所示