本部分将会在三台控制节点上部署 Kubernetes 控制服务,并配置高可用的集群架构。并且还会创建一个用于外部访问的负载均衡器。每个控制节点上需要部署的服务包括:Kubernetes API Server、Scheduler 以及 Controller Manager 等。 事前准备 以下命令需要在每台控制节点上面都运行一遍,包括 controller-0、controller-1 和 cont
Kubernetes 组件都是无状态的,所有的群集状态都储存在 etcd 集群中。 本部分内容将部署一套三节点的 etcd 群集,并配置高可用以及远程加密访问。 事前准备 本部分的命令需要在每个控制节点上都运行以便,包括 controller-0、controller-1 和 controller-2。可以使用 gcloud 命令登录每个控制节点,比如 gcloud compute ssh con
Kubernetes 存储了集群状态、应用配置和密钥等很多不同的数据。而 Kubernetes 也支持集群数据的加密存储。 本部分将会创建加密密钥以及一个用于加密 Kubernetes Secrets 的 加密配置文件。 加密密钥 建立加密密钥: ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64) 加密配置文件 生成名为 encryption-co
本部分内容将会创建 kubeconfig 配置文件,它们是 Kubernetes 客户端与 API Server 认证与鉴权的保证。 客户端认证配置 本节将会创建用于 kubelet 和 kube-proxy 的 kubeconfig 文件。 scheduler 和 controller manager 将会通过不安全的端口与 API Server 通信,该端口无需认证,并仅允许来自本地的请求访问
我们将使用 CloudFlare’s PKI 工具 cfssl 来配置 PKI Infrastructure,然后使用它去创建 Certificate Authority(CA), 并为 etcd、kube-apiserver、kubelet 以及 kube-proxy 创建 TLS 证书。 Certificate Authority 本节创建用于生成其他 TLS 证书的 Certificate
Kubernetes 需要一些机器去搭建管理 Kubernetes 的控制平台, 也需要一些工作节点(work node)来运行容器。在这个实验中你将会创建一些虚拟机,并利用 GCE Compute Zone 来运行安全且高可用的 Kubernetes 集群。 请确定默认 Compute Zone 和 Region 已按照 事前准备 的设定步骤完成。 网络 Kubernetes 网络模型 假设使用
本次实验你将会安装一些实用的命令行工具, 用来完成这份指南,这包括 cfssl、cfssljson 以及 kubectl。 从 cfssl 网站 下载 cfssl 和 cfssljson 并安装: OS X curl -o cfssl https://pkg.cfssl.org/R1.2/cfssl_darwin-amd64 curl -o cfssljson https://pkg.cfssl.
Google Cloud Platform 这份指南使用了 Google Cloud Platform 作为 kubernetes 集群的环境平台。注册 即可获得 300 美元的试用金。 估计 完成教学的花费金额: 每小时 0.22 美元 (每天 5.39 美元). 注意:这份教学需求的计算资源会超出试用金的额度。 Google Cloud Platform SDK 安装 Google Cloud
本部分翻译自 Kubernetes The Hard Way,译者 @kweisamx 和 @feiskyer。该教程指引用户在 Google Cloud Platform 上面一步步搭建一个高可用的 Kubernetes 集群。 如有翻译不好的地方或文字上的错误, 欢迎提出 Issue 或是 PR。 另外,繁体中文版翻译见 Kubernetes-The-Hard-Way-ZH-tw。 本教程将带
一个Kubernetes集群由分布式存储etcd、控制节点controller以及服务节点Node组成。 控制节点主要负责整个集群的管理,比如容器的调度、维护资源的状态、自动扩展以及滚动更新等 服务节点是真正运行容器的主机,负责管理镜像和容器以及cluster内的服务发现和负载均衡 etcd集群保存了整个集群的状态 详细的介绍请参考Kubernetes架构。 集群联邦 集群联邦(Federatio
扩展应用 通过修改Deployment中副本的数量(replicas),可以动态扩展或收缩应用: 这些自动扩展的容器会自动加入到service中,而收缩回收的容器也会自动从service中删除。 $ kubectl scale --replicas=3 deployment/nginx-app $ kubectl get deploy NAME DESIRED CURRENT
体验Kubernetes最简单的方法是跑一个nginx容器,然后使用kubectl操作该容器。Kubernetes提供了一个类似于docker run的命令kubectl run,可以方便的创建一个容器(实际上创建的是一个由deployment来管理的Pod): $ kubectl run --image=nginx:alpine nginx-app --port=80
Container Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而使得容器可以很方便的在任何地方运行。 由于容器体积小且启动快,因此可以在每个容器镜像中打包一个应用程序。这种一对一的应用镜像关系拥有很多好处。使用容器,不需要与外部的基础架构环境绑定, 因为每一个应用程序都不需要外部依赖,更不
Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括: 基于容器的应用部署、维护和滚动升级 负载均衡和服务发现 跨机器和跨地区的集群调度 自动伸缩 无状态服务和有状态服务 广泛的Volume支持 插件机制保证扩展性 Kubernetes发展非常迅速,已经成为容器编排领域的领导者。 Kubernetes是一个平台 Kubernetes
本系列文档介绍使用二进制部署最新 kubernetes v1.6.2 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群。 在部署的过程中,将详细列出各组件的启动参数,它们的含义和可能遇到的问题。 部署完成后,你将理解系统各组件的交互原理,进而能快速解决实际问题。 所以本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。