自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 十七、kubernetes 高可用集群搭建 v1.19

1、概述Kubernetes 作为容器集群系统,通过健康检查+重启策略实现了 Pod 故障自我修复能力, 通过调度算法实现将 Pod 分布式部署,监控其预期副本数,并根据 Node 失效状态自动在正 常 Node 启动 Pod,实现了应用层的高可用性。针对 Kubernetes 集群,高可用性还应包含以下两个层面的考虑:Etcd 数据库的高可用性 和 Kubernetes Master 组件的高可用性。 而 Etcd 我们已经采用 3 个节点组建集群实现高 可用,本节将对 Master 节点高可用进行说

2021-05-27 17:47:10 676 1

原创 十六、kubernetes-部署性能监控平台

1. 概述开源软件 cAdvisor(Container Advisor)用于监控所在节点的容器运行状态,当前已经 被默认集成到 kubelet 组件内,默认使用 tcp 4194 端口。在大规模容器集群,一般使用 prometheus+Granfana 平台实现集群性能数据的采集,存储与展示。2. 监控平台搭建方案prometheus+Granfanaprometheus:一套开源可以做到监控、报警、数据库以http协议周期性抓取被监控的组件的状态。不需要复杂的集成过程,使用http接口接入就可以

2021-05-22 16:20:38 341

原创 十五、kubernetes 核心技术-Helm

helm引入之前方式部署应用基本过程使用helm可以解决哪些问题?使用helm可以把这些yaml作为一个整体管理实现yaml高效复用使用helm应用级别的版本管理Helm介绍Helm是一个Kubernetes的包管理工具,就像Linux中的yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上Helm三个重要概念helm:是一个命令行客户端工具Chart:把yaml打包,yaml集合Release:基于chart部署实体,应用级别的版本管理

2021-05-22 16:07:11 375

原创 十四、kubernetes 核心技术-Ingress

1. Ingress 介绍Ingress能把Service(Kubernetes的服务)配置成外网能够访问的URL,流量负载均衡,终止SSL,提供于域名访问的虚拟主机等,用户通过访问URL(API资源服务的形式,例如:caas.one/kibana)进入和请求Service,一个Ingress控制器负责处理所有Ingress的请求流量,它通常是一个负载均衡器,它也可以设置在边界路由器上,或者由额外的前端来帮助处理HA方式的流量。Kubernetes暴露服务的方式目前只有三种:1.LoadBlanc

2021-05-22 16:03:52 1224 1

原创 十三、kubernetes 核心技术Service

1. service存在意义Service是Kubernetes里最核心的资源对象之一,Service定义了一个服务的访问入口地址,前端的应用(Pod)通过这个入口地址访问其背后的一组由Pod副本组成的集群实力。 Service与其后端Pod副本集群之间则是通过Label Selector来实现"无缝对接"。而RC的作用实际上是保证Service 的服务能力和服务质量处于预期的标准。防止Pod失联(服务发现)定义一组Pod访问策略(负载均衡)2. Pod和Service关系(虚拟I

2021-05-22 15:57:28 259

原创 十二、kubernetes 核心技术configMap

1. ConfigMap 介绍在Kubernetes 1.2中新添加了功能ConfigMap,主要功能是为了解决应用程序会从配置文件、环境变量中获取配置信息。注意: ConfigMap不是属性配置文件的代替品,ConfigMap只是作为多个properties文件的引用。场景: 配置文件2. ConfigMap 项目演示(配置文件)configmap主要还是方便处理非敏感的数据,比如注册中心地址、数据库地址、nginx地址等。像密码之类需要加密的还是需要使用secrets来进行管理下方y

2021-05-22 15:52:07 149

原创 十一、kubernetes 核心技术-Secret

1. Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露 到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用2. Secret 有三种类型Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂 载到Pod的/run/secrets/kubernetes.io/serviceaccount 目录中Opaque : base6

2021-05-22 15:49:42 198

原创 十、kubernetes Job和CronJob

1、首先介绍一下job和cronjob在Kubernetes集群提供了Job和CronJob两种资源对象Job负责处理任务,即仅执行一次的任务,它保障批处理任务的一个或多个Pod成功结束CronJob则就是在Job上加上了时间调度1、Job演示# 这里使用job资源对象创建一个任务,用于倒计时apiVersion: batch/v1kind: Jobmetadata: name: job-demospec: template: metadata: name:

2021-05-16 23:56:50 242

原创 九、kubernetes 核心技术-DaemonSet(守护进程)

1、 DaemonSet特点在每个node上运行一个Pod,新加入的node也同2、适用场景集群存储守护程序,如glusterd、ceph要部署在每个节点上提供持久性存储节点监视守护进程,如prometheus监控集群,可以在每个节点上运行一个node-exporter进程来收集监控节点的信息日志收集守护程序,如fluentd或logstash,在每个节点运行容器3、DaemonSet Pods调度特性默认情况下,Pod被分配到具体哪一台Node节点运行是由Scheduler (它通过监听

2021-05-16 23:54:31 238

原创 八、kubernetes 核心技术-Controller(StatefulSet)

1、无状态和有状态区别无状态:认为Pod都是一样的部署没有顺序要求不用考虑在哪个node运行随意进行伸缩和扩展(StatefulSet)有状态:无状态的因素有需要考虑到让每个Pod独立,保持Pod启动顺序和唯一性唯一的网络标识符,持久存续有序部署,比如Mysql主从2、 部署有状态应用无头ServiceClusterIP: none(1) 实例演示apiVersion: v1kind: Servicemetadata: name: web01

2021-05-16 23:52:26 191

原创 七、 kubernetes 核心技术-PVC 和 PV

数据卷emptydir,是本地存储,Pod重启,数据不存在了,需要对数据持久化存储1、基本概念管理存储是管理计算的一个明显问题。该 PersistentVolume 子系统为用户和管理员提供了 一个 API,用于抽象如何根据消费方式提供存储的详细信息。为此,我们引入了两个新的 API 资源:PersistentVolume 和 PersistentVolumeClaimPersistentVolume(PV):持久化存储,存储资源进行抽象,对外提供可以调用的地方(生产者)。 此 API 对象捕获存储实

2021-05-16 23:45:06 171

原创 六、kubernetes 核心技术-Controller(Deployment)

1、Deployment控制器应用场景部署无状态应用管理Pod和ReplicaSet部署,滚动升级弹性伸缩等功能2、Deployment控制器部署应用2.1 应用部署(1) 导出yaml文件kubectl create deployment web01 --image=nginx --dry-run -o yaml > web01.yaml (2) 使用yaml部署应用kubectl apply -f web01.yaml(3) 查看容器是否为runningkubect

2021-05-16 23:38:37 199

原创 五、kubernetes 核心技术-Controller 控制器介绍

1、Replication ControllerReplication Controller(RC)是 Kubernetes 系统中核心概念之一,当我们定义了一个 RC 并提交到 Kubernetes 集群中以后,Master 节点上的 Controller Manager 组件就得到通知, 定期检查系统中存活的 Pod,并确保目标 Pod 实例的数量刚好等于 RC 的预期值,如果有过 多或过少的 Pod 运行,系统就会停掉或创建一些 Pod.此外我们也可以通过修改 RC 的副本 数量,来实现 Pod 的

2021-05-16 23:29:51 269

原创 四、kubernetes 核心技术-Pod

1、Pod 概述最小部署的单元包含多个容器(一组容器的集合)一个pod中的容器共享网络命名空间pod是短暂的2、Pod 特性(1)资源共享一个 Pod 里的多个容器可以共享存储和网络,可以看作一个逻辑的主机。共享的如 namespace,cgroups 或者其他的隔离资源。多个容器共享同一 network namespace,由此在一个 Pod 里的多个容器共享 Pod 的 IP 和 端口 namespace,所以一个 Pod 内的多个容器之间可以通过 localhost 来进行通信,所

2021-05-16 23:24:39 266

原创 三、kubernetes 集群 YAML 文件详解

1. 简单说明是一个可读性高,用来表大数据列的格式。Yaml的意思其实是:仍是一种标记语言,但是为了强调这种语言以数据为中心。而不是以标记语言为重点。2. 基本语法缩进时不允许使用Tab键,只允许使用空格缩进时空格数目不重要,只要相同层级的元素左侧对齐即可#标识注释,从这个字节一直到行尾,都会被解释器忽略使用—表示新的yaml文件开始3. YAML支持的数据结构对象:键值对的集合,又称为映射(mapping)、哈希(hashes)/字典(dictionary)数组:一组按次序排列

2021-05-16 22:52:39 867

原创 二、kubernetes 集群搭建v1.18(kubeadm 方式)

1. 准备环境本次部署采用Centos 7.9系统,cpu最小>2核主机名IPmemk8s-master01192.168.10.33Gk8s-node01192.168.10.44Gk8s-node02192.168.10.54G1.1 修改hostname主机名并添加hosts解析hostnamectl set-hostname k8s-master01hostnamectl set-hostname k8s-node01hostnam

2021-05-16 22:45:24 280 1

原创 一、kubernetes 概念

1. k8s 概述k8s是谷歌在2014年开业的容器集群化管理系统使用k8s进行容器应用部署使用k8s利用应用扩展k8s目标实施让部署容器化应用更加简洁和高效2. k8s 特性自动装箱基于容器对应用环境的资源配置要求自动部署应用容器自我修复(自愈修复)水平扩展(弹性伸缩)服务发现滚动升级版本回退密钥和配置管理存储编排批处理3. k8s集群架构组件master组件apiserver:集群统一入口,以restful方式,交给etcd存储seheduler

2021-05-16 22:18:33 146

原创 Zabbix 地址Ping检测告警

随便添加个主机创建监控项于触发器配置示例如下。第一步,创建触发器icmpping[<target>,<packets>,<interval>,<size>,<timeout>] 返回值为0表示ping失败,返回值为1表示可以ping通target:被监控主机名或ip地址packets:数据包的数量interval:两个连续数据包发送的时间间隔,以毫秒为单位size:包的大小,以字节为单位timeout:超时时间,以毫秒为单位

2021-05-05 16:44:23 1728

原创 CentOS 7.6 内网穿透服务lanproxy部署

在很多场景下内网穿透都是我们常常遇到的需求,之前也用过花生壳、ngrok、FRP 等等一些工具,但是由于限速、收费、安全各方面因素只好放弃了。近期无意间看到 「传送门:lanproxy」 这款开源工具,正好刚免费购置了一台华为云主机服务器,正好可以实现内网穿透。一、概述1、什么是内网穿透服务内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。2、什么是lanproxylanproxy 是一个将局域网个人电脑、服务器代理到公网

2021-04-01 13:34:59 787 5

原创 2. kvm虚拟化管理平台WebVirtMgr部署

WebVirtMgr特点操作简单,易于使用通过libvirt的API接口对kvm进行管理提供对虚拟机生命周期管理WebVirtMgr 功能宿主机管理支持以下功能CPU利用率内存利用率网络资源池管理存储资源池管理虚拟机镜像虚拟机克隆快照管理日志管理虚机迁移虚拟机管理支持以下功能CPU利用率内存利用率光盘管理关/开/暂停虚拟机安装虚拟机VNC console连接创建快照开始部署一、基础环境#配置yum源wget -O /etc/yu..

2021-03-31 22:09:23 520 2

原创 解决ceph dashboard无法访问

解决ceph dashboard无法访问查看当前dashboard落在那个节点中。[root@ceph02 ~]# ceph mgr services{ "dashboard": "https://ceph02:8443/"}在ceph02中重启dashboard (落在那个节点在那个节点重启)[root@ceph02 ~]# ceph mgr module disable dashboard[root@ceph02 ~]# ceph mgr module enable d

2021-02-18 16:26:54 3341 1

原创 12. Nginx 项目必配

目录Nginx 项目必配1.禁止ip地址访问,只允许域名访问1.1 接收到ip访问或者指定域名访问时,返回500错误1.2 可以将流量集中导入到自己的网站,只要做一下跳转设置就可以2.Include 包含文件3.alias与root路径匹配(虚拟目录)4.error_page 自定义报错提示信息5.Try_file路径匹配,按顺序交叉文件是否存在Nginx 项目必配1.禁止ip地址访问,只允许域名访问1.1 接收到ip访问或者指定域名访问时,返回500错误server { listen 80;

2021-02-09 14:40:41 184

原创 11. Nginx HTTPS

Nginx HTTPSHTTPS基本概念1.SSL安全套接层认证用户和服务器,确保数据发送到正确的客户机和服务器加密数据以防止数据中途窃取维护数据的完整性,确保数据在传过程中不被改变2.HTTPS​ 使用SSL来实现安全的通信3.证书证书用于保证密钥的合法性证书的主体可以使用户、计算机、服务等证书格式遵循X.509标准数字证书包含信息使用者的公钥值使用者标识信息(如名称和电子邮件地址)有限期(整数的有效时间)颁发者标识信息颁发者的数字签名数

2021-02-09 14:40:23 419

原创 10. Nginx Rewrite(重定向)

目录Nginx Rewrite(重定向)1.什么是rewrite2.Rewrite使用场景3.Rewrite配置语法4.常用正则表达式5.Rewrite 标记Flag6.引用Nginx的全局变量7.Rewrite匹配优先级8.开启Nginx的Rewrite 日志功能9.案例案例一:案例二:配置优化一:配置优化二:案例三:案例四:案例五:案例六:Nginx Rewrite(重定向)1.什么是rewriteRewrite及URL重写,主要是实现地址重写,以及重定向,就是把输入Web的请求重定向到其他URL

2021-02-09 14:40:01 383

原创 9. Nginx负载均衡

目录Nginx负载均衡1.Nginx负载均衡按层划分1.2负载均衡按层划分应用场景:1.2.1.四层负载均衡1.2.2.七层负载均衡2.Nginx负载均衡配置场景3.Nginx upstream配置语法4.环境规划实验7层4.1.web1配置4.2.web02配置4.3.LB01 配置4.4.验证5.Nginx负载均衡后端服务器状态测试案例:6.Nginx负载均衡调度算法7.配置四层负载均衡Nginx负载均衡web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用WEB服务器集群,

2021-02-09 14:39:49 202 3

原创 8. Nginx代理

目录Nginx代理1.代理的概念2.代理的实现方式3.代理配置参数3.1.添加发往后端服务器的请求头信息3.2.代理到后端的TCP连接、响应等超时时间3.3.proxy_buffer代理缓存区3.4.proxy代理网站常用配置如下,将配置写入新文件,调用使用include引用即可4.实际操作5.排错Nginx代理1.代理的概念​ 中介、中间人2.代理的实现方式​ 正向代理​ 内网到公网​ 反向代理​ 外网到内网nginx作为代理服务器可以实现很多协议的代理,如http、IMAP\

2021-02-09 14:39:29 195

原创 解决ESXi6 ISCSi后端ceph存储LUN空间无法释放

默认情况下ESXi6.5以下的版本是不支持前端数据删除,后端ceph-iscsi LUN容量自动释放的。必须再esxi shell终端(任何连接该ceph存储的esxi都可以)中执行该命令[root@esxi1:~] esxcli storage vmfs unmap -l 存储器名称该命令执行时间过长属于正常现象。...

2021-02-09 14:37:22 1138 1

原创 7. Nginx基础模块-虚拟站点+Location

目录1 Nginx虚拟站点1.1 实现虚拟主机的方式2 Nginx Location2.1 Location语法优先级排列2.2 配置网站验证location优先级2.3 Location 应用场景1 Nginx虚拟站点环境:在一台服务器上实现多个站点1.1 实现虚拟主机的方式基于IP:不同的IP基于端口:相同IP,不同的端口基于域名:相同的IP,相同的端口,不同的域名基于域名:相同的IP,相同的端口,不同的域名charset utf-8;server { listen

2021-02-08 23:22:50 283

原创 6. Nginx基础模块-Nginx日志配置

目录1 Nginx日志配置1.1 log_format指令1.2 默认nginx定义语法1.3 access_log使用方法1 Nginx日志配置ELK Nginx Java json192.168.104.143 - - [20/Jan/2020:13:58:02 +0800] "GET /%E8%85%BE%E8%AE%AF%E9%A6%96%E9%A1%B5_files/default_b.png HTTP/1.1" 200 10392 "http://192.168.101.82/" "M

2021-02-08 23:21:00 190

原创 5. Nginx基础模块-Nginx访问限制

目录1 Nginx访问限制1.1 Nginx连接限制语法1.2 代码使用方法Nginx 连接限制实践Nginx请求限制实战1.3 压力测试1 Nginx访问限制经常会遇到这种情况,服务器流量异常,负载过大等等,对于流量恶意的攻击访问,会带来带宽的浪费,服务器压力,影响业务,往往考虑到对同一个ip的连接数,并发数进行限制。ngx_http_limit_conn_module模块可以根据一定的key来限制每个键值的连接数,如同一个IP来源的连接数limit_conn_module 连接频率限制limi

2021-02-08 23:18:57 163

原创 4. Nginx基础模块-Nginx访问控制

目录1 Nginx访问控制1.1 Nginx基于ip访问控制1.1.1 允许配置语法1.1.2 拒绝配置语法1.1.3 代码使用方法1.1.4 测试2.1 基于用户认证的访问2.1.1 配置语法2.1.2需要安装依赖组建2.1.3 代码使用方法2.1.4 测试1 Nginx访问控制基于ip的访问控制 http_access_module模块基于用户登录认证 http_auth_basic_module模块1.1 Nginx基于ip访问控制使用模块 http_access_module1.1.1

2021-02-08 23:17:28 122

原创 3. Nginx基础模块-状态监控status

目录1 Nginx状态监控status1.1 语法1.2 代码使用方法1.3 测试1 Nginx状态监控status该ngx_http_stub_status_module模块提供对基本状态信息的访问。http_stub_status_module模块1.1 语法Syntax:stub_statusDefault:—Context:server, location1.2 代码使用方法vim /etc/nginx/conf.d/default.conflocat

2021-02-08 23:13:45 232

原创 2. Nginx基础模块-目录索引

目录Nginx基础模块1.Nginx目录索引1.1 语法1.2 autoindex常用参数1.3 代码使用方法Nginx基础模块官方帮助信息1.Nginx目录索引http_autoindex_module模块1.1 语法默认是不允许列出整个目录浏览下载syntax: autoindex on | off;Default: autoindex off;Contxte: http,server,location1.2 autoindex常用参数autoindex_exact_size

2021-02-08 23:12:20 261

原创 1. Nginx基本概述与部署

目录1. 常见的http web服务2. 为什么选择Nginx3.Nginx部署3.1.Nginx安装方式:3.2.安装Nginx 1.16.1(yum)3.2.1 配置官方Nginx官方yum源3.2.2 查看安装源3.2.3 安装Nginx3.2.4 Nginx配置文件3.3 问题:安装问题3.4.安装nginx 1.16.0(源代码)3.4.1 官方下载tar包:http://nginx.org/3.4.2 解压软件包3.4.3 https依赖于加密池3.4.4 编译安装4.Nginx配置文件.c

2021-02-08 23:06:16 225 1

原创 3. vCenter--虚拟机热迁移配置

一、创建ESXi的vMotion网络用于连接vCenter,与共享存储 (两台ESXi都要操作)1、通过 VMware VMotion,您可以:在零停机、用户毫无察觉的情况下执行实时迁移。持续地自动优化资源池中的虚拟机。在无需安排停机、不中断业务运营的情况下执行硬件维护。主动将虚拟机从发生故障或性能不佳的服务器中移出。2、 运行vMotion的兼容性要求:不允许连接只能单台ESXi主机才能识别的设备,如光驱、软驱等。不允许连接没有物理网络的虚拟交换机。迁移的虚拟机必须存放在外部共享存

2021-02-08 22:57:46 3351

原创 2. Vmware vCenter部署

Vmware vCenter 6.0 部署一、vCenter 介绍vCenter 是ESXi主机、虚拟机的管理工具。ESXi集群架构,虚拟机之间的容灾迁移等功能都是通过vCenter来实现的。 vCenter有Linux版称为vCenter Server Appliance、Windows版称为vCenter。s二、镜像包下载包名VMware-VCSA-all-6.0.0-3634788.iso#1.我已经将VMware相关镜像包放入到百度网盘中链接:https://pan.baidu.com/

2021-02-08 22:52:05 2148

原创 处理ceph-deploy mon create-initial报错

ceph初始monitor(s)报错解决执行ceph-deploy mon create-initial报错部分内容如下:[ceph2][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory[ceph2][WARNIN] monitor: mon.ceph2, might not be running yet[ceph2][INFO ] Running co

2021-02-08 22:11:23 5358 1

原创 9. 解决Ceph osd硬盘故障恢复

目前ceph集群中有1个损坏的osd磁盘,磁盘做的是RAID 0 本次将展示如何进行osd故障恢复。操作流程更换故障盘由于硬盘做的是raid 0更换硬盘后必须重做该盘的RAID 0。从ceph集群中删除有故障的osd硬盘。在ceph集群中添加新的osd硬盘。先查看osd状态。ceph osd df 1、更换故障盘此时查看osd状态 主机ceph01中osd.2故障,经尝试重启该osd进程仍失败。2、由于硬盘做的是RAID 0更换硬盘后必须重做将该盘的RAID 0。2.1、重

2021-02-05 16:58:58 1013

原创 6. Ceph之ISCSI Gateway 部署

6. Ceph之ISCSI Gateway 部署启用iscsi gateway需要满足以下条件:正在运行的Ceph Luminous(12.2.x)集群或更高版本CentOS 7.5(或更高版本);Linux内核v4.16(或更高版本)该ceph-iscsi软件包安装在所有iSCSI网关节点上如果Ceph iSCSI网关未位于OSD节点上,则将位于中的Ceph配置文件/etc/ceph/从存储集群中正在运行的Ceph节点复制到iSCSI Gateway节点。Ceph配置文件必须存在于iSCSI网

2021-02-01 22:44:03 1456

原创 2. MySQL 管理员密码忘记如何解决?

MySQL 管理员密码忘记如何解决?1.#关闭数据库[root@db01 ~]# /etc/init.d/mysqld stopShutting down MySQL.. SUCCESS! 2.#启动数据库到维护模式[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &3.#登录并修改密码[root@db01 ~]#mysql mysql> flush privileges;mysql>

2021-01-10 22:13:13 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除