InfraPub 为您找到相关结果 163

三个技巧 大幅减少 Docker 镜像体积

因为如果攻击者利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和监控。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地认为他们声称的就一定是事实,让我们来看看它的镜像是否更小。 先...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Gitlab CI 配置文件 .gitlab

上传的artifacts。默认情况下,artifacts都是在GitLab中永久保存。expire_in允许设置设置artifacts的存储时间,从它们被上传存储到GitLab开始计算。 可以通过job页面的Keep来有效期。 过期后,artifacts会被通过一个默认每小时执行一次的定时job删除,所以在过期后无法访问artifacts。 expire_in是一个时间区间。下面可设置的值: '3 mins 4 sec' '2 hrs 20 min' '2h20min' '6 mos 1 day' '47 yrs 6 mos and 4d' '3 weeks and 2 days' 示例配置 设置artifacts的有效期为一个星期: job: artifacts: expire_in...阅读全文

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

Debian 9 使用kubeadm创建 k8s 集群(上)

文件。 使用组设置服务器清单后,我们继续安装操作系统级依赖关系并创建配置设置。 第2步 - 在所有远程服务器上创建非root用户 在本节中,您将在所有服务器上创建一个具有sudo权限的非root用户,以便您可以作为非特权用户手动SSH连接到这些用户。 例如,如果您希望使用top/htop等命令查看系统信息,查看正在运行的容器列表或更改root拥有的配置文件,这将非常有用。 这些操作通常在维护群集期间执行,并且使用非root用户执行此类任务可以最大程度地降低或删除重要文件或无意中执行其他危险操作的风险。 在工作区中创建名为~/kube-cluster/initial.yml的文件: nano ~/kube-cluster/initial.yml 接下来,将以下播放添加到该文件以创建在所有服...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

的关键线索:所有的VPC IP泄露事件,都源于一个意料之外的Sandbox容器,被泄露的IP即为此Sandbox容器的IP。刚才提到,SyncPod函数中会对Pod是否需要重建Sandbox容器进行判定,这个意外的第二个Sandbox容器是否和这次判定有关呢? 凭kubelet的运行日志无法证实该猜测,必须源码增加日志输出。重新编译kubelet后,发现第二个Sandbox容器确实来自SyncPod函数中的判定结果。进一步确认的是,该SyncPod调用是由第一个Sandbox容器被kubelet所杀而导致的PLEG触发的。 那为什么SyncPod在第一个Sandbox容器被销毁后认为Pod需要重建Sandbox容器呢?进入判定函数podSandboxChanged仔细分析...阅读全文

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.cs.cmu.edu/~muli/file/ps.pdf)(参数服务器)的中央实体,它负责聚合和计算梯度,并将更新的参数传递给每个 worker。 在分布式集群中实现这样的策略并非易事。特别是,worker 应该能够在不同节点之间进行数据和权重的沟通,并有效协调它们的学习,同时避免错误。 TensorFlow 在[tf.distribut.Strategy](https://www.tensorflow.org/api_docs/python/tf/distribute/Strategy)模块中实现了各种分布式训练策略,以节省开发人员的时间。有了这个模块,机器学习开发人员只要对他们的代码做最少的,就可以在多个节点和 GPU 之间分发训练。 这个模块实现了几种同步策略,包括...阅读全文

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

Debian中的使用尤为广泛,所以感觉这很讽刺啊。为了掩盖这个问题,我们使用了Gmane,但在过去几年中Gmane可谓是非常不稳定。 我设法提供了一个线程列表的归档,但我们的列表管理员似乎并不关心,而且也不想支持这个项目。 Debian很难机器读取 虽然肯定有办法通过程序的方式处理Debian包,但这种体验一点也不愉快。一切似乎都十分缓慢而且很麻烦。我只选了三个简单的例子来说明我的观点。 Debiman需要piuparts的帮助,才能分析每个包显示联机帮助页等内容的替代机制。这是因为维护者的脚本通过调用shell脚本来备用数据库。如果没有实际安装包,你就无法得知它对备选的数据库做了哪些更改。 pk4需要维护自己的缓存,才能根据包的名称查找包的元数据。其他工具在每次调用时都需要从头开始解析apt数据...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

译:零信任对 Kubernetes 意味着什么

外指定的某种形式的策略来捕获它。拥有明确的策略允许我们在不应用程序代码的情况下审核和更改访问权限。为了实现我们的零信任目标,这些策略可能非常复杂。我们可能有一个策略,它将对服务的访问限制为只有那些需要访问它的服务调用方(即,在双方都使用工作负载身份)。我们可能会进一步细化,只允许访问该服务上的某些接口(HTTP 路由、gRPC 方法)。更进一步,根据请求的用户身份限制访问。在所有情况下,目标都是最低权限——只有在非常必要时才能访问系统和数据。执行最后,零信任要求我们在最细粒度的级别上同时执行身份验证(确认身份)和授权(验证策略是否允许该操作)。每个授予数据或计算访问权限的系统都应该设置从外围到单个组件的安全边界。与策略类似,这种执行理想情况下是在整个堆栈中统一完成的。不是每个组件都使用自...阅读全文

译:Kubernetes 最佳实践

。控制平面是 K8s 的核心,这些组件保持系统运行,因此对于正确 K8s 操作至关重要。 Kubernetes API、kubelet、etcd、controller-manager、kube-proxy 和 kube-dns 组成了控制平面。控制平面组件可以以最常见的 K8s 监控工具 Prometheus 兼容的格式输出指标。应该使用自动监控工具而不是手动管理告警。可以在启动 kube-apiserver 时打开 K8s 中的审计日志记录,以便使用选择的工具进行更深入的调查。audit.log 将详细记录向 K8s API 发出的所有请求,并应定期检查集群上可能存在的任何问题。Kubernetes 集群默认策略在 audit-policy.yaml 文件中定义,可以根据需要进行...阅读全文

博文 2022-09-13 19:32:21 atbug.com

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

,它是以一个 circular buffer (cir_start[head++]) 的 head 来定位,或者更详细地从 graph walk 的始点说起,由于 graph->head 在初始化的时候被指定为 -src_node_count (负的 source node 数量,可以参考下一部分 rte_graph 的内存布局),所以 cir_start[head] 其实就是第一个 source node。那么 tail 的作用是什么?libgraph 是如何利用它来动态 circular buffer 和 pending stream 帮助 node 的定位呢? 在回答这些问题之前,我们首先来了解下面两个 API 函数,分别是 __rte_node_enqueue_prologue 和...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

出的部分解决方案至今仍在试水阶段,具体如下: (1)第一关,数据输入者所在国是否被列入“充分性认定白名单”: 指欧盟一般数据保护条例(GDPR)第45条所规定的,由欧盟委员会以“实施法案”方式确定的数据跨境传输“白名单”。 一旦欧盟以外的某国家或地区(也包括国际组织或行业)进入该“白名单”,就意味着欧盟境内的个人数据可以更加自由地传输到该国家或地区(国际组织或行业),而不再受GDPR中诸如数据跨境传输协议、BCR认证等严格条件的限制。 “充分性认定”的门槛和标准比较高,且欧盟方面在判定、审查、、撤销等程序中自由裁量权十分大,目前全球范围内也仅有瑞士、以色列、日本等少数国家获得了欧盟“充分性认定”。 (2)第二关,若所在国未进入上述“充分性认定白名单”,则判断是否提供适当协议、行为准则为跨...阅读全文

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

: save [seconds] [changes] 意为在[seconds]秒内如果发生了[changes]次数据,则进行一次RDB快照保存,例如 save 60 100 会让Redis每60秒检查一次数据变更情况,如果发生了100次或以上的数据变更,则进行RDB快照保存。 可以配置多条save指令,让Redis执行多级的快照保存策略。 Redis默认开启RDB快照,默认的RDB策略如下: save 900 1 save 300 10 save 60 10000 也可以通过BGSAVE命令手工触发RDB快照保存。 RDB的优点: 对性能影响最小。如前文所述,Redis在保存RDB快照时会fork出子进程进行,几乎不影响Redis处理客户端请求的效率。 每次快照会生成一个完整的数据快照文件,所以可...阅读全文

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

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

.tgz -C /opt/install/kafka的配置文件broker.properties:[hadoop@bigdata01 kafka_2.12-3.1.0]$ cd /opt/install/kafka_2.12-3.1.0/config/kraft/[hadoop@bigdata01 kraft]$ vim broker.properties编辑内容如下:node.id=1controller.quorum.voters=1@bigdata01:9093listeners=PLAINTEXT://bigdata01:9092advertised.listeners=PLAINTEXT://bigdata01:9092log.dirs=/opt/install...阅读全文

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

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

解决方案。 基于intent的执行需要首先转变对如何生产环境的看法。可以用“宠物vs牛群”理论来描述这个问题:以前,我们把工作流当作宠物:维护每个工作流的运行,手动调优,并且单个交互。而基于intent的执行将生产asset当作牛群:特殊情况很少,扩展变得很容易。因此,我们创建了成为Annealing的持续执行系统。 生产管理的大部分现在都是基于intent的,并且每秒可以向生产环境推送上百个变更——这里每个变更推送整个job,变更配置,应用新的数据库schema等。当然,在某些领域工作流仍然存在。很多时候是因为工具还不能覆盖特殊领域(比如,批量pipeline),但是也有些情况是特定的需求下工作流更为合适。 — 4 — 其他解决方案 本文描述的很多理念可能在服务部署和管理领域比较常见...阅读全文

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