Kubernetes 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本,也是 CNCF 最重要的项目之一,主要功能包括:
Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。Kubernetes 的中文资料也非常丰富,但系统化和紧跟社区更新的则就比较少见了。《Kubernetes 指南》开源电子书旨在整理平时在开发和使用 Kubernetes 时的参考指南和实践总结,形成一个系统化的参考指南以方便查阅。欢迎大家关注和添加完善内容。
项目源码存放于 Github 上,https://github.com/feiskyer/kubernetes-handbook。
如无特殊说明,本指南所有文档仅适用于 Kubernetes v1.6 及以上版本。详细更新记录见 CHANGELOG。
扫码关注微信公众号,回复关键字即可在微信中查看相关章节。
欢迎参与贡献和完善内容,贡献方法参考 CONTRIBUTING。感谢所有的贡献者,贡献者列表见 contributors。
rootsongjc/kubernetes-handbook: Kubernetes中文指南/实践手册 rootsongjc/kubernetes-handbook: Kubernetes中文指南/实践手册 posted on 2017-08-02 11:54 lexus 阅读( ...) 评论( ...) 编辑 收藏 转载于:https://www.cnblogs.com/lexus/p/72
Kubernetes Web UI 默认的配置下语言会跟着浏览器的语言走,也就是说你的浏览器语言是中文的话,面板的语言默认也是中文,并且无法通过面板上的设置来选择语言。大多数时候当然是母语最适合用户,但是像 k8s 这种系统,网上查到的资料大都是英文的,所以反倒是看到对应的中文术语的时候会让人愣一下,反应下这个中文对应的英文术语是什么。所以我个人更倾向将开发工具都默认设置为英文,很多情况下这反倒是
1 statefulset基础 1.1 引入原因 deployment, daemonset, job无状态,但是数据库集群的相关服务一般都是有状态的 1.2 statefulset特点 1) 每个pod有唯一网络标识,可用于发现集群内其他成员. 每个结点有固定id,集群中成员可通过该id互相发现并通信。集群规模固定。 2) statefulset控制的pod启停顺序是受控的,操作第n个pod时,
1 deployment基础 deployment内部使用Replica Set实现。 使用场景: 滚动升级和回滚,扩缩容等。 2 重要属性 2.1)滚动升级相关 apiVersion: extensions/v1beta1 kind: Deployment metadata: .... spec: strategy: rollingUpdate: maxSurge:
1 job基础 job负责仅执行一次的任务。 2 job样例 2.1 查看job yaml文件: {{- if .Values.manifests.job_db_init_mongodb }} {{- $envAll := . }} {{- $dependencies := .Values.dependencies.db_init_mongodb }} --- apiVersion: batch/
参考: https://kubernetes.io/zh/docs/concepts/overview/ https://github.com/rootsongjc/kubernetes-handbook https://github.com/feiskyer/kubernetes-handbook 核心技术概念和API对象 API对象是K8s集群中的管理操作单元。K8s集群系统每支持
1 概要介绍 DaemonSet: 特点: 确保全部Node上运行一个Pod副本(单副本) Node加入集群,则新增Pod;移除,则回收 删除Daemonset,删除创建的Pod 2编写 2.1 必须字段 apiVersion: 可用值: extensions/v1beta1 kind : 可用值:DaemonSet metadata: 例如:name: nova-compute .spec: 唯
1 Configmap基础 问题原因: 配置信息要和docker image解耦,不能修改配置就重做镜像。 作用:ConfigMap可以保存但个属性或整个配置文件 原理:保存key-value配置数据,该数据可以在pods里面使用。 可以理解为是多个属性文件的引用,认为是/etc目录,专门用来存储配置文件的目录。 示例文件1: ceilometer/temp {{- if empty .Value
微信公众号:运维开发故事,作者:夏老师 kubelet 的组件包括 kubelet 本身,也是按照“控制器”模式来工作的。它实际的工作原理,可以用如下所示的一幅示意图来表示清楚。 ![image.png](https://img-blog.csdnimg.cn/img_convert/565bfcde50bded075af78c9427ae52a3.png#clientId=ua7b6460c-6
Kubernetes (通常称为 K8s) 是来自 Google 云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。该系统基于 Docker 构建一个容器的调度服务。 Kubernetes 可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。详细的设计思路请参考这里。 Kubernetes 由 Google 设
Kubernetes Handbook Projects �� NOTIFICATION There are two branches in this repository. The master branch contains the starter projects and the completed branch contains the completed projects. This r
我正在使用Ansible、Docker、Jenkins和Kubernetes实现持续集成和持续部署。我已经使用Ansible和kubespray部署创建了一个具有1个主节点和2个工作节点的Kubernetes集群。我有30-40个微服务应用。我需要创建这么多的服务和部署。 我的困惑 当我使用Kubernetes包管理器Kubernetes Helm chart时,我需要在主节点上启动我的图表,还是
扩展应用 通过修改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
我试图在Kubernetes上运行Spark作为调度程序。 当使用从kubernetes集群外部运行时,它可以正常工作。 但是,每当我们尝试从pod中直接运行spark-shell或spark-submit时,它都不会起作用(即使使用从spark文档中执行rbac也不会起作用。我们有授权执行异常: io.fabric8.kubernetes.client.kubernetesclientExcep