设为首页 收藏本站
查看: 723|回复: 0

[经验分享] install kubernetes dashboard 安装 kubernetes dashboard 详细

[复制链接]

尚未签到

发表于 2018-1-4 17:37:38 | 显示全部楼层 |阅读模式
  参考:
  http://www.bubuko.com/infodetail-2242562.html
  http://www.cnblogs.com/zhenyuyaodidiao/p/6500897.html
  下面操作在k8s master 节点上安装 docker 容器
  1.下载kubernetes-dashboar.yaml文件
  git clone https://github.com/jdedu/kubernetes.git
  先安装 git
  yum install git
  2.修改内容
  vi kubernetes/kubernetes-dashboard.yaml

  3.创建dashboard容器
  kubectl create -f kubernetes-dashboard.yaml
  deployment "kubernetes-dashboard" created
  service "kubernetes-dashboard" created

  以上安装后 pods 是没有的,查了下尝试如下方法解决:
  不过这样默认安装后,你可能还会遇到如下问题:
  (1) Dashboard pod创建失败:这是由于kubernetes-dashboard-amd64:v1.1.1 image在墙外,pull image失败导致的。
  可以通过使用加速器或使用替代image的方式来解决,比如:mritd/kubernetes-dashboard-amd64:v1.4.0。修改一下dashboard-controller.yaml中image那一行即可。
  (2)Dashboard无法连接到master node上的api server
  如果唯一的dashboard pod(由于replicas=1)被调度到minion node上,那么很可能无法连接上master node上api server(dashboard会在cluster中自动检测api server的存在,但有时候会失败),导致页面无法正常显示。因此,需要指定一下api server的url,比如:我们在dashboard-controller.yaml中为container启动增加一个启动参数–apiserver-host:
  

// dashboard-controller.yaml  
... ...
  
spec:
  containers:
  - name: kubernetes-dashboard
  image: mritd/kubernetes-dashboard-amd64:v1.4.0
  imagePullPolicy: Always
  ports:
  - containerPort: 9090
  protocol: TCP
  args:
  - --apiserver-host=http://{api server host}:{api server insecure-port}
  
... ...
  

  

  (3)增加nodeport,提供外部访问路径
  dashboard以cluster service的角色运行在cluster中,我们虽然可以在Node上访问该service或直接访问pod,但要想在外部网络访问到dashboard,还需要另外设置,比如:设置nodeport。
  在dashboard-service.yaml中,修改配置如下:
  

spec:  type: NodePort
  ports:
  - port: 80
  targetPort: 9090
  nodePort: 12345
  

  

  这样你就可以通过node 的public ip+nodeport访问到dashboard了。
  不过这时,你的dashboard算是在“裸奔”,没有任何安全可言:
  - dashboard ui没有访问管理机制,任何access都可以全面接管dashboard;
  - 同时在背后,dashboard通过insecure-port访问apiserver,没有使用加密机制。
  4.查看状态
  kubectl get pods --namespace=kube-system
  或
  kubectl get pod --namespace=kube-system
  NAME                                    READY     STATUS              RESTARTS   AGE
  kubernetes-dashboard-1607234690-3bnk2   0/1       ContainerCreating   0          34s

  查看构建详细信息
  kubectl describe pods kubernetes-dashboard-1607234690-3bnk2 --namespace=kube-system
  上面命令 没有数据,下面的有:
  

kubectl get deployment --all-namespaces  


[iyunv@k8s-master ~]# kubectl get deployment --all-namespaces

  NAMESPACE NAME DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
  kube-system kubernetes-dashboard-latest 1  1         1            1           1h
[iyunv@k8s-master ~]# kubectl get svc  --all-namespaces

  NAMESPACE   NAME          CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
  default       kubernetes             10.254.0.1      <none>        443/TCP   9d
  kube-system   kubernetes-dashboard   10.254.44.119   <none>        80/TCP    1h
[iyunv@k8s-master ~]# kubectl get pod  -o wide  --all-namespaces

  NAMESPACE  NAME  READY     STATUS    RESTARTS     AGE   IP  NODE
  kube-system kubernetes-dashboard-latest-3866786896-vsf3h 1/1 Running 0 1h 10.0.82.2 k8s-node-1

  

  

  5.测试
  使用浏览器输入:http://k8s-master:8080/ui

  在相应minion上访问这个地址 是可以的:




  销毁应用
  在master上执行:
  kubectl delete deployment kubernetes-dashboard  --namespace=kube-system
  kubectl delete svc  kubernetes-dashboard --namespace=kube-system
  测试:
  kubectl run sonarqube --image=192.168.179.133:80/sonarqube:5.6.5 --replicas=1 --port=9000
  kubectl describe deployment/sonarqube
  kubectl describe replicaset sonarqube-3005990520
  kubectl describe pod sonarqube-3586311807-l234f
  kubectl delete deployment sonarqube
  kubectl delete svc sonarqube



  此问题参考 我的博客:
  http://www.cnblogs.com/hutuchong/p/7784061.html
  大致原因 : 这个镜像下不下来
  单独
  docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
  会出现 提示

  找了资料

  安装后就可以了
  把这镜像tag 后 ,上传到私服

  注意:私服是在docker容器里的, master的docker要访问私服 也要添加  信任权限的。参考博文
  然后在minion上 就可以执行命令 或k8s也可以获取到

  最后这个测试成功1!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431599-1-1.html 上篇帖子: kubernetes 学习笔记3 下篇帖子: Kubernetes为什么那么重要?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表