配置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地址是否正确

 编辑一个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-latest
namespace: kube-system
spec:
replicas:
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 class
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
ports:
- containerPort:
args:
- --apiserver-host=http://10.182.169.33:8080
livenessProbe:
httpGet:
path: /
port:
initialDelaySeconds:
timeoutSeconds:
---
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:
targetPort:

注意修改--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

[root@k8s-master ~]# 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就成功.

访问http://192.168.0.104:8080/ui,界面如下:

点击weblogic Pod的日志,显示如下:

最新文章

  1. Configuring Service Broker for Asynchronous Processing
  2. Linux 学习之DNS服务器
  3. Regarding learning
  4. windows installer 出错问题解决
  5. Sharepoint 2013 安装部署系列篇 第一篇 -- 系统集群安装
  6. XtraBackup原理4
  7. 消息队列数量统计(MSMQ,Performance Counter)
  8. ASP.NET数据报表之柱状图 ------工作日志
  9. java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
  10. [置顶] Objective-C ,ios,iphone开发基础:命名规范
  11. 文件系统常用命令df、du、fsck、dumpe2fs
  12. [Python Study Notes]磁盘信息和IO性能
  13. (转)SQLServer_十步优化SQL Server中的数据访问一
  14. AspNet mvc的一个bug
  15. vue 选城市三级联动
  16. CodeForces 1099F - Cookies - [DFS+博弈+线段树]
  17. MySQL的瑞士军刀
  18. Markdown新手快速入门基础教程
  19. RGB 颜色对照表
  20. HOJ 2226&POJ2688 Cleaning Robot(BFS+TSP(状态压缩DP))

热门文章

  1. [BZOJ2502]清理雪道解题报告|带下界的最小流
  2. [BZOJ1441&BZOJ2257&BZOJ2299]裴蜀定理
  3. hdu 2899 Strange fuction (二分)
  4. (转载)常用的Python库
  5. Python 本地线程
  6. yum软件包安装
  7. python学习笔记 可变参数关键字参数**kw相关学习
  8. maven中的pom.xml解析
  9. mysql分页查询语法
  10. hdu 1498(最小点覆盖集)