k8s dashboard配置
阿新 • • 發佈:2018-02-12
true stat emp guarantee pre extern contain ports deploy
鏡像:https://hub.daocloud.io/#!/repos/f8919a2c-2540-424e-8758-d23cc76b6d80
啟動Kubernetes集群
配置Kubernetes網絡,在master和nodes上都需要安裝flannel
vi /etc/sysconfig/flanneld # Flanneld configuration options # etcd url location. Point this to the server where etcd runs FLANNEL_ETCD_ENDPOINTS="http://192.168.132.148:2379" # etcd config key. This is the configuration key that flannel queries # For address range assignment FLANNEL_ETCD_PREFIX="/atomic.io/network" # Any additional options that you want to pass #FLANNEL_OPTIONS=""
配置etcd中flannel的key,需要在etcd中進行配置(如果做了集群可忽略此步驟)
在master節點上啟動
systemctl enable flanneld.service systemctl start flanneld.service service docker restart systemctl restart kube-apiserver.service systemctl restart kube-controller-manager.service systemctl restart kube-scheduler.service
在各個Nodes上啟動
systemctl enable flanneld.service
systemctl start flanneld.service
service docker restart
systemctl restart kubelet.service
systemctl restart kube-proxy.service
測試集群
配置dashboard並啟動
編輯一個kubernetes-dashboard.yaml文件
ui.yaml
apiVersion: extensions/v1beta1 kind: Deployment metadata: # Keep the name in sync with image version and # gce/coreos/kube-manifests/addons/dashboard counterparts name: kubernetes-dashboard-latest namespace: kube-system spec: replicas: 1 template: metadata: labels: k8s-app: kubernetes-dashboard version: latest kubernetes.io/cluster-service: "true" spec: containers: - name: kubernetes-dashboard image: daocloud.io/daocloud/google_containers_kubernetes-dashboard-amd64:v1.6.1 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.132.148:8080 livenessProbe: httpGet: path: / port: 9090 initialDelaySeconds: 30 timeoutSeconds: 30 --- 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
註釋:
image 此處要寫鏡像地址,由於大多數dashboard的鏡像國內無法訪問,所以找到一個國內可用的
--apiserver-host=http://192.168.132.148:8080 這裏為apiserver的地址(node下配置)
創建dashboard
[root@k8s_master ~]# kubectl create -f ui.yaml deployment "kubernetes-dashboard-latest" created service "kubernetes-dashboard" created
查看創建deployment
[root@k8s_master ~]# kubectl get -f ui.yaml NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deploy/kubernetes-dashboard-latest 1 1 1 1 47m NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes-dashboard 10.254.159.141 <none> 80/TCP 47m
[root@k8s_master ~]# kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system kubernetes-dashboard-latest-1381663337-0wwml 1/1 Running 0 48m
如果status處異常可查看日誌
[root@k8s_master ~]# kubectl logs -f kubernetes-dashboard-latest-1381663337-0wwml -n kube-system
[root@k8s_master ~]# kubectl describe po kubernetes-dashboard --namespace=kube-system
正常為
錯誤(提示無法拉取鏡像):
訪問web (http://192.168.132.148:8080/ui)
Error: ‘dial tcp 10.1.23.2:9090: getsockopt: connection refused‘
需要檢查apiserver的地址設置的是否正確(重啟apiserver和kubenets)
http://192.168.132.148:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard/#!/cluster?namespace=kube-system
k8s dashboard配置