Postgres主从流复制+pgpool高可用方案.docx
基于流复制协议的wal日志从主节点到备节点实时复制传输与复用。为了实现数据库的高可用,一般需要搭建主库和备库。流复制是搭建主备库的一种有效方式,它不需要额外增加软件,只需要单数据库模式的基础上,再复制一份PostgreSQL数据库到另外的一台机器上,对两台数据库进行参数配置,即可实现。这两套数据库之间的数据,通过wal日志,后台自动同步。对外部的应用程序而言,可以看作是两套数据库,需要根据业务需要,显式分别连接不同的数据库。
当用户连接进行数据操作,产生对应的WAL日志记录后,walwriter会周期性地把产生的WALpage刷新到磁盘中,如果配置了备库,则walsender会不断将WAL page发给备库的walreceiver进程,walreceiver进程会把对应WAL page直接写到本地磁盘,同时slave上的startup辅助进程会不断地应用xlog日志,改变本地数据,实现与主库之间的数据同步,而且,通过配置,备库是可以接受用户的只读请求。
kubeadm+vip 高可用部署.docx
为 apiserver 提供负载均衡器有很多方法,比如传统的 haproxy+keepalived,或者使用 nginx 代理也可以,这里我们使用一个比较新颖的工具 kube-vip。
kube-vip(https://kube-vip.io/) 可以在你的控制平面节点上提供一个 Kubernetes 原生的 HA 负载均衡,我们不需要再在外部设置 HAProxy 和 Keepalived 来实现集群的高可用了。
在以前我们在私有环境下创建 Kubernetes 集群时,我们需要准备一个硬件/软件的负载均衡器来创建多控制面集群,更多的情况下我们会选择使用 HAProxy + Keepalived 来实现这个功能。一般情况下我们创建2个负载均衡器的虚拟机,然后分配一个 VIP,然后使用 VIP 为负载均衡器提供服务,通过 VIP 将流量重定向到后端的某个 Kubernetes 控制器平面节点上。
Vsftp部署(匿名+系统用户+虚拟用户).docx
VSFTP(Very Secure FTP)是一个用于传输文件的FTP服务器软件。它是一个基于Unix/Linux系统的开源软件,提供了安全、稳定和高效的文件传输服务。
匿名用户登录:
匿名用户登录是指无需提供用户名和密码即可登录FTP服务器。
通常情况下,匿名用户只能访问FTP服务器上指定的公共目录,无法访问其他系统文件和目录。
匿名用户的权限通常是只读的,不能进行写操作。
系统用户登录:
系统用户登录是指使用操作系统的用户账户和密码进行登录FTP服务器。
系统用户可以访问FTP服务器上的所有文件和目录,具有与其在操作系统上相同的权限。
系统用户可以进行读写操作,并且可以在FTP服务器上执行其他与权限相关的操作。
虚拟用户登录:
虚拟用户登录是指使用与操作系统无关的虚拟账户和密码进行登录FTP服务器。
虚拟用户不需要在操作系统上存在,它们是在FTP服务器中单独管理的。
虚拟用户可以被分配到不同的权限组,具有不同的访问权限。
虚拟用户的权限可以独立于系统用户进行管理,提供了更加灵活和可控的权限管理方式。
基于Linux系统的sqlserver镜像模式(包含见证)
镜像基于数据库层面,仅适用于使用完整恢复模式的数据库,简单恢复模式和大容量日志恢复模式不支持数据库镜像。
数据库镜像通过数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境的另一个SQL Server数据库中来实现。镜像的拷贝是一个备用拷贝,一般情况下不能直接访问,只在主服务器出现错误时提供恢复,镜像服务器成为主服务器提供服务。如果需要访问镜像数据库,可以通过快照方式只读访问。
1、主体服务器,Principal:具有完整的数据副本,对外提供数据库读写服务,可以理解为主服务器。
2、镜像服务器,Mirror:具有完整的数据副本,本身不提供读写服务,通过接收来自Principal的更新日志实现数据同步,允许创建快照实现报表。
3、见证服务器,Witness:本身不存储数据,只负责在高安全运行模式下提供自动故障切换的能力,确保两个SQL Server实例只有一个对外提供服务,避免脑裂情况出现。
4、伙伴服务器,Partner:相对于镜像环境而言,镜像服务器就是主体服务器的伙伴服务器,而主体服务器也是镜像服务器的伙伴服务器。
基于Linux系统的sqlserver镜像模式(无见证)
镜像基于数据库层面,仅适用于使用完整恢复模式的数据库,简单恢复模式和大容量日志恢复模式不支持数据库镜像。
数据库镜像通过数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境的另一个SQL Server数据库中来实现。镜像的拷贝是一个备用拷贝,一般情况下不能直接访问,只在主服务器出现错误时提供恢复,镜像服务器成为主服务器提供服务。如果需要访问镜像数据库,可以通过快照方式只读访问。
相比SQL Server的MSCS群集对硬件的要求,SQL Server镜像服务是基于软件的高可用性解决方案。同SQL Server MSCS群集不同,SQL Server镜像服务主要特点如下:
1. 基于软件的高可用性解决方案,低硬件成本。
2. 快速的故障转移恢复,通常在10秒钟内转移。
3. 基于数据库级别实现,对单个数据库进行故障转移。
nginx-ingress 日志持久化
nginx-ingress-controller的日志
nginx-ingress-controller的日志包括三个部分:
controller日志: 输出到stdout,通过启动参数中的–log_dir可已配置输出到文件,重定向到文件后会自动轮转,但不会自动清理
accesslog:输出到stdout,通过nginx-configuration中的字段可以配置输出到哪个文件。输出到文件后不会自动轮转或清理
errorlog:输出到stderr,配置方式与accesslog类似。
给controller日志落盘
给nginx-ingress-controller挂一个hostpath: /data/log/nginx_ingress_controller/ 映射到容器里的/var/log/nginx_ingress_controller/ ,
给nginx-ingress-controller配置log-dir和logtostderr参数,将日志重定向到/var/log/nginx_ingress_controller/中。
controller的日志需要做定时清理。由于contr
linux 谷歌浏览器开机自启并全屏
要在Linux系统上安装Google Chrome浏览器并设置开机自动启动并打开默认指定页面,请按照以下步骤进行操作:
下载Google Chrome浏览器的安装包,你可以从Google的官方网站或者第三方下载站点上获取。
解压缩安装包并运行安装脚本。具体的命令将取决于你的Linux发行版和Chrome的版本。例如,在Ubuntu上,你可以使用以下命令安装Chrome:
mysql binlog日志恢复【亲测有效,有例子实测】
二进制日志(binnary log)以事件形式记录了对MySQL数据库执行更改的所有操作。
binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通用日志来查看MySQL执行过的所有语句。
需要注意的一点是,即便update操作没有造成数据变化,也是会记入binlog。
binlog有两个常用的使用场景:
主从复制:mysql replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
数据恢复:通过mysqlbinlog工具来恢复数据。
kubernetes 部署mysql主从
1、statefulset:使用statefulSet可以使得pod副本按照编号顺序进行启动,只需要把pod-0作为master就可以了
2、持久化保证数据不丢失:使用pv和pvc解决,通过pvc与pod的标签进行绑定,一个pod对应一个pvc就可以保证重启后的pod依旧使用原先的资源
3、初始化所需的配置信息:使用configmap可以在容器初始化的时候指定需要的配置信息,
4、初始化执行的脚步:使用initContainer可以在容器初始化的时候执行需要的脚本
5、密码存放:使用secret可以将密码保密
6、集群内访问直接podName.serviceName:使用headless service+dns可以让slave节点通过hostname访问master,hostname固定为podName.ServiceName,如:serviceName为mysql,则master的hostname为mysql-0.mysql
kubernetes 使用cilium 网络插件 替换kube-proxy
eBPF 是 extended BPF 的简称,eBPF 起源于BPF,它提供了内核的数据包过滤机制,其扩充了 BPF 的功能,丰富了指令集。 在 Cilium 出现之前, Service 由 kube-proxy 来实现,实现方式有 userspace,iptables,ipvs 三种模式。 Cilium 是基于 eBpf 的一种开源网络实现,通过在 Linux 内核动态插入强大的安全性、可见性和网络控制逻辑,提供网络互通,服务负载均衡,安全和可观测性等解决方案。简单来说可以理解为 Kube-proxy + CNI 网络实现。Cilium 位于容器编排系统和Linux Kernel 之间,向上可以通过编排平台为容器进行网络以及相应的安全配置,向下可以通过在 Linux 内核挂载 eBPF 程序,来控制容器网络的转发行为以及安全策略执行。
K8s 部署 MongoDB(副本集)
mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂
MongoDB中的副本集(Replica Set)是一组维护相同数据集的mongod服务。 副本集可提供冗余和高可用性,是所有生产部署的基础。也可以说,副本集类似于有自动故障恢复功能的主从集群。通俗的讲就是用多台机器进行同一数据的异步同步,从而使多台机器拥有同一数据的多个副本,并且当主库当掉时在不需要用户干预的情况下自动切换其他备份服务器做主库。而且还可以利用副本服务器做只读服务器,实现读写分离,提高负载。
kubeadm1.2x 集成 Containerd 容器运行时
CRI 是K8S 定义的一套容器运行时接口,基于gRPC通讯,但是docker不是基于CRI的,因此 kubelet 又把docker 封装了一层,搞了一个所谓的shim,也即是dockershim的东
西,dockershim 作为一个实现了CRI 接口的gRPC服务器,供 kubelet 使用,如果大家只是想从 Docker 迁移出来,那么 containerd 就是最好的选择。因为它实际上就是在 Docker 之内起效,可以完成所有“运行时”工作
mqttfx_1.7.1.rar
mqttfx-1.7.1-windows版,十分好用的MQTT调试工具,战场必备,可以快速验证是否可与 IoT Cloud 进行连接,并发布或订阅消息
K8s 应用 - Redis(集群)
K8s 应用 - Redis(集群)
Mongodb集群之副本集集群搭建
mongodb的集群搭建方式主要有三种,主从,Replica set,sharding, 三种模式各有优劣,适用于不同的场合,副本应用最为广泛,主从现在用的较少,sharding最为完备。副本集是一组维护相同数据集的mongod服务,可提供冗余和高可用性
Openstack Train 版部署
Openstack Train 版部署,集群共三台机器,分别为:控制节点,计算节点,存储节点
k8s部署kuboard(支持https认证)
Kuboard 是一款专为 k8s设计的免费管理界面,兼容 k8s版本 1.13 及以上。具备多集群管理、权限管理、监控套件、日志套件等丰富的功能,并且有 1000+ 的企业将 Kuboard 应用于其生产环境。本实验版本为V3版本,支持HTTPS证书登录
kubernetes 部署giltab
涉及的pod有:redis、postgresql、gitlab
Harbor 2.0版本API删除镜像【亲测,有效!】
通过Harbor api获取项目名、仓库名、镜像名和镜像tag,交互删除需要删除的镜像
cobbler自动化部署.docx
cobbler server搭建,自动化安装各种系统
kubernetes集成containerd.docx
kubernetes 1.22/1.21集成containerd容器运行时
部署一套完整的K8s高可用集群v1.18.docx
Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性。
针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库的高可用性和Kubernetes Master组件的高可用性。 而Etcd我们已经采用3个节点组建集群实现高可用,本节将对Master节点高可用进行说明和实施。
Master节点扮演着总控中心的角色,通过不断与工作节点上的Kubelet和kube-proxy进行通信来维护整个集群的健康工作状态。如果Master节点故障,将无法使用kubectl工具或者API做任何集群管理。
Master节点主要有三个服务kube-apiserver、kube-controller-manager和kube-scheduler,其中kube-controller-manager和kube-scheduler组件自身通过选择机制已经实现了高可用,所以Master高可用主要针对kube-apiserver组
oracle11g 单机静默安装(centos 7)
centos 7系统单机静默安装oracle 11g,创建用户并使用普通用户登陆,支持root用户登陆数据库