CentOS7实战Kubernetes部署

CentOS 7 搭建GlusterFS

实验需求:

4台机器安装GlusterFS组成一个集群

客户端把docker registry存储到文件系统里

4个节点的硬盘空间不整合成一个硬盘空间,要求每个节点都存储一份,保证数据安全

环境规划

-----------------------------------------------------

server

-----------------------------------------------------

node1:192.168.56.11  主机名:glusterfs1

-----------------------------------------------------

node2:192.168.56.12  主机名:glusterfs2

-----------------------------------------------------

node3:192.168.56.13  主机名:glusterfs3

-----------------------------------------------------

node4:192.168.56.14  主机名:glusterfs4

-----------------------------------------------------

client

-----------------------------------------------------

192.168.56.20         主机名:client

-----------------------------------------------------

OS: BCLinux release 7.2 (Mars)

实验前准备:

所有主机关闭防火墙,SElinux修改hosts文件,能够互相解析

192.168.56.11  glusterfs1

192.168.56.12  glusterfs2

192.168.56.13  glusterfs3

192.168.56.14  glusterfs4

192.168.56.20  client

。SSH互信(最好选择主机名)

-->ssh-keygen -t rsa

-->ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

-->ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

-->ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

-->ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

-->ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

一、安装

服务端

1.在glusterfs {1-4}节点上安装GlusrerFS软件包

。Glusterfs下载地址:

http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-api-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-cli-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-client-xlators-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-debuginfo-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-fuse-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-geo-replication-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-libs-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-rdma-3.7.17-1.el7.x86_64.rpm

wget https://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.17/CentOS/epel-7.2/x86_64/glusterfs-server-3.7.17-1.el7.x86_64.rpm

安装:

-->yum install libibverbs librdmacm -y

-->wget http://dl.fedoraproject.org/pub/epel/6/x86_64//userspace-rcu-0.7.7-1.el6.x86_64.rpm

-->rpm -ivh userspace-rcu-0.7.7-1.el6.x86_64.rpm

-->yum localinstall *.rpm -y

----------------------------------------------------------------------------------------------

报错:

需要:liburcu-bp.so.1()(64bit)

错误:依赖检测失败:

libibverbs.so.1()(64bit) 被 glusterfs-rdma-3.7.17-1.el7.x86_64 需要

libibverbs.so.1(IBVERBS_1.0)(64bit) 被 glusterfs-rdma-3.7.17-1.el7.x86_64 需要

libibverbs.so.1(IBVERBS_1.1)(64bit) 被 glusterfs-rdma-3.7.17-1.el7.x86_64 需要

librdmacm.so.1()(64bit) 被 glusterfs-rdma-3.7.17-1.el7.x86_64 需要

librdmacm.so.1(RDMACM_1.0)(64bit) 被 glusterfs-rdma-3.7.17-1.el7.x86_64 需要

liburcu-bp.so.1()(64bit) 被 glusterfs-server-3.7.17-1.el7.x86_64 需要

liburcu-cds.so.1()(64bit) 被 glusterfs-server-3.7.17-1.el7.x86_64 需要

解决方法:

-->yum install libibverbs librdmacm -y

-->wget http://dl.fedoraproject.org/pub/epel/6/x86_64//userspace-rcu-0.7.7-1.el6.x86_64.rpm

-->rpm -ivh userspace-rcu-0.7.7-1.el6.x86_64.rpm

----------------------------------------------------------------------------------------------

3.userspace-rcu下载地址:

-->wget http://dl.fedoraproject.org/pub/epel/7/x86_64/u/userspace-rcu-0.7.16-1.el7.x86_64.rpm

-->rpm -ivh serspace-rcu-0.7.16-1.el7.x86_64.rpm

安装:

-->yum localinstall *.rpm

。查看安装的版本

-->glusterfs -V

glusterfs 3.7.17 built on Nov  3 2016 14:29:48

Repository revision: git://git.gluster.com/glusterfs.git

Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/>

GlusterFS comes with ABSOLUTELY NO WARRANTY.

It is licensed to you under your choice of the GNU Lesser

General Public License, version 3 or any later version (LGPLv3

or later), or the GNU General Public License, version 2 (GPLv2),

in all cases as published by the Free Software Foundation.

。启动glusterfs服务

-->systemctl enable glusterd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.

-->systemctl start gluterd.service

-->systemctl status glusterd.service

● glusterd.service - GlusterFS, a clustered file-system server

Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)

Active: active (running) since Sun 2017-07-09 16:20:51 CST; 30s ago

Process: 4684 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)

Main PID: 4685 (glusterd)

CGroup: /system.slice/glusterd.service

└─4685 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

Jul 09 16:20:48 glusterfs1 systemd[1]: Starting GlusterFS, a clustered file-system server...

Jul 09 16:20:51 glusterfs1 systemd[1]: Started GlusterFS, a clustered file-system server.

2.在glusterfs1节点上配置整个GlusterFS集群,把各个节点加入到集群

-->gluster peer probe glusterfs1

peer probe: success. Probe on localhost not needed

-->gluster peer probe glusterfs2

peer probe: success.

-->gluster peer probe glusterfs3

peer probe: success.

-->gluster peer probe glusterfs4

peer probe: success.

3.查看节点状态

-->gluster peer status

Number of Peers: 3

Hostname: glusterfs2

Uuid: 9149c992-e86c-436d-8da9-b2a7245289cb

State: Peer in Cluster (Connected)

Hostname: glusterfs3

Uuid: dcbe562d-5bbd-4ee8-8855-c48428bba7ef

State: Peer in Cluster (Connected)

Hostname: glusterfs4

Uuid: 677514f3-7c3c-4b8e-b93d-db3941485166

State: Peer in Cluster (Connected)

4.在glusterfs{1-4}上创建数据存储目录

-->mkdir -p  /usr/local/share/models

5.在glusterfs1上创建GlusterFS磁盘

注意:

加上replica 4就是4个节点中,每个节点都要把数据存储一次,就是一个数据存储4份,每个节点一份

如果不加replica 4,就是4个节点的磁盘空间整合成一个硬盘,

-->gluster volume create models replica 4 glusterfs1:/usr/local/share/models glusterfs2:/usr/local/share/models glusterfs3:/usr/local/share/models glusterfs4:/usr/local/share/models force

volume create: models: success: please start the volume to access data

6.启动

-->gluster volume start models

volume start: models: success

----------------------------------------------------------------------------

客户端

1.部署GlusterFS客户端并mount GlusterFS文件系统

-->mkdir /usr/local/src/rpm

方法同服务器端(下载rpm安装)

-->yum install libibverbs librdmacm -y

-->wget http://dl.fedoraproject.org/pub/epel/6/x86_64//userspace-rcu-0.7.7-1.el6.x86_64.rpm

-->rpm -ivh userspace-rcu-0.7.7-1.el6.x86_64.rpm

-->yum localinstall *.rpm -y

最好按下面方法安装客户端包

-->rpm -ivh glusterfs-client-xlators-3.7.17-1.el7.x86_64.rpm glusterfs-fuse-3.7.17-1.el7.x86_64.rpm

-->mkdir -p /mnt/models

-->mount -t glusterfs -o ro glusterfs1:models /mnt/models/

2.查看效果

-->df -h

df -hT

Filesystem        Type            Size  Used Avail Use% Mounted on

/dev/sda2         ext4             50G  1.5G   46G   4% /

devtmpfs          devtmpfs        904M     0  904M   0% /dev

tmpfs             tmpfs           913M     0  913M   0% /dev/shm

tmpfs             tmpfs           913M  8.8M  904M   1% /run

tmpfs             tmpfs           913M     0  913M   0% /sys/fs/cgroup

/dev/sda6         ext4             35G  4.7G   29G  15% /var

/dev/sda3         ext4            9.8G   37M  9.2G   1% /home

/dev/sda1         ext4            477M   94M  354M  21% /boot

tmpfs             tmpfs           183M     0  183M   0% /run/user/0

glusterfs1:models fuse.glusterfs   50G  1.5G   46G   4% /mnt/models

其他操作命令

。删除GlusterFS磁盘

-->gluster volume stop  models  先停止

-->gluster volume delete models  再删除

。卸载GlusterFS磁盘

-->gluster peer detach glusterfs4

。ACL访问控制

-->gluster volume set models auth.allow 192.168.56.*,10.0.1.*

volume set: success

。添加GlusterFS节点

-->gluster peer probe sc2-log5

-->gluster peer probe sc2-log6

-->gluster volume add-brick models sc2-log5:/data/gluster sc2-log6:/data/gluster

。迁移GlusterFS数据

-->gluster volume remove-brick models sc2-log1:/usr/local/share/models sc2-log5:/usr/local/share/models start

-->gluster volume remove-brick models sc2-log1:/usr/local/share/models sc2-log5:/usr/local/share/models status

-->gluster volume remove-brick models sc2-log1:/usr/local/share/models sc2-log5:/usr/local/share/models commit

。修复GlusterFS数据(在节点1宕机的情况下)

-->gluster volume replace-brick models sc2-log1:/usr/local/share/models sc2-log5:/usr/local/share/models commit -force

-->gluster volume heal models full

时间: 2024-11-15 22:29:41

CentOS7实战Kubernetes部署的相关文章

Centos7 实战Kickstart 批量系统部署

1.kickstart 使用背景介绍大家想个问题,我们平时手动光盘安装一台linux系统的多久能完成?10分钟?半小时?1小时还是一上午?领导说小李明天到100台服务器你统一装成linux系统,周日交工.啊?100台?你是不是要哭了-- 于是乎,kickstart 自动化安装平台就诞生了,哇哈哈!2.kickstart 原理① PXE 客户端发送UDP广播请求 PXE 客户端从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络

[转贴]CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群

CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群 http://blog.51cto.com/10880347/2326146 一.概述 kubernetes 1.13 已发布,这是 2018 年年内第四次也是最后一次发布新版本.Kubernetes 1.13 是迄今为止发布间隔最短的版本之一(与上一版本间隔十周),主要关注 Kubernetes 的稳定性与可扩展性,其中存储与集群生命周期相关的三项主要功能已逐步实现普遍可用性. Kubernetes 1.13 的核心

一次在CentOS7上安装部署Zabbix3.0版本及快速进行基本配置的实例

Zabbix3.0的安装.部署.配置,必须基于LAMP环境或是是LNMP环境. 关于LAMP环境的简单快速搭建,见博客:http://afterdawn.blog.51cto.com/7503144/1923139 注意:以下步骤都是在LAMP配置之后进行的. 本文不会再对zabbix-server和zabbix-agent理论知识再进行介绍,建议看完http://afterdawn.blog.51cto.com/7503144/1922502再进行zabbix实战. Zabbix3.0对软硬件

Kubernetes 部署 Nebula 图数据库集群

Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署,规划,更新,维护的一种机制.Kubernetes 在设计结构上定义了一系列的构建模块,其目的是为了提供一个可以部署.维护和扩展应用程序的机制,组成 Kubernetes 的组件设计概念为松耦合和可扩展的,这样可以使之满足多种不同的工作负载.可扩展性在很大程度上由 Kubernetes API

基于docker、kubernetes部署openstack到atomic系统上

声明: 本人阅读笔记,翻译类文章仅作意译.如有不对之处,请指出. 需要更本源的理解,请自行阅读英文. 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 新浪微博:寻觅神迹 内容系本人学习.研究和总结,如有雷同,实属荣幸! 基于docker.kubernetes部署openstack到atomic系统上 openstack的服务定义,是不是看起来很简洁? openstack的实际组件构成,是不是看起来很复杂? 所有的openstack

Linux下的mysql两大实战:部署Ucenter和Ucenter-home论坛

Linux下的mysql两大实战:部署Ucenter和Ucenter-home论坛 实验目标 实战:搭建Ucenter论坛 搭建Ucenter-home网站 实验环境 LAMP环境搭建 服务端:xuegod63.cn   IP:192.168.1.63 客户端:xuegod64.cn   IP:192.168.1.64 实验步骤   ---搭建LAMP环境部署Ucenter和Ucenter-home网站,搭建一个类人人网的社交网站      实验概述 UCenter 用户中心,实现用户的统一登录

[系统集成] 基于Kubernetes 部署 jenkins 并动态分配资源

基于kubernetes 部署 jenkins master 比较简单,难点是为 jenkins 动态分配资源.基于kubernetes 为 jenkins 动态分配资源需要实现下述功能: 资源分配:jenkins 根据任务属性自动创建临时 docker 容器,并作为 slave 节点加入 jenkins 集群,实现资源的分配: 资源释放:任务执行结束后,jenkins 自动删除相关节点,并销毁相关 docker 容器,实现资源的释放: 整个资源分配和资源释放过程对用户来说是透明的,用户只需要创

在线培训 | Kubernetes部署与使用入门

容器技术凭借其轻量化和快速部署的特性,被越来越多企业开发者赞誉,近两年来发展态势可谓炙手可热. 去年一年,Kubernetes的流行度持续快速上升,我们有理由相信在不远的未来,Kubernetes将成为通用的基础设施标准. 开源的全栈化企业级容器管理平台Rancher,凭借优异的基础设施服务管理能力和强大的容器协调能力,让用户在生产环境中的容器部署.运行与管理工作变得更加简单.加上Rancher创造性的纳管来自不同基础架构的Kubernetes集群的能力,为企业在生产环境落地Docker与Kub

CentOS7搭建Kubernetes dashboard

CentOS7搭建Kubernetes dashboard一 环境声明Centos7三台,master节点一台,node节点两台Dashboard需要一个镜像,需要执行命令下载:docker pull mritd/kubernetes-dashboard-amd64:v1.5.1ps:还有很多其他的镜像也能搭建dashboard,不过这个版本是汉化版 注意:两个node节点都需要下载此镜像,master节点不用,因为dashboard的pod会被master调度到两台node之一去创建,不会在m