InfraPub 为您找到相关结果 73

不可变基础设施 (immutable infrastructure) - 云原生定义解析

(对于大中型机,甚至都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升级,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时候,难以重新构建服务。持续过多的手工操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

,ValidatingAdmissionWebhook,ResourceQuota,PodPreset` 如果觉得以上命令太复杂,还可以通过修改 Yaml 方式配置,因为 Minikube 通过 Static Pod 的方式用 Kubelet 启动各组件服务,所以可以更改对应组件的 Yaml 来激活 PodPreset,通过修改 /etc/kubernetes/manifests/kube-apiserver.yaml 文件增加如下配置,修改完成后 Kubelet 会自动 kube-apiserver 各组件。 $ vim /etc/kubernetes/manifests/kube-apiserver.yaml - --runtime-config=settings.k8s.io/v1alpha1=true #新增该配置...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 官网:https://mmonit.com/monit文档:https://mmonit.com/monit/documentation/monit.html最新版本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Dubbo 2.7.0发布 分布式RPC服务框架

Dubbo 2.7.0 发布。Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。 据开源中国对 Dubbo 的项目负责人北纬的采访 Dubbo 维护一年多,现在还活着吗?,新版本的更新亮点有: Dubbo 2.7.0 添加了社区呼声很高的 异步化支持 、以及 注册中心与配置中心分离 这两个特性。与 2.6 及以前的版本相比, 异步化支持 不再局限于基于 Future 接口的异步,也不再仅仅局限于只能在客户端异步。具体来说,Dubbo 2.7.0 版本全面拥抱 JDK8,在客户端开始支持基于 CompletableFuture 的异步编程范式,在服务端支持基于 AsyncContext...阅读全文

博文 2019-01-18 09:43:16 debian.cn

如何在 Debian服务器 上启用双因子身份验证

双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务器上启用双因子验证。 请注意,本文涉及到多次修改 SSH 配置,当你修改配置时,请确保有至少两个到服务器终端的连接。打开的终端将一直保持,即便 SSH 服务。第二终端意味着你可以修复你在SSH配置的错误。 密钥和密码验证的SSH SSH 支持对登录要求不止一个身份验证方法,我们首先启用密钥和密码验证。 在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方...阅读全文

博文 2018-12-05 11:44:56 debian.cn

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构化日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式记录,这样第三方日志处理系统就可以方便地从日志中解析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

Debian 10使用 Wine 安装配置微信、QQ与TIM

riched20 这个过程要下载两个文件W2KSP4_EN.EXE与InstMsiW.exe,很难下载,中断了失败不要紧,可以不断执行winetricks riched20,直到网络能够连上解决的话下载成功就OK。 安装好riched20库后,可以按上面小节“安装应用”的方法,安装微信与QQ。笔者成功用wine安装微信PC版2.9.5与QQ PC版9.3.7。并且用fcitx输入法可以输入文字。 其中找不到wine的QQ如何打开的话,它路径是~/.wine/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe,右击选择wine打开即可。 补充:同样方法也安装TIM(如果有冲突说另一程序运行,可以电脑再安装)成功。路径为~/.wine/drive_c...阅读全文

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用性。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 调整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部端点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

RabbitMQ 高可用实现镜像队列

磁盘文件,按场景4处理,如果拷贝过来的是B节点的磁盘文件,按场景3处理。最后将新的slave节点加入C即可重新恢复镜像队列。 场景6:A先停,B后停,且A和B均无法恢复,且无法得到A和B的磁盘文件 无解。 启动顺序中有一个30s 的概念,这个是 RMQ 的时间间隔,用于检测master、slave是否可用,因此30s 非常关键。 对于生产环境RMQ集群的操作,需要分析具体的操作顺序,不可无序的,会有可能带来无法弥补的伤害(数据丢失、节点无法启动)。 简单总结下:镜像队列是用于节点之间同步消息的机制,避免某个节点宕机而导致的服务不可用或消息丢失,且针对排他性队列设置是无效的。另外很重要的一点,镜像队列机制不是负载均衡。...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Kafka生产问题总结以及性能优化

消息发送端: 发送消息如果配置了重试机制,比如网络抖动时间过长导致发送端发送超时,实际broker可能已经接收到消息,但发送方会重新发送消息 消息消费端: 如果消费这边配置的是自动提交,刚拉取了一批数据处理了一部分,但还没来得及提交,服务挂了,下次又会拉取相同的一批数据重复处理 一般消费端都是要做消费幂等处理的,比如每条消息使用redis的setnx分布式锁,把消息放redis里,这样两次消息一样的话,第二次的消息是放不进去的。 2.1.3 消息乱序 如果发送端配置了重试机制,kafka不会等之前那条消息完全发送成功才去发送下一条消息,这样可能会出现,发送了1,2,3条消息,第一条超时了,后面两条发送成功,再重试发送第1条消息,这时消息在broker端的顺序就是2,3,1了 所以,是否一...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

利用 NAT VPS 进行流量中转

PREROUTING -p tcp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号-A PREROUTING -p udp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号-A POSTROUTING -p tcp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址-A POSTROUTING -p udp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址# commit to apply changesCOMMIT其中,目标地址 为目标服务器的 IP 地址,本机内网地址 为本机在内部局域网的 IP 地址。...阅读全文

博文 2021-03-11 21:16:11 Silearner

下一代时间同步服务 Chrony 详解

务器 要将 Chrony 作为一个 NTP 服务器,方法很简单。 首先,你需要修改 /etc/chrony.conf 文件,并添加以下配置即可。 # 对于安全要求比较高的,这里可以限制谁能访问本机提供的 NTP 服务。allow 192.168.0.0/16 # 设置 chronyd 监听在哪个网络接口bindcmdaddress 0.0.0.0 # 这个地方很重要,如果服务器本身也不能同步时间,那么就用本地时间替代,层级为 10local stratum 10 其次, Chronyd 服务,以加载新的配置。 $ systemctl restart chronyd Chronyd 服务启动成功后,会监听以下两个端口。 端口 123/udp 为标准的 NTP 监听端口,如果要对外提供...阅读全文

博文 2021-01-04 08:41:14 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

CRD。这里是一个分布式训练作业的[基本例子](https://github.com/kubeflow/tf-operator/blob/master/examples/v1/mnist_with_summaries/tf_job_mnist.yaml),它依赖于两个 worker,在没有 Chief 和 Parameter Server 的情况下进行训练。这种方法适用于实现 TensorFlow 同步训练策略,如 MirroredStrategy。 你看,除了标准的 Kubernetes 资源和服务(例如卷、容器、策略)之外,规范还包括一个 **tfReplicaSpecs**,其中你定义了一个 worker。在容器化的 TensorFlow 代码中,将 worker 副本计数设置为 2...阅读全文

journalctl 清理journal日志 - 九重霄

--vacuum-time=2d journalctl --vacuum-size=500M 如果要手工删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后 systemctl restart systemd-journald.service 检查journal是否运行正常以及日志文件是否完整无损坏 journalctl --verifyjournal配置参考 [Journal...阅读全文

博文 2021-02-05 15:43:28 博客园

细数k8s支持的4种类型的container - 侃豺小哥

截止目前k8s1.18,k8s已经支持标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。本文我们详细介绍一下这4种容器的特性已经使用场景。 Ephemeral 容器 临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动,因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 段进行描述,但许多字段是不相容且不允许的。 临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。 Pod 资源分配是不可变的,因此 resources 配置是不允许的。 有关允许字段的完整列表,请参见临时容器参考文档。 临时容器是使用...阅读全文

博文 2021-08-20 11:45:32 博客园

Apache Kafka发布 3.0 正式版

。此外,不要错过 Kafka Connect 任务增强、KStreams 基于时间戳同步的改进以及 MirrorMaker2 更灵活的配置选项。常规变化KIP-750:弃用 Kafka 中对 Java 8 的支持在 3.0 中,Apache Kafka 项目的所有组件都已弃用对 Java 8 的支持。这将使用户有时间在下一个主要版本 (4.0) 之前进行调整,届时 Java 8 支持将被取消。KIP-751:弃用 Kafka 中对 Scala 2.12 的支持对 Scala 2.12 的支持在 Apache Kafka 3.0 中也已弃用。与 Java 8 一样,我们给用户时间来适应,因为计划在下一个主要版本 (4.0) 中删除对 Scala 2.12 的支持。Kafka 代理、生产者、消...阅读全文

博文 2021-09-26 14:13:03 joseph

Hadoop 核心 - HDFS 分布式文件系统详解

/config 更改主机名 更改主机名命令,将node04主机名更改为node04.hadoop.com vim /etc/sysconfig/network 四台机器更改主机名与IP地址映射 四台机器都要添加hosts文件 vim /etc/hosts 192.168.52.100 node01.hadoop.com node01 192.168.52.110 node02.hadoop.com node02 192.168.52.120 node03.hadoop.com node03 192.168.52.130 node04.hadoop.com node04 node04服务器关机 node04执行以下命令关机 reboot -h now node04安装jdk node04统一两个路...阅读全文

Apollo 配置中心简单介绍

config service所有config service下线客户端无法读取最新配置,Portal无影响客户端时,可以读取本地缓存配置文件 某台admin service下线无影响 Admin service无状态,Portal重连其它admin service所有admin service下线客户端无影响,portal无法更新配置 某台portal下线无影响 Portal域名通过slb绑定多台服务器,重试后指向可用的服务器全部portal下线客户端无影响,portal无法更新配置 某个数据中心下线无影响 多数据中心部署,数据完全同步,Meta Server/Portal域名通过slb自动切换到其它存活的数据中心 5、Contribute to Apollo Apollo从开发之初就是以开源模式...阅读全文

博文 2021-04-09 17:53:51 CSDN

Redis 命令、特性介绍与性能调优

该数据的主体而仅仅是同步过来的备份,那么可以关闭Redis的数据持久化机制。 但通常来说,仍然建议至少开启RDB方式的数据持久化,因为: RDB方式的持久化几乎不损耗Redis本身的性能,在进行RDB持久化时,Redis主进程唯一需要做的事情就是fork出一个子进程,所有持久化工作都由子进程完成 Redis无论因为什么原因crash掉之后,时能够自动恢复到上一次RDB快照中记录的数据。这省去了手工从其他数据源(如DB)同步数据的过程,而且要比其他任何的数据恢复方式都要快 现在硬盘那么大,真的不缺那一点地方 RDB 采用RDB持久方式,Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据。可以在配置文件中配置Redis进行快照保存的时机...阅读全文

博文 2018-10-27 10:37:55 debian.cn

谷歌公开了内部管理Infra层的两个工具的Paper

解决这个问题之前,我们依赖于传统的工作流引擎。比如,一个工作流列出部署新二进制文件的步骤:在集群X上做金丝雀测试,然后将N部署到集群Y和Z上,运行测试等等。 创建工作流本身就需要大量工作,因此我们只为经常需要做的事情创建工作流,比如二进制文件的版本更新。我们通常手动处理不那么常见的情况,比如。已有的脚本经常会过期而不再适用。 对于运维人员来说,这些工作流很容易实现:做X,然后Y。想要添加压力测试?只需要添加一个步骤。但是随着工作流使用规模的扩大,它的问题也显露出来。 首先,扩展工作流会造成很多重复。每个服务都有很好的理由要求一些特殊逻辑,这意味着需要定制化的实现。尝试了几次整合工作流的实现,但是只有适用于某个特定模型的服务才能使用。这样导致的重复让服务变得不一致。最佳实践,比如跨集群的有...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

Pod 启动失败时(例如,由于资源配额),可以减轻 kube-apiserver 被大量不必要的 HTTP 请求吞没的风险。如果创建失败,最好能够优雅地失败,并且对其他的系统组件造成的影响最小! Kubernetes 通过 Owner References(在子级资源的某个字段中引用其父级资源的 ID) 来构造严格的资源对象层级结构。这确保了一旦 Controller 管理的资源被删除(级联删除),子资源就会被垃圾收集器删除,同时还为父级资源提供了一种有效的方式来避免他们竞争同一个子级资源(想象两对父母都认为他们拥有同一个孩子的场景)。 Owner References 的另一个好处是:它是有状态的。如果有任何 Controller 了,那么由于资源对象的拓扑关系与 Controller 无...阅读全文

博文 2022-04-18 16:18:04 CSDN

Kafka 3.0新特性全面曝光,真香!

,非常的耗时且影响集群的可用性。元数据更新网络开销大整个元数据的更新操作也是以全量推的方式进行,网络的开销也会非常大。强耦合违背软件设计原则Zookeeper对于运维来说,维护Zookeeper也需要一定的开销,并且kafka强耦合与zk也并不好,还得时刻担心zk的宕机问题,违背软件设计的高内聚,低耦合的原则。网络分区复杂度高Zookeeper本身并不能兼顾到broker与broker之间通信的状态,这就会导致网络分区的复杂度成几何倍数增长。zk本身不适合做消息队列zookeeper不适合做消息队列,因为zookeeper有1M的消息大小限制 zookeeper的children太多会极大的影响性能znode太大也会影响性能 znode太大会导致zkserver耗时10-15分钟...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

提问的智慧 – 全文

:我组装的电脑(K6/233 CPU、FIC-PA2007 主板[威盛 Apollo VP2 芯片组]、Corsair PC133 SDRAM 256Mb 内存)最近在开机20分钟左右、做内核编译时频繁地报错,提示SIG11 ,但在头20分钟内从不出问题。动不会复位时钟,但会整夜关机。更换所有内存未解决问题,相关的典型编译会话日志附后。 鉴于不是每个人都不能做到明智的提问,所以这里有一句话可以给到你启示:「所有的诊断专家都来自密苏里州」。美国国务院的官方座右铭则是「让我看看」(Show me)[15],对回复者而言,这并不是质疑,而只是一种真实而有用的需求,以便让他们看到与你看到一样的原始证据,目睹尽可能一致的东西,而不是你的片面的猜测与总结。(所以)让我们看看(Show me)。 【本章...阅读全文

博文 2009-10-01 13:18:00 debian.cn