86565656 发表于 2018-1-4 12:49:29

配置kubernetes UI图形化界面

  配置Kubernetes网络


[*]在master和nodes上都需要安装flannel
  

yum install flannel  



[*]在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://etcd: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中进行配置
  

etcdctl mk /atomic.io/network/config '{ "Network": "192.168.0.0/16" }'  



[*]启动
  在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
  

  运行 kubectl get pods --all-namespaces -o wide 看获取的ip地址是否正确
https://images2015.cnblogs.com/blog/892532/201705/892532-20170508192858910-2001119396.png
  编辑一个kubernetes-dashboard.yaml文件
  最新版本可以去官网下载
  https://github.com/kubernetes/dashboard/blob/master/src/deploy/kubernetes-dashboard.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-latestnamespace: 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: gcr.io
/google_containers/kubernetes-dashboard-amd64:v1.5.1  resources:
  # keep request
= limit to keep this container in guaranteed>limits:  cpu: 100m
  memory: 50Mi
  requests:
  cpu: 100m
  memory: 50Mi
  ports:
- containerPort: 9090  args:
---apiserver-host=http://10.182.169.33: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
  

  注意修改--apiserver-host=http://10.182.169.33:8080 指向自己的api server.
  
  创建dashboard
  kubectl create -f kubernetes-dashboard.yaml
  kubectl get-f kubernetes-dashboard.yaml
  发现deploy/kubernetes-dashboard-latest一直不在avaiable状态,通过下面命令查询

kubectl get pods --all-namespaces  发现kube-system的命名空间下,总是有个kubernetes-dashboard-latest-1590787137-pp8qd处于CrashLoopBackOff状态.
  可以通过下面命令查看namespace的日志情况

kubectl describe po kubernetes-dashboard --namespace=kube-system  删除kubernetes-dashboard
  因为没搞清楚什么原因,很想再试一次,删除命令如下:

kubectl delete -f kubernetes-dashboard.yaml  在运行kubectl get pods --all-namespaces发现总是有kube-system命名空间下的pod在运行.最后通过指定命名空间删除
  kubectl delete --all pods --namespace=kube-system
  kubectl delete deployment kubernetes-dashboard --namespace=kube-system
  注意,如果只删除pod会发现删完后又会有个同样的pod启动起来,删除deployment即可.
  查看日志确定原因
  最重要还是要看日志,最重要还是要看日志,最重要还是要看日志, 重要事情说三遍,此问题浪费3个钟头时间 :(
  kubectl logs -f kubernetes-dashboard-latest-3243398-thc7k -n kube-system
  # kubectl logs -f kubernetes-dashboard-latest-3243398-thc7k -n kube-system
  Using HTTP port: 9090
  Using apiserver-host location: http://k8s-master:8080
  Creating API server client for http://k8s-master:8080
  Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service accounts configuration) or the --apiserver-host param points to a server that does not exist. Reason: Get http://k8s-master:8080/version: dial tcp: lookup k8s-master on 202.96.134.33:53: no such host
  Refer to the troubleshooting guide for more information: https://github.com/kubernetes/dashboard/blob/master/docs/user-guide/troubleshooting.md
  发现是dns把k8s-master解析成202.96.134.33的地址了,修改kubernetes-dashboard.yaml中的apiserver-host=http://k8s-master:8080为
  http://192.168.0.104:8080后,再进行create就成功.
https://images2015.cnblogs.com/blog/892532/201705/892532-20170508201012285-276069850.png
  访问http://192.168.0.104:8080/ui,界面如下:
https://images2015.cnblogs.com/blog/892532/201705/892532-20170508201117004-53243026.png

https://images2015.cnblogs.com/blog/892532/201705/892532-20170508201205988-1912210707.png
  点击weblogic Pod的日志,显示如下:
https://images2015.cnblogs.com/blog/892532/201705/892532-20170508201306051-547072780.png
页: [1]
查看完整版本: 配置kubernetes UI图形化界面