• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > docker kubernetes dashboard安装部署详细介绍

docker kubernetes dashboard安装部署详细介绍

作者: 字体:[增加 减小] 来源:互联网

本文主要包含docker,kubernetes,dashboard安装部署,docker,kubernetes,dashboard部署,docker,kubernetes,dashboard等服务器相关知识,希望可以进行参考

docker之kubernetes dashboard部署


1. 环境说明:

1). 架构:

注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install.

192.168.3.7 master
192.168.3.16 node

2).使用的软件包:

master: docker kubernetes-master etcd flannel
nodes: docker kubernetes-node flannel

3). 软件版本:

docker: 1.10.3
kubernetes*: 1.2.0
etcd: 2.3.7

4). 软件包说明:

docker: 主角,不用说了
kubernetes-master: kubernetes 服务端
kubernetes-node: kubernetes 客户端
etcd: 服务器发现的键值存储
flannel: 打通多台服务器上的docker容器之间的网络互通

2. 环境初始化:

你都搞docker了,初始化该做些什么,我就不教你了.
备份现有的yum源文件,搞一个阿里云的yum源,epel源.
地址: http://mirrors.aliyun.com

3. 安装配置docker:

注: docker采用net模式. 确保device-mapper软件包已经安装,否则docker无法启动.

1). 安装
# yum install docker -y
2). 配置
# cat /etc/sysconfig/docker|egrep -v "^#|^$"
OPTIONS=''
DOCKER_CERT_PATH=/etc/docker
 

4. 配置master

1). 安装软件包.
# yum install kubernetes-master etcd flannel-y
2). 配置etcd.
# 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.3.7:2379" ## etcd集群配置;多个etcd服务器,直接在后面加url

##启动etcd服务
# systemctl start etcd

3). 配置kubernetes.

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

# cd /etc/kubernetes
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" ## kube启动时绑定的地址
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.3.7:2379" ## kube调用etcd的url
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=172.17.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.3.7:8080" ## kube master api url

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

5. 配置nodes

1). 安装软件包.

# yum install kubernetes-node flannel -y

2). 配置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.3.7: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.3.16" ##kubelet的hostname,在master执行kubectl get nodes显示的名字
KUBELET_API_SERVER="--api-servers=http://192.168.3.7:8080" ## kube master api url
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

proxy 配置默认即可.

6. 网络配置:

master和node均已经安装flannel

master配置:

# cat /etc/sysconfig/flanneld |egrep -v "^#|^$"
FLANNEL_ETCD="http://192.168.3.7:2379"
FLANNEL_ETCD_KEY="/kube/network"

# etcdctl mk /kube/network/config '{"Network":"172.17.0.0/16"}' ## 注意此处的ip和上文中出现的ip地址保持一致.

node配置:

# cat /etc/sysconfig/flanneld |egrep -v "^#|^$"
FLANNEL_ETCD="http://192.168.3.7:2379"
FLANNEL_ETCD_KEY="/kube/network"

7. 启动服务.

1). 启动docker服务.

# systemctl start docker
# ps aux|grep docker ## 确认下服务是否正常启动.如果没有启动请移步/var/log/message看问题

2). 启动etcd服务

# systemctl start etcd

3). 启动master 和node上的flanneld服务

# systemctl start flanneld

查看ip,会出现flannel0的网络接口设备,该地址和docker0地址是一致的,如果不一致请确认以上服务是否正常启动

4). 启动运行在master上的k8s服务.

启动顺序:kube-apiserver居首.
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler

请确认以上服务是否都有正常启动.

5). 启动运行在node上的k8s服务.
# systemctl start kube-proxy
# systemctl start kubelet

请确认以上服务是否都有正常启动.

6). 访问http://kube-apiserver:port
http://192.168.3.7:8080 查看所有请求url
http://192.168.3.7:8080/healthz/ping 查看健康状况

8. 开启k8s dashboard:

1). 在master上验证服务.
# kubectl get nodes ## 获取k8s客户端.
NAME STATUS AGE
192.168.3.16 Ready 6h
# kubectl get namespace ## 获取k8s所有命名空间
NAME STATUS AGE
default Active 17h
2). 在master上新建kube-system的namespace
# cd /usr/local/src/docker
# cat kube-namespace.yaml
{
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "kube-system"
}
}
# kubectl create -f kube-namespace.yaml
namespace "kube-system" created
# kubectl get namespace ## 获取k8s所有命名空间
NAME STATUS AGE
default Active 17h
kube-system Active 17h

3). 在master上新建kube-dashboard.yaml

wget http://docs.minunix.com/docker/kubernetes-dashboard.yaml -O /usr/local/src/docker/kube-dashboard.yaml

请将文件中apiserver-host修改为自己的kebu-apiserver

创建pod:

# kubectl create -f kube-dashboard.yaml
deployment "kubernetes-dashboard" created
You have exposed your service on an external port on all nodes in your
cluster. If you want to expose this service to the external internet, you may
need to set up firewall rules for the service port(s) (tcp:31576) to serve traffic.

See http://releases.k8s.io/release-1.2/docs/user-guide/services-firewalls.md for more details.
service "kubernetes-dashboard" created

验证:

# kubectl get pods --namespace=kube-system
NAME READY STATUS RESTARTS AGE
kubernetes-dashboard-3138400848-grtfm 1/1 ContainerCreating 0 27s

查看该容器的详细过程:

# kubectl describe pods kubernetes-dashboard-3138400848-grtfm --namespace=kube-system

当有多个node,可以用该命令中看到容器被分配到哪个node上,启动后分配的ip地址等信息.
如果在结果中看到"State: Running"时,请移步到node查看容器运行状态,应该也是up的状态.

4). 此时可以通过http://kube-apiserver:port/ui访问

http://192.168.3.7:8080/ui

开始尽情使用docker吧!

9. 注意点&遇到的问题:

1). 注意服务的启动顺序,特别是master,在确保etcd启动的情况下,先启动apiserver

2).

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • CloudStack 环境如何重新部署详解
  • Ubuntu 16.04中Docker的安装和代理配置教程
  • 详解虚拟化技术QEMU-KVM入门
  • kvm安装和删除虚拟机的方法
  • docker中使用mysql数据库详解(在局域网访问)
  • Ubuntu Docker 安装教程
  • Mac上将brew安装的MySql改用Docker执行操作过程
  • Docker 常用命令整理及使用注意事项总结
  • CentOS系统下docker的安装配置及使用介绍
  • Docker学习笔记之Weave实现跨主机容器互联

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Vmware vSphere 5.0安装配置方法图文教程
    • ubuntu kylin虚拟机中安装KVM
    • 2014年服务器虚拟化市场将迎来争夺战
    • CoreOS配置Docker镜像加速器的方法
    • Docker push镜像失败解决方法
    • 总结红帽RHEV3.0 展望RHEV3.1
    • docker 启动具有多个网络接口的容器的方法示例
    • CentOS7 Docker防火墙的简单配置教程
    • 使用docker搭建gitlab详解
    • Vmware vSphere Client安装虚拟机图文教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有