标签:tin meta raw manually alt line toc and dns
配置kubernetes的dashboard相对简单。同样的,只需要从源码中获取到dashboard-controller.yaml及dashboard-service.yaml文件,稍加修改即可:
wget https://rawgit.com/kubernetes/kubernetes/master/cluster/addons/dashboard/dashboard-controller.yaml wget https://rawgit.com/kubernetes/kubernetes/master/cluster/addons/dashboard/dashboard-service.yaml
修改dashboard-controller.yaml如下:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
labels:
app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: kubernetes-dashboard
template:
metadata:
labels:
app: kubernetes-dashboard
# Comment the following annotation if Dashboard must not be deployed on master
annotations:
scheduler.alpha.kubernetes.io/tolerations: |
[
{
"key": "dedicated",
"operator": "Equal",
"value": "master",
"effect": "NoSchedule"
}
]
spec:
containers:
- name: kubernetes-dashboard
image: myhub.fdccloud.com/library/kubernetes-dashboard-amd64:v1.5.1
imagePullPolicy: Always
ports:
- containerPort: 9090
protocol: TCP
args:
# Uncomment the following line to manually specify Kubernetes API server Host
# If not specified, Dashboard will attempt to auto discover the API server and connect
# to it. Uncomment only if the default does not work.
#额外增加
- --apiserver-host=http://10.5.10.116:8080
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
dashboard-service.yaml不需要修改,这里直接给出源码中的示例文件:
kind: Service
apiVersion: v1
metadata:
labels:
app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 80
targetPort: 9090
selector:
app: kubernetes-dashboard
执行启动即可:
kubectl create -f dashboard-controller.yaml kubectl create -f dashboard-service.yaml
启动后,可以通过如下指令查看映射的nodeport:
[root@server-116 kubernetes]# kubectl get svc --namespace=kube-system NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns 10.254.0.100 <none> 53/UDP,53/TCP 5h kubernetes-dashboard 10.254.68.60 <nodes> 80:30097/TCP 1d
以下访问地址皆可用于访问:
http://10.5.10.116:8080/ui http://10.5.10.116:30097
dashboard界面如图:

错误说明:
在实际的配置过程中,发现dashboard无法启动,通过kubectl logs 查看pod日志,如下:
# kubectl logs --namespace=kube-system <容器名>
Using HTTP port: 9090 Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigurhas invalid apiserver certificates or service accounts configuration) or the --apiserver-host param points to a ser not exist. Reason: invalid configuration: no configuration has been provided Refer to the troubleshooting guide for more information: https://github.com/kubernetes/dashboard/blob/master/docs/uubleshooting.md
这个错误,就是因为需要在dashboard启动的args参数里加上如下参数:
--apiserver-host=http://10.5.10.116:8080
另外,我们发现这个dashboard的访问没有任何的认证与授权机制,后续会专门对kubernetes的认证机制做相关说明。
标签:tin meta raw manually alt line toc and dns
原文地址:http://www.cnblogs.com/yy-cxd/p/6650573.html