tke集群默认会给每个子账号提供kubeconfig,子用户控制台就能获取到,为什么这里还要通过token生成tke的kubeconfig给子用户使用?
继之前《Kafka运维篇之初识Streams Messaging Manager》、《Kafka运维篇之使用SMM监控Kafka集群》和《Kafka运维篇之使用SMM预警策略管理Kafka预警》之后。我们今天介绍使用使用SMM监控Kafka集群的复制。
在2022年RSA大会上,来自CyberArk的高级安全研究员 Eviatar Gerzi为我们分享了Kubernetes集群的攻击面和防御策略以及如何利用两款开源工具(Kubesploit和KubiScan)对集群环境进行攻击和防御。本文试图以Gerzi的思路为依据,从攻击和防御的角度来简单聊一聊Kubernetes集群安全。
由于公司在不同的业务系统场景都有用到Redis,为了减少业务之间带来的相互影响,所以部署了多个Redis集群,JedisHelper就提供了获取不同业务集群Redis实例的方法。
在传统的MySQL复制环境中,SHOW REPLICA STATUS命令可以提供关于复制的配置和状态的信息。但在InnoDB集群中,复制状态的查询有所不同。InnoDB集群使用组复制(Group Replication)技术来保证数据的同步和一致性,而不是传统的MySQL复制技术。因此,我们需要使用不同的命令来查询复制状态。
elasticsearch集群的健康状态是通过监控和评估集群中的主分片和副本分片的分配情况来确定的。通过查看健康状态能够直观的获取出集群当前的运行状态,分片状态等信息。
今天我们讨论的这个问题,跟 K8s 集群的 Namespace 有关。Namespace 是 K8s 集群资源的“收纳”机制。我们可以把相关的资源“收纳”到同一个 Namespace 里,以避免不相关资源之间不必要的影响。
Sentinel 是 Redis 集群中的哨兵角色,它的作用是对 Redis 集群中的主节点和从节点进行监控和管理。
Lettuce 是一个可伸缩的线程安全的 Redis 客户端,支持同步、异步和响应式模式。多个线程可以共享一个连接实例,而不必担心多线程并发问题。它基于优秀 netty NIO 框架构建,支持 Redis 的高级功能,如 Sentinel,集群,流水线,自动重新连接和 Redis 数据模型。
多集群功能涉及到多个集群之间的网络连通,了解集群之前的网络拓扑有助于减少接下来的工作量。
在2022年的KubeCon会议上,来自Palo Alto Networks的安全研究员Yuval Avrahami和Shaul Ben Hai分享了议题《Trampoline Pods:Node to Admin PrivEsc Built Into Popular K8s Platforms》[1] ,介绍了攻击者在容器逃逸之后如何利用节点上“TrampolinePods”的权限来接管集群,其中涉及的技术和思路十分值得学习与思考,本文主要介绍该技术的原理和步骤,扩展了同一类型的方法,希望云安全人员在深入了解攻击技术之后,能够发现并缓解生产环境中存在的类似风险,共同建设云环境安全。
在前面第六篇文章中,我们介绍了配置管服务端模块的ServerListService类; 这个类作用是持有服务端集群列表信息,并且每隔一段时间就会去检查集群中的机器是否正常; ServerListService类获取集群列表方式是先获取本地文件配置,如果没有配置则检查是否配置了远程服务器配置列表;具体详细可以查看文章 【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的 ; 那么客户端如果想要获取配置数据,肯定是需要去服务端获取数据; 那么就有以下问题:
使用k8s的过程中我们会经常访问集群的api接口,但是通常k8s的apiserver都是用https认证,当我们想直接访问api接口的时候都是需要进行认证的,这个在tke集群中同样也是如此,那么当我们需要在代码或者用curl请求去访问tke集群的api接口该怎么办呢?下面我们讲讲通过客户端证书或者集群token来访问tke集群的api接口。
Kubernetes是一个开源的容器编排系统,可以用于管理和部署容器化的应用程序。而Helm则是一个Kubernetes的包管理工具,可以方便地安装、升级和管理Kubernetes的应用程序。
在当前的最新版本中,Vert.x官方只实现了利用Hazelcast来创建集群。当然,如果可以的话,也可以通过ClusterManager接口实现或引入需要的集群管理工具。(3.3.0已经提供了Ignite的技术预览版,期待早日实现)。本文将说明Vert.x是如何利用Hazelcast来创建和管理集群的,同时你也会了解到Vertx如何创建单机实例。
四、使用API获取集群节点信息(http,thread_pool,transport,jvm,os,process.....)
kind(KubernetesINDocker)是一个基于docker构建Kubernetes集群的工具,非常适合用来在本地搭建基于Kubernetes的开发/测试环境。
kubectl是一种访问k8s集群的命令行工具,其实就是通过kubecofng来和apiserver进行身份鉴权,然后调用apiserver的接口,获取对应的信息。tke集群默认每个节点会安装kubectl命令的,大家可以随便登录一个节点通过kubectl命令去访问集群,但是新建集群或者新加节点到集群的时候,会出现新节点隔一段后执行kubectl命令报错的问题,具体报错如下:
查询Elasticsearch集群参数的API主要用于检索集群的配置信息、状态以及统计数据。以下是一些常用的API及其使用方式:
新功能要上线了 , order-center 存在二个版本 V1(老版本) V2(新版本),product-center也存在二个版本V1(老版本) V2新版本 现在需要做到的是order-center(V1)---->product-center(v1),order-center(V2)---->product-center(v2)。
最近TKE集群的RBAC对象级权限控制功能已经全量上线了,新的RBAC模式下kubeconfig不再提供集群的token,都是通过证书进行认证,具体变化和使用可以参考文档https://cloud.tencent.com/document/product/457/46104,但是今天的重点不是RBAC的介绍和使用。
阿里云K8S集群的一个重要特性,是集群的节点可以动态的增加或减少。有了这个特性,集群才能在计算资源不足的情况下扩容新的节点,同时也可以在资源利用率降低的时候,释放节点以节省费用。
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
本篇文章我们讨论 Netflix's 所采用的服务网格,演进历史,动机,我们如何与 Kinvolk 团队 以及 Envoy 社区合作开发,一项在复杂微服务环境中简化服务网格的功能:按需集群发现(on-demand cluster discovery,ODCD)
现在各类云厂商都有提供托管的k8s服务,并且有提供可视化的前端来访问集群内资源,同样tke集群也是如此,但是作为一个k8s的使用者,用kubectl来访问集群是必不可少的,tke控制台并不是会显示所有资源类型,像一些自定义的crd就只能通过命令查看了,并且及时有控制台查看,很多大佬还是习惯命令操作了。但是云上的权限一般都管控比较严格,你可能只有控制台操作权限,没有登录机器的权限,又或者说你的集群没有开启公网访问,只能内网访问,这个时候该怎么通过kubectl去访问集群呢?
OSD(Object Storage Device)节点在Ceph集群中负责存储和管理数据。一个Ceph集群由多个OSD节点组成,每个OSD节点负责管理和维护一部分数据。
使用定时 SQL 任务,将日志转为指标(Metric)。用户可同时将日志数据转为多个指标,且能自定义每个指标维度。
Invoker,负载网络调用组件,底层依懒与网络通信,Invoker主要负责服务调用,自然与路由(比如集群)等功能息息相关,本节先从整体上把控一下Dubbo服务调用体系,服务发现、集群、负载均衡、路由机制等整个知识体系,梳理整理Dubbo Invoker整个类图如下:
进入hpc行业4年多了,一直都是负责集群作业调度系统的开发,最近工作中实现了一个简单的集群作业调度系统。因此想借此机会,将我对集群作业调度系统的一些认知和见解记录下来。
在项目中我们经常使用spring-data-redis来操作Redis,它封装了Jedis客户端来与Redis服务器进行各种命令操作。由于最近用到了Redis Cluster集群功能,这里就分析总结一下Jedis cluster集群初始化主要过程及源码。
在进行Kafka数据写入的过程中,首先第一步需要先确定Kafka集群对外暴露的地址。也许你可能会有疑惑,Kafka的地址还需要确认?不是直接kafka_ip:9092就可以了吗?稍等稍等,你也许对Kafka的地址了解的没有那么多。在Kafka中有两个参数:listeners和advertised.listeners listeners:用来定义Kafka Broker的本机监听地址,如果没有设置,默认使用本机的hostname:9092 advertised.listeners:将Broker的监听地址发布到Zookeeper供客户端使用,是真正的对外暴露地址,客户端的连接地址就是这个。如果没有设置,会用listeners的设置地址。
1.22+版本的k8s集群,创建ServiceAccount,默认不会创建Secret,因为tke版本都是双数版本,因此这个特性在1.24及更高的tke集群版本也是存在的,具体可以参考官网文档管理服务账号 | Kubernetes
一、protected-mode 默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mode配置项,需要手工添加。依据redis文档的说明,若protected-mode设置为no后,需要增加密码验证或是
为了充分利用硬件的资源,诸如 Dubbo 都提供了基于权重的负载均衡机制,例如可以将8C16G的机器设置的权重是4C8G的两倍,这样充分利用硬件资源,假如现在需要引入 Sentinel 的限流机制,例如为一个 Dubbo 服务设置限流规则,这样由于三台集群分担的流量不均匀,会导致无法重复利用高配机器的资源。
在 Kubernetes 项目中,cmd/kubeadm/app/phases 目录中的文件是用于实现 kubeadm 工具的不同阶段的逻辑。kubeadm 是一个命令行工具,用于在 Kubernetes 集群中初始化和管理主节点(control plane)。
Orchestrator 是一款成熟的 MySQL 高可用中间件。采用 Go 语言编写,支持拓扑发现、集群重塑、拓扑恢复等功能。
最近有很多人在使用TKE的过程中出现了一个问题,那就是我在控制台点击到集群查看pod,发现报错权限不足。
上述信息被持久化到磁盘,需要注意的是:持久化的 state 不包括某个分片存在于哪个节点这种内容路由信息,集群完全重启时,依靠gateway的recovery过程重建RoutingTable。 当读取某个文档时,根据路由算法确定目的分片后,从RoutingTable中查找分片位于哪个节点,然后将请求转发到目的节点。
摘要:任何没有监控的系统上线,一旦在生产环境发生故障,那么排查和修复问题的及时性将无法得到保证
前段时间不是在忙么,忙的内容之一就是花了点时间重构了一个服务的健康检查组件,目前已经慢慢在灰度线上,本文就来分享下这次重构之旅,也算作个总结吧。
58 集团业务种类繁多,目前包括的业务有 58 同城、赶集网、安居客、58 金融公司、中华英才网、驾校一点通等,数据库种类包括 MySQL、Redis、MongoDB、ES、TiDB。我们自己构建了“58 云 DB 平台”,整合了所有数据库的一体化运维。
我们知道,InnoDB Cluster 是 Oralce 官方发布的用来管理 MySQL 组复制的一套工具,有了 InnoDB Cluster,MySQL 原生组复制的部署、运维、开发等将会变得非常简单。
到目前为止,我们已经基本掌握了MQ的相关核心工作原理,同时一起设计了消息路由中心 (消息中间件路由中心你会设计吗,不会就来学学)和 Broker 主从架构(消息队列Broker主从架构详细设计方案,这一篇就搞定主从架构),现在如果让你基于它的基本原理去设计一套 MQ 的生产部署架构出来,你准备怎么去思考呢?
旨在降低ETL开发成本、提高大数据平台稳定性,大数据开发人员可以在 Taier 直接进行业务逻辑的开发,而不用关心任务错综复杂的依赖关系与底层的大数据平台的架构实现,将工作的重心更多地聚焦在业务之中。
系统监控,是做系统必须解决的一个问题。创业型公司,微服务以前,如何用半天的时间,搞定一个可扩展,通用的http监控框架,是今天要聊的话题。
ZooKeeper 的节点通常可以作为分布式锁来使用。比如可以多个服务对同时竞争申请一个节点 “/test/lock”,创建成功的服务获取到这个锁,其他没创建成功的监听这个锁,等到这个锁释放后再重新申请该锁。这样就实现了简单的分布式锁。 但同时在大量锁的情况下会有**“惊群”**的问题。“惊群”就是在一个节点删除的时候,大量对这个节点的删除动作有订阅Watcher的线程会进行回调,这对Zk集群是十分不利的。所以需要避免这种现象的发生。
CDH平台的使用过程中,部分用户会将Hadoop平台的管理功能(如:服务组件的启停操作等)集成到公司现有的平台中,本篇文章Fayson主要介绍如何通过Cloudera Manager API接口和curl命令远程的启动平台组件。
集群信息管理,员工信息管理,告警策略管理,几篇前戏已经铺垫足够,今天,分享如何用100行代码搞定一个可扩展,通用的http监控框架。
集群信息管理,员工信息管理,告警策略管理,几篇前戏已经铺垫足够,今天,分享如何用100行代码搞定一个可扩展,通用的http监控框架。 一、常见的http监控玩法 提问:有哪些常见http监控需求? 回答:常见的http监控需求有两类: html页面监控 返回json数据的http接口 提问:常见的http监控怎么玩? 回答:一般access日志,通过观测以下两个参数来实施告警: http非200状态码 http请求响应时间 二、常见的http监控存在什么问题? 提问:常见的http非200状态码,以及响应时
领取专属 10元无门槛券
手把手带您无忧上云