环境:
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. python开发socket套接字:套接字&通信循环&链接循环&模拟远程命令

    一,套接字 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket ...

  2. HTTP 无法注册 URL http://+:8000/。进程不具有此命名空间的访问权限

    转到bin/debug/目录下, 右键管理员启动

  3. 关系数据库域关系演算语言QBE

    QBE: Query By Example 基于屏幕表格的查询语言 查询要求:以填写表格的方式构造查询 用示例元素(域变量)来表示查询结果可能的情况 查询结果:以表格形式显示 QBE操作框架 ...

  4. Py修行路 python基础 (十九)面向对象进阶(下)

    item系列 __slots__方法 __next__ 和 __iter__实现迭代器  析构函数 上下文管理协议 元类一.item系列 把对象操作属性模拟成字典的格式.  例如:对象名['key'] ...

  5. 决策树 ID3 C4.5 CART(未完)

    1.决策树 :监督学习 决策树是一种依托决策而建立起来的一种树. 在机器学习中,决策树是一种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象,树中的每一个分叉路径代表某 ...

  6. Springboot项目打成jar包运行 和 打成war包 外部tomcat运行

    Jar打包方式运行 类型为jar时 <packaging>jar</packaging> 1.使用命令mvn clean  package 打包 2.使用java –jar 包 ...

  7. 算法初步——two pointers

    什么是 two pointers 以一个例子引入:给定一个递增的正整数序列和一个正整数 M,求序列中的两个不同位置的数 a 和 b,使得它们的和恰好为 M,输出所有满足条件的方案. 本题的一个最直观的 ...

  8. MYSQL中str_to_date函数的用法

    str_to_date(str,format) 函数的用法 str_to_date函数将str转化为日期型的数据,format表示转化后的格式. format参数格式: 常用: %Y  年 %m  月 ...

  9. Stream01 定义、迭代、操作、惰性求值、创建流、并行流、收集器、stream运行机制

    1 Stream Stream 是 Java 8 提供的一系列对可迭代元素处理的优化方案,使用 Stream 可以大大减少代码量,提高代码的可读性并且使代码更易并行. 2 迭代 2.1 需求 随机创建 ...

  10. mybatis spring 框架整合

    driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test user=LF password=LF <?xml versi ...