存储基础
基础知识 --- 存储方式介绍 --- 直连附加存储(DAS) 定义:DAS 指Direct Attached Storage,即直连附加存储,可以理解为本地文件系统。这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见的硬盘,U盘等,这种设备很难做到共享。 特点:DAS 购置成本低,配置简单,使用过程和使用本机硬盘并无太大差别,对于服务器的要求仅仅是一个外接的<font style="background-color:rgba(255, 255, 255, 0);">SCSI</font>口,因此对于小型企业很有吸引力。 缺点: (1) 数据备份操作复杂。 (2) 服务器本身容易成为系统瓶颈。 (3) 服务器发生故障,数据不可访问。 (4) 对于存在多个服务器的系统来说,设备分散,不便管理。 网络附加存储(NAS) 定义:NAS指Network Area...
分布式存储
分布式文件系统 --- 介绍 分布式文件系统(Distributed File...
存储类型
块存储 --- 块存储是一种低级别的数据存储方式,它将数据分成固定大小的块,每个块都有独立的地址。块存储通常用于需要快速读写数据的场景,如数据库、虚拟机磁盘和操作系统磁盘。 如图所示,如果我们通过 web01 服务器往存储设备里面写入数据,写入存储设备的数据会先通过 web01 的缓冲区。 如果数据存储在 web01 缓冲区的这个时间段,web02 服务器需要访问 web01 写入的数据,这个时候 web02 服务器的本地缓存、本地硬盘和存储设备的硬盘都没有 web01 写入的数据,这就会出现数据不一致的问题。 特点 + 提供类似硬盘的存储结构,应用程序可以直接读取和写入存储块。 + 高性能,适用于需要快速访问数据的应用。 + 块级存储系统允许多种文件系统(如EXT4、NTFS等)来管理数据。 + 一般通过网络或专用存储硬件提供(如iSCSI、Fibre Channel等)。 应用场景 + 数据库存储(高性能要求的数据库)。 + 虚拟化环境中虚拟机的磁盘。 +...
kubeadm高可用部署
高可用架构方案 --- 高可用架构说明 --- 核心组件 高可用模式 高可用实现方式 apiserver 主备 keepalived controller-manager 主备 leader election scheduler 主备 leader election etcd 集群 kubeadm apiserver 通过haproxy+keepalived实现高可用,当某个节点故障时触发keepalived vip 转移; controller-manager k8s内部通过选举方式产生领导者(由–leader-elect 选型控制,默认为true),同一时刻集群内只有一个controller-manager组件运行; scheduler k8s内部通过选举方式产生领导者(由–leader-elect 选型控制,默认为true),同一时刻集群内只有一个scheduler组件运行; etcd...
部署Harbor私有镜像仓库
部署harbor --- 下载软件包 --- 安装docker 安装docker-compose 下载harbor离线安装包github仓库软件包下载地址 12[root@opt ~]# wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-offline-installer-v2.11.1.tgz[root@opt ~]# tar -xvf harbor-offline-installer-v2.11.1.tgz http方式 --- 复制配置文件并修改 1234567891011121314151617[root@harbor ~]# cp harbor.yml.tmpl harbor.yml[root@harbor ~]# vim harbor.yml# 设置域名hostname: harbor.local.com# 注释https相关配置# http related confighttp: # port for http, default is 80. If...
配置环境(RHEL)
如果操作系统环境为CentOS、Red Hat、Rocky Linux、Alma Linux、Fedora等RHEL系列操作系统,使用以下步骤操作。 基础环境配置(所有节点) --- 修改主机名与hosts文件 --- 1234567[root@k8s-master ~]# hostnamectl set-hostname k8s-master[root@k8s-master ~]# vim /etc/hosts192.168.10.10 k8s-master192.168.10.11 k8s-work1192.168.10.12 k8s-work2192.168.10.15 k8s-harbor 验证mac地址uuid --- 保证各节点mac和uuid唯一,避免克隆虚拟机后uuid一致导致加入集群异常。 12[root@k8s-master ~]# cat /sys/class/net/ens160/address [root@k8s-master ~]# cat /sys/class/dmi/id/product_uuid...
部署calico网络组件
flannel和calico部署其中一个即可,如果要部署calico的话,先卸载flannel。 一、Calico官网: --- https://docs.projectcalico.org/v3.10/getting-started/kubernetes/installation/flannel 不同的k8s版本对应不同的calico版本,详情查看文档:https://projectcalico.docs.tigera.io/archive/v3.23/getting-started/kubernetes/requirements 二、安装部署 --- 1. 下载calico的canal插件: --- <font style="background-color:rgba(255, 255, 255, 0);"># wget https://docs.projectcalico.org/manifests/canal.yaml</font> 如果使用的是pod cidr...
部署metrics监控组件
一、metrics-server(HPA使用) --- 1. 版本说明 --- github地址 2. Aggregator开启 --- 这个是k8s在1.7的新特性,如果是1.16版本的可以不用添加,1.17以后要添加。这个参数的作用是Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API。 查询是否开启: master机器:ps -ef |grep apiserver|grep ‘enable-aggregator-routing=true’ 开启方法:要在master机器上执行 1234567vim /etc/kubernetes/manifests/kube-apiserver.yaml- command: - kube-apiserver ………… - --enable-aggregator-routing=true //加入这一行# 保存后apiserver会自动重启 3. 部署 --- 下载yaml文件 1wget...
部署Redis数据库
安装Redis --- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263# 添加repo[root@k8s-master ~]# helm repo add bitnami https://charts.bitnami.com/bitnami# 更新repo仓库资源[root@k8s-master ~]# helm repo update# 拉取helm包[root@k8s-master ~]# helm pull bitnami/redis-cluster --untar# 修改配置[root@k8s-master ~]# cd redis-cluster/[root@k8s-master redis-cluster]# vim values.yaml global: storageClass: "nfs" redis: password:...
部署Prometheus监控
如果已安装metrics-server需要先卸载,否则冲突 组件说明 --- MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等。 PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据。 NodeExporter:用于各node的关键度量指标状态数据。 KubeStateMetrics:收集kubernetes集群内资源对象数据,制定告警规则。 Prometheus:采用pull方式收集apiserver,scheduler,controller-manager,kubelet组件数据,通过http协议传输。 Grafana:是可视化数据统计和监控平台。 安装部署 --- 项目地址:https://github.com/prometheus-operator/kube-prometheus 克隆项目至本地 --- 1git clone...