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

[经验分享] kubernetes dashboard 安装

[复制链接]

尚未签到

发表于 2017-6-9 11:01:51 | 显示全部楼层 |阅读模式
  环境:
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,找到镜像
下载
=========
[iyunv@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,验证
[iyunv@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.
DSC0000.png

  The end
  Refer to:
  http://www.aspku.com/fuwuqi/203663.html
  https://github.com/kubernetes/dashboard

运维网声明 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-385525-1-1.html 上篇帖子: kubernetes 安装学习 下篇帖子: Centos7上安装Kubernetes集群部署docker
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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