现在很多中间件都是容器化部署到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),右侧是一系列应
本次使用velero1.7.1.对接备份存储为minio介绍velero 是一款云原生时代的灾难恢复和迁移工具,采用 Go 语言编写,并在 github 上进行了开源,利用 velero 用户可以安全的备份、恢复和迁移 Kubernetes 集群资源和持久卷。开源地址:https://github.com/vmware-tanzu/velero 官方文档:https://velero.io/doc
containerd的ctr没有build,commit功能,那么如何在没有docker使用contianderd的环境构建镜像buildkit可以通过专门的构建工具–buildkit进行构建。使用buildkit说明如下。服务端为buildkitd,和runc或containerd后端进行连接,目前只支持这两个后端。客户端为buildctl,负责解析镜像构建文件Dockerfile,并向服务端发
容器网络规范CNICNI,Container Network Interface标准,连接了两个组件:容器管理和网络插件。CNI的设计思想是容器runtime在创建容器的时候,提前创建好玩过协议栈空间,然后调用CNI插件为这个网络协议栈空格键配置网络,而后启动容器内的进程。CNI插件类型:Main插件,用来创建具体网络设备的二进制文件,比如网桥bridge,ipvlan,loopback,macv
现象在使用基于mysql5.7 pxc架构的时候,会出现问题ProxySQL Error: connection is locked to hostgroup 11 but trying to reach hostgroup 10。原因ProxySQL对于设置session会话变量的连接,mysql-set_query_lock-on_hostgroup参数默认开启的,会将该连接锁定到
介绍EFAK(Eagle For Apache Kafka,以前称为 Kafka Eagle),EFAK是开源的可视化和管理软件。它允许您查询、可视化、提醒和探索指标,无论它们存储在何处。用通俗易懂的英语来说,它为您提供了将 Kafka 集群数据转换为精美图形和可视化的工具。官方网站https://docs.kafka-eagle.org/官网仅给出了非docker部署方式,但是docker部署已
配置请求路由Istio Bookinfo 示例包含四个独立的微服务, 每个微服务都有多个版本。其中一个微服务 reviews 的三个不同版本已经部署并同时运行。有时书评的输出包含星级评分,有时则不包含。这是因为没有明确的默认服务版本可路由, Istio 将以循环方式将请求路由到所有可用版本。v1版本 V2版本v3版本路由到v1版本kubectl apply -f samples/bookin
部署minikubecurl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube将minikube的可执行文件放到PATH目录下sudo mv minikube /usr/local/bin启动minikubemi
PXC架构介绍架构是一个基于Galera Cluster技术的开源MySQL高可用解决方案,采用多主架构,用于对数据一致性高要求的场景。相比传统的基于主从模式的集群架构MHA和双主方案,PXC最突出的特点就是解决了诟病已久的复制延迟问题,基本上可以达到实时同步。PXC的节点与节点之间的关系是对等的。工作原理PXC集群至少使用三台MySQL实例来组成一个集群,三个实例之间不是主从模式,而是各自为主,
问题 节点主机磁盘空间利用率偏高,需要请运行时镜像释放空间docker清理镜像 docker system df # 占用存储空间,又没有用的容器 docker images -aq -f 'dangling=true' | xargs docker rmi # 删除所有 docker system prune -a docker stop $(docker ps
总结自己在处理容器云平台相关故障问题pod中访问service地址,时而能正常解析,时而解析不了项目 iscm 命名空间 iscm-sunyur-test 集群prod1 部署 iscm-front-scm,访问svc, backend-auth,使用ping命令,时而能解析能ping通,使用curl也是时而能解析能有响应问题解决问题原因是coredns pod所在节点怀疑存在search域配置,
自己总结的,2022年CKA考试题目以及答案第一题:# 配置 namespace,名称为 app-team1 # 编写 namespace 资源清单 user1@k8s-master:~/cka-lab-init/1$ cat > ns-app-team1.yaml << EOF apiVersion: v1 kind: Namespace metadata: name: a
总结自己的容器平台巡检手册,相关敏感信息以及删除XX集群巡检指导手册Ver1.0目录一. 前言 21 文档目的 22 适用范围 2二. 集群信息 21 集群架构 22 巡检范围 43 登录信息 44 登录注意事项 5三. 巡检指导 61 脚本路径 62 巡检步骤 61. 运行巡检脚本 62. 检查巡检结果 73. prometheus确认告警信息 94. Kubectl确认集群状态 145. 检查
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号