参考HCIA-openGauss实验手册gs_dump是openGuass用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或者其中的对象,模式,表,视图等。实验准备创建备份目录mkdir /opt/backup cd /opt/backup创建表并插入数据/*登录*/ gsql -d postgres /*创建customer_t1表*/ DROP TABLE IF EXISTS c
概念MGR(MySQL Group Replication)是构建在基于 Paxos 的 XCom 协议之上的,旨在确保数据库状态机在各节点之间实现事务的一致性。包括以下特性:闭环(Closed Group):只有组内成员才具有向组内其他成员发送消息的权限,而不接受来自组外成员的消息。消息全局有序(Total Order):所有 XCom 传递的消息是全局有序(在多主集群中或是偏序),这是构建 M
目前运维的k8s平台,集群需要添加节点,一般添加节点需要以下几个步骤1、 初始化节点,关闭swap,关闭selinux,关闭防火墙、辅助运维脚本、优化内核参数等2、安装ntp,配置ntp时间同步,时间同步计划任务3、安装lvm4、配置硬盘挂载,运行时目录因为添加的节点,有arm架构,x86架构,运行时使用docker和contianerd的,同时再添加硬盘挂载的时候,有2块盘,3快盘的。认为添加,
nsenter 是一个可以用来进入到目标程序所在 Namespace 中运行命令的工具,一般常用于在宿主机上调试容器中运行的程序。介绍nsenter 位于 util-linux 包中,一般常用的 Linux 发行版都已经默认安装。如果你的系统没有安装,可以使用以下命令进行安装:yum install util-linux一个比较典型的用途就是进入容器的网络命名空间。通常容器为了轻量级,大多都是不包
目前这里维护的k8s平台上部署了容器化的elasticsearch,没有配置kibana,只是用grafana做了仪表盘。因此在需要临时清理较大索引的释放磁盘空间的时候,操作比较麻烦,因此需要编写一个es索引清理脚本。脚本如下#!/usr/bin/bash #by yangchao #version 1.0 #INDICES=(log-platform-202* audit-202* log-sy
Arthas 是阿里开源的Java诊断工具。安装在系统所在服务器,有着强大的能力,是一个开发运维神器。主要功能:在线热替换代码/代码增强全局视角的性能分析查看方法执行情况,帮助跟踪偶现的bug官方网站资料 https://arthas.aliyun.com/doc/容器中使用根据官方手册,在容器中下载curl下载该工具并简单使用curl -O https://arthas.aliyun.
containerd v1.4 v1.5 v1.6版本修改非安全镜像仓库方法不一样,以对接harbor仓库为例v1.4 v1.5版本配置#设置认证信息仓库信息 REGISTRY=test.harbor.com #harbor仓库地址 REGISTRY_USER=admin #用户名 REGISTRY_PASSWD=admin #密码 #如果没有配置,生成配
需求在目前的k8s云平台中,微服务都是以容器化运行的,基本上都是liunx的容器化部署。k8s平台大部分是docekr运行时,少量contaimerd运行时,平台架构大多是x86,少量的arm架构服务器。因为容器是轻量化部署,很多工具和软件包都没有安装,因此在遇到容器相关网络的故障的时候,在容器中无法使用传统的ping,telnet工具,因此排障困难,主要表现在:容器之间通过servcie访问,没
opsmange是一款代码部署、应用部署、计划任务、设备资产管理平台,开源地址:https://github.com/welliamcao/OpsManage几年前就测试应用过,目前该软件还在持续更新,这次使用docker-compose部署尝试docker-compose部署部署步骤见https://github.com/welliamcao/OpsManage/blob/v3/docker/R
故障复盘现象一次,k8s业务报故障,集群内部的业务访问SVC不通,排查后发现,SVC对应的pod通过label标签选择器没有关联上,因此kubeproxy 无法把流量通过service调度到pod上,重建svc后,虽然这次service关联上了pod,但是还是访问不了。这个service关联的pod使用的是udp协议的,而其他的关联tcp协议的service则没出现过这个问题。最后经过排查,主机的
Archery是一个开源的数据库审核平台,在日常数据库操作中,可以对操作进行审核。官网:https://archerydms.com/https://gitee.com/rtttte/Archery目前有业务使用需求,先用docker-compose部署,后期考虑配置到k8s上。目前最新版本是v1.11.3参考文档 https://archerydms.com/installation/
一次处理问题的时候,发下从容器访问服务器动不动就超时,timeout,后来发现服务器内存参数,net.ipv4.tcp_tw_recycle = 1,被开启,调整为net.ipv4.tcp_tw_recycle = 0后问题解决。tcp_tw_recycle 是 Linux 内核中的一个 TCP 参数,用于控制 TIME_WAIT 状态的连接的回收行为。TIME_WAIT 是 TCP 连接关闭过程
现在很多中间件都是容器化部署到k8s平台上,例如elasticsearch和mysql。一般的商业产品k8s都有针对这些中间的备份功能,但是如果我们要对这些容器的化的中间件导出数据进行备份,可以采用k8s的定时任务来执行elasticdump定时任务elasitcdump是一款开源的 ES 数据迁移工具,国内码云地址 https://gitee.com/AshitaKaze/elasti
nerdctl是containerd的非核心子项目,nerdctl是一个与docker cli风格兼容的containerd的cli工具, 提高了直接将containerd作为本地开发、测试和单机容器部署使用的体验。社区地址https://pkg.go.dev/github.com/AkihiroSuda/nerdctl#section-readme https://github.com
在生产集群,经常需要配置几个节点为项目独占,有以下要求1、节点只能运行指定项目的容器pod2、其他项目的的容器pod不能调度到这些节点上为了满足需求需要如下配置1、节点配置污点,pod不能随意调度2、节点配置标签,部署pod使用节点亲和性往指定标签节点调度3、在部署pod时候,yaml配置污点容忍,同时配置节点亲和性节点配置污点和标签配置污点表示业务pod不能随意往上面调度配置标签,后面部署pod
在很多商业k8s方案中,存在所谓的超配,或者超卖,超售比的配置,只要开启就能大幅度提高k8s资源利用率。这里总结了一些原理概念概念当前很多业务有波峰和波谷,部署服务时,为了保证服务的性能和稳定性,通常会按照波峰时需要的资源申请,但是波峰的时间可能很短,这样在非波峰时段就有资源浪费。另外,由于在线作业SLA要求较高,为了保证服务的性能和可靠性,通常会申请大量的冗余资源,因此,会导致资源利用率很低、浪
内存充足但是pod被驱逐,处理办法free -h #查看一下total对应的值。#查看/sys/fs/cgroup/memory/kubepods.slice/memory.limit_in_bytes 的值并除以三次1024#清理了下该问题节点内存的缓存,并重启了kubelet # 将所有脏页写回磁盘 sync # 清除缓存 echo 3 > /proc/sys/vm/drop_cac
巡检的时候,发现etcd数据量较大,需要压缩处理#首先确认数据情况 /usr/bin/etcdctl --endpoints=$(kubectl get no -owide|awk '$3 == "master"{print$1}'|xargs -I {} printf "https://{}:2379,"|sed 's/,$//') --cacert=/etc/kubernetes/pki/et
问题 在一次k8s容器网络排障的时候,发现从容器内部经过节点访问外部业务的时候,时通时不通,经过抓包,发现大量了报错TCP Port numbers reused,详细信息是A new tcp session is started with the same ports as an earlier session in this trace。推测容器网络异常跟TCP端口重用有关。TCP端口重用遇到
总结了自己工作中常用k8s的pod 安全加固的配置securityContext在编写K8s工作负载清单时,无论是pod对象还是部署daemonset之类的更高级别的东西,清单中都有一个名为securityContext的部分,允许您指定应该应用于工作负载的安全参数。runAsUser, runAsGroup默认情况下,Docker容器以root用户的身份运行,从安全角度看这并不理想。虽然对容器内
概念Rook 是一款云原生环境下的开源分布式存储编排系统,目前已进入 CNCF 孵化。Rook 的官方网站是 https://rook.io。Rook 将分布式存储软件转变为自我管理,自我缩放和自我修复的存储服务。它通过自动化部署,引导、配置、供应、扩展、升级、迁移、灾难恢复、监控和资源管理来实现。 Rook 使用基础的云原生容器管理、调度和编排平台提供的功能来履行其职责。Rook 利用扩展点深入
CRD是一段申明,用于定义用户自定义的资源对象,它需要提供管理CRD对象的CRD控制器才能实现。主要用于扩展 Kubernetes 的 API,向 Kubernetes API 中增加新类型。详细参考https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-defin
OAMOAM,open application model是阿里巴巴和微软共同开发的云原生应用规范模型。它使用来解决一个完整的面向业务场景的应用的问题。是一个标准的、基础设施 无关的跨云应用部署模型。有以下几个特性:应用为先。一个应用的交付与部署应该是自包含的,其中的各类操作行为应该作为应用定义的一部分,这些内容与实际基础设施无关。清晰和可扩展性。定义一套开放标准,可以模块化整个应用交付流程,根据
集群配置以及用户授权配置使用cephadm安装完成ceph之后,会在/etc/ceph目录中自动生成ceph的配置文件ceph.conf,采用ini file格式,使用#或者;对配置进行注释global 全局配置,对所有的服务和客户端有效,优先级最低mon mgr osd等都是ceph相关组件的配置配置修改#ceph配置修改和查看 ceph config set ceph config ls ce
资源池ceph的数据存储机制pool的类型根据不同的数据保护方式,Pool可以分为副本池和纠删码池Pool,OSD和PG的映射pool是ceph的一个逻辑概念,用于存放对象,不同pool之间相互隔离PG全程是placement groups,是构成pool的子集,也就是一系列对象的集合RADOS的对象只能分布在一个PG中,一个PG仅能属于一个POOL,PG里的对象会被映射到不同的OSD上客户端在保
基于华为openeuler 20安装ceph集群介绍ceph是一款开源的SDS分布式存储,具备极高的可用性,扩展性和易用性,可以用于存储海量数据,存储节点可以部署在通用的服务器上,CPU支持x86和arm架构,存储节点之间相互通信,以便对存储的数据进行动态复制和分配。特点采用RADOS系统将所有数据作为对象,存储在存储池之中采用CRUSH算法计算出对象所对应的存储位置去中心化,客户端可以根据CRU
架构服务网格在逻辑上,分为控制层面control plane和数据层面data plane控制层面 通过智能代理envoy管理流量路由,服务运行策略执行等数据层面 数据层面由一组以sidecar方式部署的智能代理envoy组成,这些代理可以调节和控制微服务以及istiod之间的所有网络通信服务网格主要由以下组件构成:EnvoyIstio 使用 Envoy 代理的扩展版本。Envoy 是使用 C++
contanerd介绍2016年,docker 把负责容器生命周期的模块拆分出来,并将其捐赠给了社区,也就是现在的 containerd。docker 拆分后结构如下图所示(当然 docker 公司还在 docker 中添加了部分编排的代码)。在我们调用 docker 命令创建容器后,docker daemon 会通过 Image 模块下载镜像并保存到 Graph Driver 模块中,之后通过
介绍Kompose 是什么?它是个转换工具,可将 compose(即 Docker Compose)所组装的所有内容 转换成容器编排器(Kubernetes 或 OpenShift)可识别的形式。官网http://kompose.io。安装# Linux curl -L https://github.com/kubernetes/kompose/releases/download/v1.24.0/
目前很多国产linux操作系统都带了审计管理,audit。audit 工具可以将审计记录写入日志文件。包括记录系统调用和文件访问。管理员可以检查这些日志,确定是否存在安全*漏*洞,如多次失败的登录尝试,或者用户对系统文件失败的访问。架构和原理说明:实线代表数据流,虚线代表组件之间的控制关系。包括有两大部分:中间的是内核中的几种系统调用(user,task,exit,exclude),右侧是一系列应
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号