Web Analytics

Kubernetes Deployment故障排除图解指南

下面是一个示意图,可帮助你调试Kubernetes Deployment(你可以在此处下载它的PDF版本)。 当你希望在Kubernetes中部署应用程序时,你通常会定义三个组件: 一个Deployment – 这是一份用于创建你的应用程序的Pod副本的”食谱”; 一个Service – 一个内部负载均衡器,用于将流量路由到内部的Pod上; 一个Ingress – 描述如何流量应该如何从集群外部流入到集群内部的你的服务上。 下面让我们用示意图快速总结一下要点。 ...

December 8, 2019 · 13 min · Tony Bai

Go语言开源十周年

本文翻译自Go官方博客上Russ Cox代表Go核心团队发表的“Go Turns 10″一文。 生日快乐,Go! 这个周末,我们庆祝Go正式对外发布10周年,即Go作为开源编程语言和构建现代网络软件生态系统的10周年诞辰。 为了纪念这一时刻,Go gopher的创建者Renee French(用下面的新作)描绘了这个令人愉快的场景: ...

November 9, 2019 · 5 min · Tony Bai

Go语言项目的安全评估技术

在今年夏天我们对Kubernetes的评估成功之后,我们收到了大量Go项目的安全评估需求。为此,我们将在其他编译语言中使用过的安全评估技术和策略调整适配到多个Go项目中。 我们从了解语言的设计开始,识别出开发人员可能无法完全理解语言语义特性的地方。多数这些被误解的语义来自我们向客户报告的调查结果以及对语言本身的独立研究。尽管不是详尽无遗,但其中一些问题领域包括作用域、协程、错误处理和依赖管理。值得注意的是,其中许多与运行时没有直接关系。默认情况下,Go运行时本身的设计是安全的,避免了很多类似C语言的漏洞。 ...

November 8, 2019 · 14 min · Tony Bai

如何在Ubuntu 18.04 Server上部署Kubernetes集群

如今,你几乎不可避免地会听到来自Kubernetes的发声,你更没有充分的理由拒绝去听。 一旦一切就绪,这个强大的容器编排工具将以您难以想象的敏捷性来扩展您的操作。 为了实际使用Kubernetes进行部署和管理容器,您首先必须创建Kubernetes服务器集群。 一旦集群建立后,您就能够部署,扩展和管理您的容器化应用程序了。 ...

October 21, 2019 · 5 min · Tony Bai

在Kubernetes上如何基于自定义指标实现应用的自动缩放

如何在Kubernetes上实现应用缩放? 使用静态配置将应用程序部署到生产环境并不是最佳选择。 流量模式可能会快速变化,应用程序应该能够实现自适应: 当需求增加时,应用程序应扩大规模(增加副本数)以保持响应速度。 当需求减少时,应用程序应缩小规模(减少副本数量),以免浪费资源。 Kubernetes以Horizontal Pod Autoscaler的形式为自动缩放应用程序提供了出色的支持。 ...

October 11, 2019 · 9 min · Tony Bai

构建Kubernetes集群 – 选择工作节点大小

近期learnk8s网站上发布了一些关于k8s的好文章,这里搬运并翻译了一些,供大家参考。 本文翻译自《Architecting Kubernetes clusters — choosing a worker node size》。 当您创建Kubernetes集群时,冒出的第一个问题之一是:“我应该使用哪种类型的工作节点以及需要多少个这样的节点”。 如果您正在构建在内部部署的k8s集群,是应该订购一些最近一代的新服务器,还是使用数据中心内的十几台旧机器? 或者,如果您使用Google Kubernetes Engine(GKE)等托管Kubernetes服务,您是否应该使用八个n1-standard-1或两个n1-standard-4实例来实现所需的计算能力呢? ...

September 5, 2019 · 12 min · Tony Bai

提高您的kubectl生产力(第三部分):集群上下文切换、使用别名减少输入和插件扩展

本文翻译自《Boosting your kubectl productivity》。 第一部分:什么是kubectl? 第二部分:命令完成、资源规范快速查看和自定义列输出格式什么是kubectl? 4. 轻松切换集群和名称空间 当kubectl必须向Kubernetes API发出请求时,它会读取系统上所谓的kubeconfig文件,以获取它需要访问的所有连接参数并向API服务器发出请求。 ...

August 31, 2019 · 15 min · Tony Bai

提高您的kubectl生产力(第二部分):命令完成、资源规范快速查看和自定义列输出格式

本文翻译自《Boosting your kubectl productivity》。 第一部分:什么是kubectl? 1. 通过命令完成(command completion)减少输入 命令完成是提高你的kubectl生产力的最有用但经常被忽视的技巧之一。 ...

August 30, 2019 · 10 min · Tony Bai

提高您的kubectl生产力(第一部分):什么是kubectl

本文翻译自《Boosting your kubectl productivity》。 如果您使用Kubernetes,那么kubectl可能是您最常用的工具之一。每当您花费大量时间使用某种特定工具时,值得深入了解并了解如何有效地使用它。 本文包含一系列提示和技巧,使您对kubectl的使用更加高效和有效。同时,它旨在加深您对Kubernetes各方面工作的理解。 ...

August 29, 2019 · 7 min · Tony Bai

Go module机制下升级major版本号的实践

Go module机制在Go 1.11版本引入,虽然也伴随着不小的质疑声,但总体上Go社区多数Gopher是接受go module的,很多标杆式的Go项目(比如kubernetes、kubernetes client-go等)也都逐渐转向了Go module,并且Gopher也在向core team反馈了自己的建议和问题。Go core team也在go module最初设计的基础上持续进行着改进,比如:即将到来的Go 1.13版本中将增加默认GOPROXY(https://proxy.golang.org)、GOSUMDB(sum.golang.org);增加GONOPROXY、GONOSUMDB以应对私有module的处理;不断丰富的go mod子命令功能等。 ...

June 3, 2019 · 11 min · Tony Bai