使用Rook在Kubernetes上部署Ceph集群

一、简介 在本文中,我们将使用Rook在Kubernetes集群中设置Ceph存储。然后使用Ceph的块存储来持久存储MongoDB数据库的数据。 完成后,您将了解什么是Rook以及如何使用它来部署Ceph。您还将了解如何使用Rook在Kubernetes中部署其他一些存储后端。 二、……

阅读全文

使用RKE部署Kubernetes集群

使用RKE部署Kubernetes集群 一、简介 Rancher Kubernetes Engine(RKE)是一个用Golang编写的Kubernetes安装程序,相对于其它的工具来说,更加简单易用和上手。 二、主机规划 主机名称 系统镜像 IP 配置 角色 rancher-master ubuntu18.04 192.168.0.26 4C8G50G controlplane,etcd rancher-node1 ubuntu18.04 192.168.0.27 8C16G50G node rancher-node2 ubuntu18.04 192.168.0.28 8C16G50G node 三、环境准备 2.1 使用国内源 1sed -i 's/nova.clouds.archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list 2apt update 2.2 配置……

阅读全文

使用ceph-ansible部署Ceph集群

使用ceph-ansible部署Ceph集群 一、主机规划 主机 系统 IP 配置 ceph-node1 centos7.7 10.10.10.50 4C8G50G+100G ceph-node2 centos7.7 10.10.10.51 4C8G50G+100G ceph-node3 centos7.7 10.10.10.52 4C8G50G+100G 二、安装python3 1# 安装epel源 2yum -y install epel-release 3 4# 使用国内epel源 5sed -e 's!^metalink=!#metalink=!g' \ 6 -e 's!^#baseurl=!baseurl=!g' \ 7 -e 's!//download\.fedoraproject\.org/pub!//mirrors.tuna.tsinghua.edu.cn!g' \ 8 -e 's!http://mirrors\.tuna!https://mirrors.tuna!g' \ 9 -i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo 10 11yum -y install python36 三、下载代码 stable-3.0分支支持的Ceph版本为jewel和……

阅读全文

备份Kubernetes资源清单文件脚本

脚本文件 dump_yaml_by_namespace.sh 1#!/bin/bash 2 3# 作用: 4# 备份指定namespace下的kubernetes资源清单文件 5 6# ===== 变量定义 ===== 7namespace=$1 8manifests=${2:-manifests} 9today=$(date +%Y%m%d) 10 11# ===== 函数定义部分 ===== 12# 红色终端显示 13function red() { 14 local body=$1 15 echo -e "\033[31m${body}\033[0m" 16} 17 18# 绿色终端显示 19function green() { 20 local body=$1 21 echo -e "\033[32m${body}\033[0m" 22} 23 24# 导出yaml格式的文件 25function dump_to_yaml() { 26 local type=$1 27 green "get ${namespace}${type}." 28 for i in $(kubectl get ${type} -n ${namespace} 2>/dev/null | awk '{if(NR!=1) print $1}');……

阅读全文

使用 Ceph RBD 作为K8s后端动态存储

使用 Ceph RBD 作为K8s后端动态存储 一、Kubernetes信息 主机 系统 IP Kubernetes版本 master1 CentOS7.8.2003 192.168.0.14 v1.16.6 master2 CentOS7.8.2003 192.168.0.15 v1.16.6 master3 CentOS7.8.2003 192.168.0.16 v1.16.6 node1 CentOS7.8.2003 192.168.0.18 v1.16.6 node2 CentOS7.8.2003 192.168.0.19 v1.16.6 node3 CentOS7.8.2003 192.168.0.20 v1.16.6 二、创建存储池 使用默认的rbd池也是可以的,但是不推荐使用 在ceph管理或监控节点上创建一个新的动态卷: 1# 创建存储池 2ceph osd pool create kube 128 128 3pool 'kube' created 4 5#……

阅读全文

Ceph-12.2.13(luminous)安装

Ceph-12.2.13(luminous)安装 一、主机规划 主机名称 系统 IP 配置 ceph-node1 CentOS7.8.2003 10.10.10.47 8C16G50G+200G ceph-node2 CentOS7.8.2003 10.10.10.48 8C16G50G+200G ceph-node3 CentOS7.8.2003 10.10.10.49 8C16G50G+200G 磁盘规划 50G系统盘,200G磁盘为OSD 二、环境准备 2.1 关闭防火墙 在所有节点执行 1# 禁用selinux 2setenforce 0 3sed -i s'/SELINUX=enforcing/SELINUX=disabled'/g /etc/selinux/config 4 5# 关闭防火墙 6systemctl disable --now firewalld 2.2 修改hosts 1cat > /etc/hosts <<EOF 2127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 3::1 localhost localhost.localdomain localhost6 localhost6.localdomain6……

阅读全文

Redis高可用之redis-cluster集群

简介 Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。 其结构特点: 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。 节点的fail是通过集群中超过半数的节点检测失效时才生效。 客户端与……

阅读全文

Redis高可用之哨兵模式

Redis主从复制 概念 主从复制模型中,有多个redis节点。 其中,有且仅有一个为主节点Master。从节点Slave可以有多个。 只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步。 特点 主节点Master可读、可写. 从节点Slave只读。(read……

阅读全文

使用HAProxy+Pacemaker部署RabbitMQ高可用集群

环境准备 节点 IP VIP 角色 rabbit1 172.16.10.11 RabbitMQ rabbit2 172.16.10.12 RabbitMQ rabbit3 172.16.10.13 RabbitMQ lvs1 172.16.10.14 172.16.10.10 HAProxy,Pacemaker lvs2 172.16.10.15 HAProxy,Pacemaker 安装Rabbit MQ 简介 集群中的节点有两种,一种是内存节点,一种是磁盘节点; 内存节点由于没有磁盘读写,性能比磁盘节点要好,磁盘节点可以将状态持久化到磁盘,可用性比内存节点要好,需要权衡考虑。 配置hosts 1cat > /etc/hosts <<EOF 2127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 3::1 localhost localhost.localdomain localhost6……

阅读全文

Kubernetes 证书过期处理

背景 使用 kubeadm 安装的证书 除了 CA 证书是10年之外,其他证书的默认有效期为1年,当使用 kubeadm upgrade 进行升级时,证书会重新颁发。但有些场景比如内网环境,又没有升级,也没有使用 kubeadm alpha certs renew 重新续签导致。 错误信息 kubectl 执行报错 1kubectl get pods -o wide 2The connection to the server <apiserver_advertise_ip>:6443 was refused - did you specify the right host or port? kubelet 状态 1systemctl status kubelet 2● kubelet.service - kubelet: The Kubernetes Node Agent 3 Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled;……

阅读全文