Debian 爱好者社区 为您找到相关结果 86

王垠:如何掌握所有的程序语言

论不休,发生各种宗教斗争。 你追逐潮流采用了某种时髦的语言,结果两个月之后发现深陷泥潭,痛苦不堪…… 虽然我已经不再过问这些世事,然而无可置疑的现实是,程序语言仍然是很重要的话题,这个情况短时间内不会改变。程序员的岗位往往会要求熟悉某些语言,甚至某些奇葩的公司要求你“深入理解 OOP 或者 FP 设计模式”。对于在职的程序员,程序语言至今仍然是可以争得面红耳赤的宗教话题。它的宗教性之强,以至于我在批评和调侃某些语言(比如 Go 语言)的时候,有些人会本能地以为我是另外一种语言(比如 Java)的粉丝。 显然我不可能是任何一种语言的粉丝,我甚至不是 Yin 语言的粉丝 对于任何从没见过的语言,我都是直接拿起来就用,而不需要经过学习的过程。看了这篇文章,也许你会明白我为什么可以达到这个效果。理解...阅读全文

博文 2017-07-10 10:13:17 debian.cn

深入理解Golang之context

context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文

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

分布式版本控制系统 Git v2.12.2 发布

–quiet” relies on the size field in diff_filespec to be correctly populated, but diff_populate_filespec() helper function made an incorrect short-cut when asked only to populate the size field for paths that need to go through convert_to_git() (e.g. CRLF conversion). There is no need for Python only to give a few messages to the standard error stream...阅读全文

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

Windows Lite 对微软来说意味着什么?

微软发烧友 Brad Sams 近日在 Petri 上写道,微软正在开发一个名为 Windows Lite 的新版操作系统。顾名思义,Windows Lite 将是轻量级并快速的,因为它抛开了 Windows 长达数十年的臃肿积累。此举似乎暗示着微软转向云计算并重新进入移动领域的野心。但微软想取得成功,它必须从过去的错误中吸取教训。 Windows 的转型是有必要的。尽管微软已经在其 Surface 系列产品上取得了成功,但即便是最新的 Windows 10 系统,仍然包含着几十年前的代码,部分原因是微软的许多企业客户仍然需要与旧软件兼容。因此,Windows 10 不仅臃肿,而且还不适合移动世界。比方说,微软试图将 Surface Go 作为 iPad 的竞争对手,但受操作系统的限制,它...阅读全文

Prometheus 2.13.0 发布

服务监控系统 Prometheus 2.13.0-rc.0 发布了,Prometheus 是一个 Go 语言开发的开源的服务监控系统和时间序列数据库。该版本引入了一些新特性,比如记录其他组件、增强功能和修复 bug,这些都是为了提高可用性。 更新内容如下: [SECURITY/BUGFIX] UI:修复了一个 Stored DOM XSS 漏洞 CVE-2019-10215. #6098[CHANGE] Metrics:将 prometheus_sd_configs_failed_total 重命名为 prometheus_sd_failed_configs,并更改为仪表 #5254[ENHANCEMENT] 在构建中包含 tsdb 工具 #6089[ENHANCEMENT...阅读全文

服务监控系统 Prometheus 2.0 发布

服务监控系统 Prometheus 2.0 已发布,Prometheus 是一个 Go 语言开发的开源的服务监控系统和时间序列数据库。 Prometheus 2.0 有一个简单而强大的运营模式。然而,基础设施领域也没有停滞不前,像 Kubernetes 和 Mesos 这样的项目正在迅速改变软件的部署和管理方式。受监控的环境变得越来越活跃。 存储 Prometheus 2.0 有性能显着提高,几乎在所有方面都有所改进。查询延迟更加一致,特别是在高系列流失的情况下,它的规模更大。在不同的现实世界生产情景下测量的资源消耗也显着下降: 与 Prometheus1.8 相比,CPU 使用率 降低了 20% – 40% 与普 Prometheus1.8 相比, 磁盘空间使用率 降低了 33...阅读全文

博文 2017-11-09 10:44:45 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

datasources."datasources\.yaml".apiVersion=1 \ --set datasources."datasources\.yaml".datasources[0].name=cortex \ --set datasources."datasources\.yaml".datasources[0].type=prometheus \ --set datasources."datasources\.yaml".datasources[0].url=http://nginx.default.svc.cluster.local/api/prom \ --set datasources."datasources\.yaml".datasources[0].access=proxy...阅读全文

博文 2021-10-09 17:00:22 知乎

The Bitter Lesson - Rich Sutton

progress was seen in computer Go, only delayed by a further 20 years. Enormous initial efforts went into avoiding search by taking advantage of human knowledge, or of the special features of the game, but all those efforts proved irrelevant, or worse, once search was applied effectively at scale. Also important was the use of learning by self play to...阅读全文

博文 2024-08-21 09:29:09 joseph

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 掘金

一位资深Java架构师的晋级心得

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢? 1.框架源码分析 设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

博文 2019-01-13 22:49:22 debian.cn

Debian 宣布 Debsources,可搜索软件包源代码

Debsources Dataset: Two Decades of Free and Open Source Software. In Empirical Software Engineering, Volume 22, pp. 1405-1437, June, 2017 An open access preprint of the paper and additional information about Debsources are available on the Debsources documentation page [3]. [3]: https://sources.debian.org/doc/about/ Credits ======= Many credits go to...阅读全文

博文 2017-12-07 22:04:30 debian.cn

influxdb内存消耗分析及性能优化【探索篇】

1636706889 11155879367 #other_node较高 #numactl --show 用于查看当前numa策略 > numactl --show policy: default #使用默认策略(localalloc) preferred node: current physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 cpubind: 0 1 nodebind: 0 1 membind: 0 1通过查询,发现当前的numa策略会出现大量的miss。由于influxdb基于go语言开发,go语言社区中有关于 numa 感知调度的设计文档,但是本身的实...阅读全文

博文 2021-10-27 16:06:30 知乎

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

Kubernetes代码库的前提下开发自己的解决方案。 由于1.9版本中提供的功能尚处于alpha测试阶段,因此用户必须额外加以启用,且我们不建议您将其应用于实际生产。但该版本的出现,意味着Kubernetes存储生态系统正朝着更加可扩展且基于标准的方向迈进。 其它功能 定制化资源定义(简称CRD)验证版目前已经开始beta测试,其默认启用,可帮助CRD作者们针对无效对象得出清晰且即时的反馈。 SIG Node硬件加速器目前进入alpha测试阶段,可利用GPU资源实现机器学习以及其它高性能工作负载。 CoreDNS alpha版本允许用户利用标准工具安装CoreDNS。 IPVS mode for kube-proxy进入beta版本,可为大型集群提供更出色的可扩展性与性能表现。 社区中的每个特别兴趣小组(简...阅读全文

博文 2017-12-17 01:00:00 debian.cn

Kubernetes v1.21 新特性预览

设置 completionMode: Indexed。TopologyAwareHints Alpha服务拓扑(Service Topology)在 Kubernetes v1.21 中已弃用,并将在 v1.22 中删除。Kubernetes v1.21 新增的拓扑感知提示提供了类似的功能。该特性开启后,EndpointSlice 控制器将填充 EndpointSlice 中每个 Endpoint 上的提示字段,以将其分配到一个区域。然后,诸如 kube-proxy 这样的组件在配置请求路由时就可以使用这些提示。其他需要留意的新特性CronJob 进入稳定版本,已有用户注意切换 API 版本到 apiVersion: batch/v1。Sysctls 进入稳定版本,用户终于有一个稳定的...阅读全文

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

Debian 8 (Jessie)下面如何安装卸载docker

Debian是使用非常广泛的系统,本篇文章第一部分讲述如何在Debian 8 (Jessie) 下面安装 Docker 环境,第二部分介绍了如何彻底的清理 Debian 8 上的 Docker 环境。 Debian 8 使用了3.16的内核,已经满足了docker运行的要求。但是因为安全方面的原因,docker.io 包并没有放在debian的stable源里面,而是放在了backports 源里面。为什么从jessie源里面移除docker.io包,简而言之,是因为go语言包版本的问题。 Debian backports的介绍和使用可以参考本篇文章,或者官方站点的介绍。 安装Docker包之前,先设置安装源。 这里我们使用了Docker官方提供的Debian安装源。配置方法如下。新建一个...阅读全文

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

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

全民HTTPS时代:盘点免费SSL证书那些事儿

Signing Request),这里有 CSR 在线生成工具。参考网址:https://www.csr.sh/ 五、Cloudflare 官方网站:https://www.cloudflare.com/ 点评:Cloudflare 很早就开始提供免费 SSL 证书,前提是你的域名要放在 Cloudflare 解析,注册为 Free Plan 就可以。 备注:只要域名加入 Cloudflare Free Plan,解析 A 记录的时候,点击 Traffic to this hostname will go through Cloudflare,就可以了。一般情况下,这个免费的 Universal SSL 里会包含一大堆别人的域名(该证书也是 Comodo 发行的)。当然,如果你比较介意这个的话,可以付费...阅读全文

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

发者仅能上传 UWP 应用之后,如今 Microsoft Store 中的应用数量和类型都逐渐丰富起来了。Visual Studio Code、Zoom、TeamViewer、VLC、Epic Game 等耳熟能详的应用都纷纷登陆应用商店。 近日,Python 软件基金会(Python Software Foundation)将官方的 Python 3.11(Alp... 5 1 Docker 20.10.9 发布 Docker 20.10.9 现已发布。这是一个安全版本,在 CLI、runtime 以及 containerd.io 包和 Go runtime 的更新版本中进行了安全修复。具体更新内容如下: Client CVE-2021-41092 确保默认身份验证配置设置了地址字段,以防...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

聊聊很重要的内核技术eBPF

,eBPF程序可以调用帮助函数,该函数是内核提供的众所周知且稳定的API。 总结 安全,网络,负载均衡,故障分析,追踪等领域都是eBPF的主战场。对于云原生领域,Cilium 已经使用eBPF 实现了无kube-proxy的容器网络。利用eBPF解决iptables带来的性能问题。 整个eBPF生态发展比较好,社区已经提供了诸多工具方便大家编写自己的eBPF程序。...阅读全文

博文 2020-08-16 11:08:44 debian.cn

7大维度看国外企业为啥选择gRPC打造高性能微服务

。 仪表板的发布在进行中,工程团队将Bugsnag的后端功能分解成称之为管道(pipeline)的微服务体系。将管道扩展到支持发布,意味着增加新的服务,并修改现有服务,也可预见到许多新的服务器和客户端的交互。为了处理上述架构的变化,需要采用一致性的方式来设计,实施和集成企业的服务。Bugsnag是一家多语言的公司,服务是用Java,Ruby,Go和Node.js等多语言编写,因此企业需要一种与平台无关的方法。 本文将介绍为什么我们最终选择了gRPC作为Pipeline的默认通信框架。 达到REST API设计的极限 现有系统传统上使用具有JSON有效载荷的REST API进行同步通信。这种选择是基于占压倒性比例的成熟度、熟悉度和工具的可用性做出的,但是随着跨洲际工程团队的增长,企业需要设计一致的...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Terraform 学习总结 — Terraform 简介

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

Docker 核心原理

usr var # 进入到对应的容器 root@a2b1e73dda7f:/# ls bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 我们可以看到容器的目录结构和 merged 是一致的。 多阶段构建 在文章的最后我们介绍比较实用的优化构建的方法,多阶段构建 下面的 dockerfile 是一个简单的 golang 应用构建过程 1 2 3 4 5 6 7 8 FROM golang:1.15.6-alpine3.12 RUN mkdir -p /src WORKDIR /src COPY src/ . RUN go build -o app . EXPOSE...阅读全文

博文 2021-02-25 09:14:23 lxkaka

kubelet 中垃圾回收机制的设计与实现

启动容器和镜像垃圾回收两个任务,其主要逻辑为:1、启动 containerGC goroutine,ContainerGC 间隔时间默认为 1 分钟;2、检查 --image-gc-high-threshold 参数的值,若为 100 则禁用 imageGC;3、启动 imageGC goroutine,imageGC 间隔时间默认为 5 分钟;k8s.io/kubernetes/pkg/kubelet/kubelet.go:1270func (kl *Kubelet) StartGarbageCollection() { loggedContainerGCFailure := false // 1、启动容器垃圾回收服务 go wait.Until(func() { if err...阅读全文

博文 2021-02-05 17:48:22 知乎

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

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

能清楚地记住不同工作流程的所有细节。每当我遇到一个与我的工作方式截然不同的包时,我就会非常沮丧,我不得不重温日常工作的各个方面。 在注意到Go包团队(我最初的团队)工作流程的支离破碎后,我尝试采用这篇文章(https://go-team.pages.debian.net/workflow-changes.html)中介绍的工作流程更改提议来解决这个问题,但没能成功。虽然我愿意贡献时间和精力,但周围的工具缺乏有效的自动化,且变化速度缓慢,这抹杀了我的动力。 陈旧的基础设施:包的上传 如果想在Debian中创建包,你需要通过匿名FTP上传GPG签名的文件。还有几个定时(例如dinstall的运行时间为UTC 01:52、UTC 07:52、UTC 13:52和UTC 19:52)运行的批处理作业...阅读全文

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

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

。 19. Unity Folders启动器组织整理 Unity Folders是一款恰如其名的应用程序,它让你可以在Unity启动器上创建可点击的文件夹。 如果你想不必打开Unity Dash,就可以根据类型(“游戏”、“办公”、“社交”等)管理最常用的应用程序,它再理想不过了。你可以定制文件夹图标(或根据里面的应用程序,自动生成图标),同时还可以对现有的文件夹进行编辑、重新排列、更名及其他操作。 20. Clementine音乐播放器 我在开始撰写本文时,就相信自己不会列出可替代Rhythmbox的其他任何音乐播放器,就因为很少有播放器像它那样提供强大的功能。 21. Go For It任务管理器 Ubuntu不再随带一款还不错的笔记应用程序(它过去随带Tomboy),但要是没有这样一种工具...阅读全文

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

译: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

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

sidecar容器,在sidecar容器就绪后启动业务容器,从启动流程上保证顺序性。 通过更改Pod规范中的container.lifecycle.type将容器标记为Sidecar类型:Sidecar,默认为Standard,如下: apiVersion: v1 kind: Pod metadata: name: bookings-v1-b54bc7c9c-v42f6 labels: app: demoapp spec: containers: - name: bookings image: banzaicloud/allspark:0.1.1 ... - name: istio-proxy image: docker.io/istio/proxyv2:1.4.3 lifecycle: type...阅读全文

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

Golang 中的 channel 通道详解

发送和接收操作将导致两个goroutine做一次同步操作。 因为这个原因,无缓存Channels有时候也被称为同步Channels 。当通过一个无缓存Channels发送数据时,接收者收到数据发生在再次唤醒发送者goroutine之前。单向channel当一个channel作为一个函数参数时,它一般总是被专门用于只发送或者只接收。为了表明这种意图并防止被滥用,Go语言的类型系统提供了单方向的channel类型,分别用于只发送或只接收的channel。类型 chan<- int 表示一个只发送int的channel,只能发送不能接收。相反,类型<-chan int 表示一个只接收int的channel,只能接收不能发送。(箭头<-和关键字chan的相对位置表明了channel的方向 。)这种限...阅读全文

HTTP状态码详解

择。但是,规范中并没有定义任何作出此类自动选择的标准。 407 与401响应类似,只不过客户端必须在代理服务器上进行身份验证。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。客户端可以返回一个 Proxy-Authorization 信息头用以验证。参见RFC 2617。 408 请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。客户端可以随时再次提交这一请求而无需进行任何更改。 409 由于和被请求的资源的当前状态之间存在冲突,请求无法完成。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求。该响应应当包含足够的信息以便用户发现冲突的源头。 冲突通常发生于对 PUT 请求的处理中。例如,在采用版本检查的环境...阅读全文

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

2017 年会是 Serverless 爆发之年吗

Serverless 框架之一。该服务最迟支持 Node.js,现在也支持 Java 和 Python。它与 Alexa Skills Kit(软件开发工具包)紧密集成,亚马逊提供交互式控制台和命令行工具,以便上传和管理代码片段。 Google Cloud Functions Google 是为服务架构的最前沿公司,除了推动 Kubernetes,Google 还投资了 Cloud Functions,该架构可以在其公共云基础设施上运行。 Iron.io Iron.io 最初是为企业级应用提供微服务。Iron.io 是用 Go 语言编写的,用于处理高并发、高性能计算服务,并已经集成 Docker 服务,提供一种完整的微服务平台。 IBM OpenWhisk 2016 年 2 月的 InterConnect 大...阅读全文

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

HAProxy用法详解 最详细中文文档

install -y haproxy #直接使用deb来安装 2,详解配置文件 haproxy 的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global,defaults,frontend,backend,listen。 2.1 配置文件格式 HAProxy的配置处理3类来主要参数来源: ——最优先处理的命令行参数; ——“global”配置段,用于设定全局配置参数; ——proxy相关配置段,如“defaults”、“listen”、“frontend”和“backend”; 2.2 时间格式 一些包含了值的参数表示时间,如超时时长。这些值一般以毫秒为单位,但也可以使用其它的时间单位后缀。 us: 微秒(microseconds),即1/1000000秒; ms: 毫秒...阅读全文

博文 2014-05-10 17:14:46 debian.cn

最全的 DevOps 工具集合

种付费计划,并提供了开源的免费方案。TravisPro 提供了在客户自己的硬件上定制化部署专有版本的能力。 Concourse Concourse 是用 Go 编写的自动化系统。人们经常将它用于 CI/CD,其卖点是强大的可伸缩性,可以提供很简单或者很复杂的自动化管道。 AWS CodePipeline AWS CodePipeline 是一项完全托管的 CD 服务,可帮助你自动化发布管道,以实现快速、可靠的应用程序和基础架构更新流程。 每当你更改代码时,CodePipeline 都会根据你定义的发布模型自动执行发布流程中的构建、测试和部署阶段。这使你能够快速可靠地交付功能和更新。 你可以轻松地将 AWS CodePipeline 与第三方服务(例如 GitHub)或你自己的自制插件集成。使...阅读全文

博文 2021-05-26 14:35:21 博客园

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

到此 Binding 对象时,注册吧会将该对象反序列化并更新 Pod 资源中的以下字段: 将 NodeName 的值设置为 ObjectReference 中的 NodeName。添加相关的注释。将 PodScheduled 的 status 值设置为 True。可以通过 kubectl 来查看: $ kubectl get -o go-template='{{range .status.conditions}}{{if eq .type "PodScheduled"}}{{.status}}{{end}}{{end}}' 一旦 Scheduler 将 Pod 调度到某个节点上,该节点的 Kubelet 就会接管该 Pod 并开始部署。 Note 预选策略和优选策略都可以...阅读全文

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

深入了解Docker背后的namespace技术

容器中创建namespace,不要让他影响到你,我选择提供一个容器预加载所有依赖项的方法。我使用 --net host标志,这样可以在容器内看到host的网络接口。也需要提供--privilged标签,以保证拥有正确的权限去通过容器创建新的namespace。 以下是Dockerfile内的内容: FROM debian:jessie RUN apt-get update && apt-get install -y \ gcc \ vim \ emacs COPY containers/ /containers/ WORKDIR /containers CMD ["bash"] 我会使用C语言来解释这个例子,因为它比Go语言更容易去解释底层的细节。 NET Namespace network...阅读全文

博文 2015-05-17 10:03:00 debian.cn