环境:
CentOS Linux release 7.3.1611 (Core)
IP:192.168.0.103

【1】组件安装
yum install device-mapper
yum install docker -y
yum install kubernetes-master etcd flannel kubernetes-node -y

【2】文件配置
1,docker配置文件/etc/sysconfig/docker
======================================
# cat /etc/sysconfig/docker|egrep -v "^#|^$"
OPTIONS=''
DOCKER_CERT_PATH=/etc/docker
======================================

2,etcd配置文件/etc/etcd/etcd.conf
======================================
# cat /etc/etcd/etcd.conf |egrep -v "^#|^$"
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ## 监听地址端口
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.0.103:2379" ## etcd集群配置;多个etcd服务器,直接在后面加url
======================================

3,配置kubernetes-master
======================================
在/etc/kubernetes 目录中有以下几个文件:
apiserver: kubernetes api 配置文件
config: kubernetes 主配置文件
controller-manager: kubernetes 集群管理配置文件
scheduler: kubernetes scheduler配置文件

# cat /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" ## kube启动时绑定的地址
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.0.103:2379" ## kube调用etcd的url
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" ## 此地址是docker容器的地址段
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""

注意KUBE_ADMISSION_CONTROL这一行的配置: 移除ServiceAccount 项目,否则在后期中会报出没有认证错误.

# cat config |egrep -v "^#|^$"
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.0.103:8080" ## kube master api url
======================================

备注:controller-manager scheduler 两个文件采用默认配置即可

4,配置kubernetes node
======================================
在/etc/kubernetes目录下出现以下文件:
config: kubernetes 主配置文件
kubelet: kubelet node配置文件
proxy: kubernetes proxy 配置文件
# cd /etc/kubernetes
# cat config |egrep -v "^#|^$"
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.0.103:8080" ## kube master api url

# cat kubelet |egrep -v "^#|^$"
KUBELET_ADDRESS="--address=0.0.0.0" ## kubelet 启动后绑定的地址
KUBELET_PORT="--port=10250" ## kubelet 端口
KUBELET_HOSTNAME="--hostname-override=192.168.0.103" ##kubelet的hostname,在master执行kubectl get nodes显示的名字
KUBELET_API_SERVER="--api-servers=http://192.168.0.103:8080" ## kube master api url
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""
======================================

备注:kubernetes master与kubernetes node为同一节点。

5,flannel配置文件/etc/sysconfig/flanneld
======================================
# cat /etc/sysconfig/flanneld |egrep -v "^#|^$"
FLANNEL_ETCD="http://192.168.0.103:2379"
FLANNEL_ETCD_KEY="/kube/network"
======================================
【3】启动服务【按顺序】
a,启动etcd服务
# systemctl start etcd
# etcdctl mk /kube/network/config '{"Network":"10.254.0.0/16"}' ## 注意此处的ip和上文中出现的ip地址保持一致.

b,启动docker服务
# systemctl start docker

c,启动flanneld服务
systemctl start flanneld

查看ip,会出现flannel0的网络接口设备,该地址和docker0地址是一致的,如果不一致请确认以上服务是否正常启动
*********************************
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1472
inet 10.254.30.1 netmask 255.255.255.0 broadcast 0.0.0.0

flannel0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1472
inet 10.254.30.0 netmask 255.255.0.0 destination 10.254.30.0
*********************************

d,启动运行在master服务
启动顺序:kube-apiserver居首.
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler
e,启动运行在node服务.
# systemctl start kube-proxy
# systemctl start kubelet

或者 for servername in kube-apiserver kube-controller-manager ...语句

【4】访问http://kube-apiserver:port
http://192.168.0.103:8080 查看所有请求url
http://192.168.0.103:8080/healthz/ping 查看健康状况

备注:/etc/hosts添加localhost 192.168.0.103

【5】安装kubernetes dashboard
# mkdir /usr/local/src/docker && cd /usr/local/src/docker
a,下载kubernetes-dashboard-no-rbac.yaml
# wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard-no-rbac.yaml

b,下载docker pull siriuszg/kubernetes-dashboard-amd64
# docker pull siriuszg/kubernetes-dashboard-amd64
备注:下载kubernetes-dashboard-amd64镜像花了比较多时间,最终通过https://hub.docker.com,搜索kubernetes-dashboard-amd64,找到镜像
下载
=========
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.access.redhat.com/rhel7/pod-infrastructure latest 34d3450d733b 12 weeks ago 205 MB
docker.io/mritd/kubernetes-dashboard-amd64 latest 75f167b703e6 6 months ago 86.27 MB
=========
c,修改kubernetes-dashboard-no-rbac.yaml
-----------------------------------
- name: kubernetes-dashboard
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.0
-----------------------------------
改为
-----------------------------------
- name: kubernetes-dashboard
image: docker.io/mritd/kubernetes-dashboard-amd64
-----------------------------------

"# - --apiserver-host=http://my-address:port" 改为 "- --apiserver-host=http://192.168.0.103:8080"

d, 查看namespace

# kubectl get pods --all-namespaces | grep dashboard
no resources

e, install dashboard
# kubectl create -f kubernetes-dashboard-no-rbac.yaml

f,The easiest way to access Dashboard is to use kubectl. Run the following command in your desktop environment:
# kubectl proxy
Starting to serve on 127.0.0.1:8001
g,验证
[root@localhost docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
538819330e57 docker.io/mritd/kubernetes-dashboard-amd64 "/dashboard --port=90" xxxx

6c271cd426825 registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod"  xxxx

h,access ui
kubectl will handle authentication with apiserver and make Dashboard available at http://localhost:8001/ui

The UI can only be accessed from the machine where the command is executed. See kubectl proxy --help for more options.

The end

Refer to:

http://www.aspku.com/fuwuqi/203663.html

https://github.com/kubernetes/dashboard

kubernetes dashboard 安装的更多相关文章

  1. kubernetes dashboard 安装时出现9090: getsockopt: connection refused错误

    转载于:https://blog.csdn.net/lucy06/article/details/79082302 安装kubernetes  dashboard时,出现错误: Error: 'dia ...

  2. Kubernetes Dashboard 安装与认证

    1.安装dashboard $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/ ...

  3. Kubernetes dashboard安装

    1. To download Dashboard plugin deployment YAML file from internet. #cd /home #mkdir k8s #cd k8s # w ...

  4. install kubernetes dashboard 安装 kubernetes dashboard 详细

    参考: http://www.bubuko.com/infodetail-2242562.html http://www.cnblogs.com/zhenyuyaodidiao/p/6500897.h ...

  5. Kubernetes入门(二)——Dashboard 安装

    Kubernetes集群搭建完成后,可以通过命令行方式可以了解集群资源的使用情况,但是这种方式比较笨拙且不直观,因此考虑给集群安装Dashboard,这样能更直观了解集群状态.本文Dashboard的 ...

  6. Kubernetes 及安装注意事项

    Docker Desktop for Mac/Windows开启Kubernetes 及安装注意事项 Table of Contents 1 解决方案 2 注意事项 2.1 Choose Kubeco ...

  7. K8s+dashboard安装部署【h】

    系统安装使用虚拟机安装两个centos系统,在/etc/hosts里增加两行192.168.140.128 kuber-master192.168.140.129 kuber-node1 关闭防火墙s ...

  8. docker for mac 安装 kubernetes、kubernetes dashboard

    安装参考地址(按照此文档,安装成功):https://yq.aliyun.com/articles/508460 官方说明:https://kubernetes.io/docs/tasks/acces ...

  9. 安装kubernetes dashboard

    一.kubernetes dashboard kubernetes dashboard是k8s的web管理界面 二.安装 k8s的版本为1.5 1.创建dashboard-controller.yam ...

随机推荐

  1. 微信扫码支付PHP接入总结

    微信扫码支付分为两种模式, 模式一比较复杂,需要公众号配置回调地址. 模式二比较简单,只需要在代码中配置回调地址就可以了. 我这次使用的是模式二. 需要配置参数, const APPID = 'xxx ...

  2. MariaDB存在的问题

    MySQL与MariaDB对嵌套的查询语句当中的order by的处理方法不同.MySQL会忠实执行内层查询的排序子句,但是MariaDB会将这个order by去掉,理论依据就是关系理论 --- 一 ...

  3. Linux性能监测:内存篇

    在操作系统里,虚拟内存被分成页,在 x86 系统上每个页大小是 4KB.Linux 内核读写虚拟内存是以 “页” 为单位操作的,把内存转移到硬盘交换空间(SWAP)和从交换空间读取到内存的时候都是按页 ...

  4. XML注释与Description标签及Java:注解(Annotation)的关系

    NET中的规范标准注释(一) -- XML注释标签讲解 一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来 ...

  5. [iOS]通过xib定义Cell然后关联UICollectionView

    先新建一个View的xib,然后删掉自动生成的View,拖进一个UICollectionCell,再新建一个对应的UIView继承UICollectionCell类. OK,接下来该连outlet的就 ...

  6. Spring整合web项目原理

     

  7. Unity3D Asset 导入&导出

    [Unity3D Asset 导入&导出] 通过Assets->Export Package..菜单可以导出当前选中Assets.若没有选中Assets,则会导出全部assets. 在弹 ...

  8. java中链表的数据(对象)位置交换

    用LinkedList类的set方法把引用 对象换了就行 ,如 import java.util.LinkedList; public class Tffdsafsdafsad { public st ...

  9. day18-事务与连接池 1.复习

    实际开发中事务必须得用.

  10. SqlServer------范式小结

    说明:大多数初学者对于关系数据库中的范式很是头疼,我本人也是,所以今天又看了视频,总结了一下内容,尽量语言通俗易懂,少用专业术语以及概念. 首先要理解几个键值. 超键:在关系模式中,能唯一标识元组的属 ...