InfraPub 为您找到相关结果 516

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。 Terraform 是用 Go 语言开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执行计划(Execution Plans)资源图(Resource Graph)自动化变更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。 执行计划(Execution...阅读全文

使用 MongoDB 之前应该知道的 14 件事

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等的安全。不是这样的:安全对于所有...阅读全文

Gitlab CI 配置文件 .gitlab

开始执行的时候,build:osx的artifacts就会开始下载并且会在build的stages下执行。同样的会发生在test:linux,从build:linux中下载artifacts。 因为stages的优先关系,deployjob将会下载之前jobs的所有artifacts: build:osx: stage: build script: make build:osx artifacts: paths: - binaries/ build:linux: stage: build script: make build:linux artifacts: paths: - binaries/ test:osx: stage: test script: make test:osx...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同任务...阅读全文

博文 2021-01-27 09:05:27 知乎

Debian Live 项目的剧变

一个一直不为人所知的计划。从 Banumann 的角度来说,他当然不是完美的,他因为上传个不合适的 syslinux 包导致了 wheezy 的延迟发布,并且从那以后他被从 Debian 开发者暂时降为 Debian 维护者。但是这不意味着他应该受到这种对待。当然,这个项目还有其他人参与,所以不仅仅是 Baumann 受到了影响。 Ben Armstrong 是其他参与者中的一位,在这个事件中,他很圆滑地处理了一些事,并且想从这个事件中全身而退。他从一封邮件13开始,这个邮件是为了庆祝这个项目,以及他和他的团队在过去几年取得的成果。正如他所说, Debian Live 的下游项目列表是很令人振奋的。在另一封邮件中,他也指出了这个项目不是没有生命力的: 如果 Debian CD 开发团队通过...阅读全文

博文 2021-01-28 17:50:14 debian.cn

如何在 Debian 下配置邮件服务器

户和它们各自的邮箱。创建一个用户是很容易的。 root@mail:~# adduser fourbyte 安装和配置SMTP 服务: postfix 配置文件路径 /etc/postfix/ 执行脚本 /etc/init.d/postfix 日志文件 /var/log/mail.log 端口 TCP/25 SMTP:安装postfix Postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。 root@mail:~# apt-get install postfix 在安装过程中,需要指定电子邮件服务器和域名的类型。 由于此邮件服务器就会直接向目的地发送电子邮件,我们选择Internet Site。 邮件服...阅读全文

博文 2021-01-28 17:50:22 debian.cn

在TKE上使用Kubecost进行成本管理

和其他资源划分的成本)。 ### Savings 展示月度预估可以节省的金额以及可以节省成本的优化建议数量,即 Overview 页面里面第一个入口。 以 Request 推荐为例,如下面第二张图所示,这里提供了以下三种不同等的推荐值,并且推荐值与给定的时间窗口也存在关系: - **Development:**the aim is 80% resource utilization at 85th-percentile resource usage over the given window。 - **Production:**the aim is 65% resource utilization at 98th-percentile resource usage over the...阅读全文

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

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一路径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管理工作,将这些公用配置从开发者手中分离出来,变成系统管理配置。PodPreset 是 Namespace 别的对象,其作用范围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

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

SVN切换分支用法汇总

中,例如C:\Program Files\TortoiseSVN\bin。2. 创建分支在SVN中,可以使用checkout命令来创建新的分支。具体步骤如下:Step 1:在指定分支的上目录下,右键单击鼠标,选择“SVN Checkout...”Step 2:弹出“Checkout”窗口,在URL处输入分支的远程地址,例如http://localhost/branches/feature-branch/,并选择本地的工作副本路径。Step 3:单击“OK”按钮,等待下载即可。3. 切换分支切换分支操作非常简单,只需要在SVN上进行简单的操作即可。具体步骤如下:Step 1:在工作副本下,右键单击鼠标,选择“SVN Switch...”Step 2:弹出“Switch”窗口,在“To...阅读全文

博文 2023-06-09 14:22:35 infras

Apollo 配置中心简单介绍

,并且相信已经覆盖到了大部分的使用场景。 接下来会主要介绍Apollo的cluster管理(集群)、namespace管理(命名空间)和对应的配置获取规则。 4.1 Core Concepts 在介绍高特性前,我们有必要先来了解一下Apollo中的几个核心概念: application (应用) 这个很好理解,就是实际使用配置的应用,Apollo客户端在运行时需要知道当前应用是谁,从而可以去获取对应的配置每个应用都需要有唯一的身份标识 - appId,我们认为应用身份是跟着代码走的,所以需要在代码中配置,具体信息请参见Java客户端使用指南。environment (环境) 配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置我们认为环境和代码无关...阅读全文

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

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

21款必不可少的Ubuntu桌面应用程序

什么,因为与火狐、LibreOffice和GIMP一样,它大概是世界上最著名的开源软件之一! 这是一款用途广泛的桌面媒体播放器,可以处理你扔给它的几乎任何媒体格式,播放DVD,甚至还能将视频由一种格式转码成另一种格式。 替代方案:SMPlayer(Qt)。 5. Unity Tweak Tool实用工具 Unity Tweak Tool可谓是Ubuntu Unity桌面界的瑞士军刀,它让你可以微调和定制桌面来适合自己的口味。无论你想试用一种新潮的GTK主题、更换图标集、调整应用程序菜单的大小或行为、设置触发角,还是缩小Unity启动器的尺寸,它都能满足要求。 从高配置选项到普通选项:如果某个项可以调整,那么Unity Tweak Tool很可能有相应的切换开关! 6. Caffeine锁屏...阅读全文

博文 2021-01-28 17:50:19 debian.cn

WebAssembly:无需容器的 Docker (下)

以及 Wasm 带来的高 “沙箱隔离”。我们可以轻松看到的两种容器之间的其他差异。首先,我们将运行两个 daemon 容器,看看我们如何解释有关它们的一些统计信息。 然后我们将检查容器镜像的差异。容器数据让我们运行两个 daemon 容器 - 一个是从传统的 php 镜像,另一个是从 php-wasm 镜像。docker run --rm -d \ -p 8083:8080 -v $(pwd)/images/php/docroot:/docroot \ php:7.4.32-cli \ -S 0.0.0.0:8080 -t /docroot docker run --rm -d \ --runtime=io.containerd.wasmedge.v1 \ -p 8082:8080 -v...阅读全文

博文 2023-01-03 06:39:46 spider

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

送下一条消息。这种情况下,如果follower没有成功备份数据,而此时leader又挂掉,则消息会丢失。 (3)acks=-1或all: 这意味着leader需要等待所有备份(min.insync.replicas配置的备份个数)都成功写入日志,这种策略会保证只要有一个备份存活就不会丢失数据。这是最强的数据保证。一般除非是金融别,或跟钱打交道的场景才会使用这种配置。当然如果min.insync.replicas配置的是1则也可能丢消息,跟acks=1情况类似。 消息消费端: 如果消费这边配置的是自动提交,万一消费的数据还没处理完,就自动提交offset了,但是此时你consumer直接宕机了,未处理完的数据丢失了,下次也消费不到了。所以消费端也要设置为手动提交; 2.1.2 消息重复消费...阅读全文

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

Golang 操作 Kafka 样例

1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防止数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的特点 Kafka是分布式的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文

博文 2023-01-10 13:46:09 掘金

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

博文 2021-01-28 17:50:11 debian.cn