接上篇文章,在已經(jīng)部署好Kubernetes的基礎(chǔ)上部署kubernetes-dashboard,它是官方提供的用戶管理Kubernets集群可視化工具;部署dashboard其實(shí)和在kubernets部署其他的應(yīng)用一樣,創(chuàng)建dashboard所需的Replication Controller、Service服務(wù)即可;
注意Kubernets的Overlay Network要正常工作,每個(gè)節(jié)點(diǎn)都已經(jīng)啟動(dòng)Flannel,并且docker啟動(dòng)時(shí)配置了Flannel提供的子網(wǎng),或使用其他方式保證Container之間的連通,否則dashboard將無法正常工作;
Namespace
使用默認(rèn)的Namespace也是可以得,因?yàn)閐ashboard算是屬于系統(tǒng)應(yīng)用所以這里使用Namespace把dashboard與其他App進(jìn)行隔離,建議線上正式的Kubernetes環(huán)境都要使用Namespace;
創(chuàng)建kube-namespace.yaml文件,內(nèi)容如下:
apiVersion: v1
kind: Namespace
metadata:
name: kube-system
Replication Controller
Replication Controller用于保證pod期望狀態(tài)與當(dāng)前狀態(tài)一致,還可對(duì)pod數(shù)量彈性伸縮,這里主要是保證dashboard的正常運(yùn)行;
創(chuàng)建kube-dashboard-rc.yaml文件:內(nèi)容如下:
apiVersion: v1
kind: ReplicationController
metadata:
# Keep the name in sync with image version and
# gce/coreos/kube-manifests/addons/dashboard counterparts
name: kubernetes-dashboard-latest
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
version: latest
kubernetes.io/cluster-service: "true"
spec:
replicas: 1
selector:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
version: latest
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: kubernetes-dashboard
image: 192.168.2.144:5000/kkubernetes-dashboard-amd64
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
ports:
- containerPort: 9090
args:
- --apiserver-host=http://192.168.2.143:8080
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
由于kubernetes-dashboard-amd64如要被墻,這里下了index.alauda.cn/googlecontainer/kubernetes-dashboard-amd64放在本地私有倉(cāng)庫(kù),使用了本地私有長(zhǎng)褲鏡像庫(kù)kubernetes-dashboard-amd64;還要注意別忘了配置apiserver-host否則dashboard將無法連接到kubernets集群;
Service
service用于配置dashboard的label selector;
創(chuàng)建kube-dashboard-svc.yaml文件,內(nèi)容如下:
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
selector:
k8s-app: kubernetes-dashboard
ports:
- port: 80
targetPort: 9090
kubernates中創(chuàng)建dashboard應(yīng)用
1、創(chuàng)建namespace
kubectl -s 192.168.2.143:8080 create -f namespace.yaml
2、創(chuàng)建replication Controller
kubectl -s 192.168.2.143:8080 create -f kube-dashboard-rc.yaml
3、創(chuàng)建service
kubectl -s 192.168.2.143:8080 create -f kube-dashboard-svc.yaml
查看dashboard啟動(dòng)情況

Kubernetes dashboard訪問地址:http://192.168.2.143:8080/ui,注意這里的地址是master節(jié)點(diǎn)的地址;

參考資料:
http://kubernetes.io/docs/user-guide/
posted on 2016-10-09 09:35
思月行云 閱讀(1731)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Docker\K8s