Kubernetes Handbook
  • Kubernetes 中文指南/云原生应用架构实践手册
  • 前言
    • 序言
  • 云原生
    • 云原生(Cloud Native)的定义
    • 云原生的设计哲学
    • Play with Kubernetes
    • 快速部署一个云原生本地实验环境
    • 使用Rancher在阿里云上部署Kubenretes集群
    • Kubernetes与云原生应用概览
    • 云原生应用之路——从Kubernetes到Cloud Native
    • 云原生编程语言
      • 云原生编程语言Ballerina
      • 云原生编程语言Pulumi
    • 云原生的未来
  • 概念与原理
    • Kubernetes架构
      • 设计理念
      • Etcd解析
      • 开放接口
        • CRI - Container Runtime Interface(容器运行时接口)
        • CNI - Container Network Interface(容器网络接口)
        • CSI - Container Storage Interface(容器存储接口)
    • Kubernetes中的网络
      • Kubernetes中的网络解析——以flannel为例
      • Kubernetes中的网络解析——以calico为例
      • 具备API感知的网络和安全性管理开源软件Cilium
        • Cilium架构设计与概念解析
    • 资源对象与基本概念解析
    • Pod状态与生命周期管理
      • Pod概览
      • Pod解析
      • Init容器
      • Pause容器
      • Pod安全策略
      • Pod的生命周期
      • Pod Hook
      • Pod Preset
      • Pod中断与PDB(Pod中断预算)
    • 集群资源管理
      • Node
      • Namespace
      • Label
      • Annotation
      • Taint和Toleration(污点和容忍)
      • 垃圾收集
    • 控制器
      • Deployment
      • StatefulSet
      • DaemonSet
      • ReplicationController和ReplicaSet
      • Job
      • CronJob
      • Horizontal Pod Autoscaling
        • 自定义指标HPA
      • 准入控制器(Admission Controller)
    • 服务发现
      • Service
      • Ingress
        • Traefik Ingress Controller
    • 身份与权限控制
      • ServiceAccount
      • RBAC——基于角色的访问控制
      • NetworkPolicy
    • 存储
      • Secret
      • ConfigMap
        • ConfigMap的热更新
      • Volume
      • Persistent Volume(持久化卷)
      • Storage Class
      • 本地持久化存储
    • 集群扩展
      • 使用自定义资源扩展API
      • 使用CRD扩展Kubernetes API
      • Aggregated API Server
      • APIService
      • Service Catalog
    • 资源调度
      • QoS(服务质量等级)
  • 用户指南
    • 用户指南
    • 资源对象配置
      • 配置Pod的liveness和readiness探针
      • 配置Pod的Service Account
      • Secret配置
      • 管理namespace中的资源配额
    • 命令使用
      • Docker用户过渡到kubectl命令行指南
      • kubectl命令概览
      • kubectl命令技巧大全
      • 使用etcdctl访问kubernetes数据
    • 集群安全性管理
      • 管理集群中的TLS
      • kubelet的认证授权
      • TLS bootstrap
      • 创建用户认证授权的kubeconfig文件
      • IP伪装代理
      • 使用kubeconfig或token进行用户身份认证
      • Kubernetes中的用户与身份认证授权
      • Kubernetes集群安全性配置最佳实践
    • 访问Kubernetes集群
      • 访问集群
      • 使用kubeconfig文件配置跨集群认证
      • 通过端口转发访问集群中的应用程序
      • 使用service访问群集中的应用程序
      • 从外部访问Kubernetes中的Pod
      • Cabin - Kubernetes手机客户端
      • Kubernetic - Kubernetes桌面客户端
      • Kubernator - 更底层的Kubernetes UI
    • 在Kubernetes中开发部署应用
      • 适用于kubernetes的应用开发部署流程
      • 迁移传统应用到Kubernetes中——以Hadoop YARN为例
      • 使用StatefulSet部署用状态应用
  • 最佳实践
    • 最佳实践概览
    • 在CentOS上部署Kubernetes集群
      • 创建TLS证书和秘钥
      • 创建kubeconfig文件
      • 创建高可用etcd集群
      • 安装kubectl命令行工具
      • 部署master节点
      • 安装flannel网络插件
      • 部署node节点
      • 安装kubedns插件
      • 安装dashboard插件
      • 安装heapster插件
      • 安装EFK插件
    • 生产级的Kubernetes简化管理工具kubeadm
      • 使用kubeadm在Ubuntu Server 16.04上快速构建测试集群
    • 服务发现与负载均衡
      • 安装Traefik ingress
      • 分布式负载测试
      • 网络和集群性能测试
      • 边缘节点配置
      • 安装Nginx ingress
      • 安装配置DNS
        • 安装配置Kube-dns
        • 安装配置CoreDNS
    • 运维管理
      • Master节点高可用
      • 服务滚动升级
      • 应用日志收集
      • 配置最佳实践
      • 集群及应用监控
      • 数据持久化问题
      • 管理容器的计算资源
      • 集群联邦
    • 存储管理
      • GlusterFS
        • 使用GlusterFS做持久化存储
        • 使用Heketi作为Kubernetes的持久存储GlusterFS的external provisioner
        • 在OpenShift中使用GlusterFS做持久化存储
      • GlusterD-2.0
      • Ceph
        • 用Helm托管安装Ceph集群并提供后端存储
        • 使用Ceph做持久化存储
        • 使用rbd-provisioner提供rbd持久化存储
      • OpenEBS
        • 使用OpenEBS做持久化存储
      • Rook
      • NFS
        • 利用NFS动态提供Kubernetes后端存储卷
    • 集群与应用监控
      • Heapster
        • 使用Heapster获取集群和对象的metric数据
      • Prometheus
        • 使用Prometheus监控kubernetes集群
        • Prometheus查询语言PromQL使用说明
      • 使用Vistio监控Istio服务网格中的流量
    • 分布式跟踪
      • OpenTracing
    • 服务编排管理
      • 使用Helm管理Kubernetes应用
      • 构建私有Chart仓库
    • 持续集成与发布
      • 使用Jenkins进行持续集成与发布
      • 使用Drone进行持续集成与发布
    • 更新与升级
      • 手动升级Kubernetes集群
      • 升级dashboard
  • 领域应用
    • 领域应用概览
    • 微服务架构
      • 微服务中的服务发现
      • 使用Java构建微服务并发布到Kubernetes平台
        • Spring Boot快速开始指南
    • Service Mesh 服务网格
      • 企业级服务网格架构
        • Service Mesh基础
        • Service Mesh技术对比
        • 采纳和演进
        • 定制和集成
        • 总结
      • Istio
        • 安装并试用Istio service mesh
        • 配置请求的路由规则
        • 安装和拓展Istio service mesh
        • 集成虚拟机
        • Istio中sidecar的注入规范及示例
        • 如何参与Istio社区及注意事项
        • Istio教程
        • Istio免费学习资源汇总
        • 深入理解Istio Service Mesh中的Envoy Sidecar注入与流量劫持
        • 深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发
      • Linkerd
        • Linkerd 使用指南
      • Conduit
        • Condiut概览
        • 安装Conduit
      • Envoy
        • Envoy的架构与基本术语
        • Envoy作为前端代理
        • Envoy mesh教程
      • SOFAMesh
        • SOFAMesh中的Dubbo on x-protocol
      • MOSN
        • 使用 MOSN 构建 SOFAMesh
    • 大数据
      • Spark standalone on Kubernetes
      • 运行支持Kubernetes原生调度的Spark程序
    • Serverless架构
      • 理解Serverless
      • FaaS-函数即服务
        • OpenFaaS快速入门指南
    • 边缘计算
    • 人工智能
  • 开发指南
    • 开发指南概览
    • SIG和工作组
    • 开发环境搭建
      • 本地分布式开发环境搭建(使用Vagrant和Virtualbox)
    • 单元测试和集成测试
    • client-go示例
    • Operator
      • operator-sdk
    • kubebuilder
    • 高级开发指南
    • 社区贡献
    • Minikube
  • CNCF(云原生计算基金会)
    • CNCF - 云原生计算基金会简介
    • CNCF章程
    • CNCF特别兴趣小组(SIG)说明
    • 开源项目加入CNCF Sandbox的要求
    • CNCF中的项目治理
    • CNCF Ambassador
  • 附录
    • 附录说明
    • Kubernetes中的应用故障排查
    • Kubernetes相关资讯和情报链接
    • Docker最佳实践
    • 使用技巧
    • 问题记录
    • Kubernetes版本更新日志
      • Kubernetes1.7更新日志
      • Kubernetes1.8更新日志
      • Kubernetes1.9更新日志
      • Kubernetes1.10更新日志
      • Kubernetes1.11更新日志
      • Kubernetes1.12更新日志
      • Kubernetes1.13更新日志
      • Kubernetes1.14更新日志
      • Kubernetes1.15更新日志
    • Kubernetes及云原生年度总结及展望
      • Kubernetes与云原生2017年年终总结及2018年展望
      • Kubernetes与云原生2018年年中总结及2019年展望
    • CNCF年度报告解读
      • CNCF 2018年年度报告解读
    • Kubernetes认证服务提供商(KCSP)说明
    • 认证Kubernetes管理员(CKA)说明
Powered by GitBook
On this page
  • 关于本书
  • 开始之前
  • 本书主题
  • 使用方式
  • 快速开始
  • 贡献与致谢
  • License
  • Stargazers over time
  • 社区&读者交流
  • 读者反馈
  • 云原生出版物
  • 推荐
  • 支持本书

Was this helpful?

  1. 前言

序言

PreviousKubernetes 中文指南/云原生应用架构实践手册Next云原生(Cloud Native)的定义

Last updated 5 years ago

Was this helpful?

是Google基于开源的容器编排调度引擎,作为(Cloud Native Computing Foundation)最重要的组件之一,它的目标不仅仅是一个编排系统,而是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,Kubernetes可以帮你将系统自动地达到和维持在这个状态。Kubernetes作为云原生应用的基石,相当于一个云操作系统,其重要性不言而喻。

关于本书

本书起始于2017年3月,记录了本人从零开始学习和使用Kubernetes的心路历程,着重于经验分享和总结,同时也会有相关的概念解析,希望能够帮助大家少踩坑,少走弯路,还会指引大家关注Kubernetes生态周边,如微服务构建、DevOps、大数据应用、、Cloud Native等领域。

开始之前

在阅读本书之前希望您掌握以下知识和准备以下环境:

  • Linux 操作系统原理

  • Linux 常用命令

  • Docker 容器原理及基本操作

  • 一台可以上网的电脑,Mac/Windows/Linux 皆可

  • 安装 Docker

本书主题

本书的主题不局限于Kubernetes,还包括以下几大主题:

  • 云原生开源组件

  • 云原生应用与微服务架构

  • 基于Kubernetes的Service Mesh架构

  • Kubernetes与微服务结合实践

起初写作本书时,安装的所有组件、所用示例和操作等皆基于 Kubernetes 1.6+ 版本,同时我们也将密切关注Kubernetes的版本更新,随着它的版本更新升级,本书中的Kubernetes版本和示例也将随之更新。

使用方式

您可以通过以下方式使用本书:

  • Fork 一份添加你自己的笔记自行维护,有余力者可以一起参与进来

快速开始

贡献与致谢

感谢大家对本书做出的贡献!

License

Stargazers over time

社区&读者交流

  • 与我联系:扫描下面的二维码关注Jimmy Song 的个人微信公众号CloudNativeGo(云原生应用架构)

读者反馈

云原生出版物

以下为本人参与出版云原生相关的图书。

推荐

支持本书

为云原生干杯🍻!使用微信扫一扫请我喝一杯☕️

GitHub地址:

GitBook在线浏览:

下载本书的发行版:

按照自行编译成离线版本

注意:本书中的 Service Mesh 相关内容已不再维护,请转至 浏览。

如果您想要学习Kubernetes和云原生应用架构但是又不想自己从头开始搭建和配置一个集群,那么可以直接使用项目直接在本地部署一个3节点的分布式集群及其他如Heapster、EFK、Istio等可选组件,或者使用更加轻量级的在个人电脑上使用Docker运行单节点的Kubernetes、Istio等组件。

微信群:K8S&Cloud Native实战,扫描我的微信二维码,,添加时请备注姓名-公司/学校/组织/机构等。

Slack:全球中文用户可以加入中文频道cn-users channel

知乎专栏:

ServiceMesher社区:ServiceMesher 社区是由一群拥有相同价值观和理念的志愿者们共同发起,成立于 2018 年 4 月。社区关注领域有:Kubernetes、微服务、Service Mesh、Serverless,拥抱开源和云原生,致力于推动 Service Mesh 在中国的蓬勃发展。。

以下是部分读者反馈,希望更多人,共同打造中国质量最高的云原生社区!

- 基于Go和React的web云原生应用构建指南(Kevin Hoffman & Dan Nemeth著 宋净超 吴迎松 徐蓓 马超 译),电子工业出版社,2017年6月出版

- 使用Python和React构建云原生应用(Manish Sethi著,宋净超译),电子工业出版社,2018年6月出版

- Spring Boot、Spring Cloud与Cloud Foundry弹性系统设计(Josh Long & Kenny Bastani著,张若飞 宋净超译 ),电子工业出版社,2018年7月出版

- 张亮 吴晟 敖小剑 宋净超 著,电子工业出版社,2019年3月出版

- 一款使用 Go 语言开发的开源的 Service Mesh 数据平面代理,旨在为服务提供分布式、模块化、可观察和智能化的代理能力。

https://github.com/rootsongjc/kubernetes-handbook
https://jimmysong.io/kubernetes-handbook/
https://github.com/rootsongjc/kubernetes-handbook/releases
说明
istio-handbook
kubernetes-vagrant-centos-cluster
cloud-native-sandbox
查看贡献者列表
查看如何贡献
查看文档的组织结构与使用方法
署名-非商业性使用-相同方式共享 4.0 (CC BY-NC-SA 4.0)
Jimmy Song
Kubernetes官方Slack
云原生应用架构
加入组织
加入我们
Cloud Native Go
Python云原生
云原生Java
未来架构——从服务化到云原生
极客时间专栏《深入剖析 Kubernetes》
MOSN
Kubernetes
Borg
CNCF
Service Mesh
Stargazers over time
CircleCI
CC4 License
云原生应用架构微信公众号二维码
ServiceMesher微信公众号二维码
Kubernetes handbook 读者反馈
微信赞赏码
Kubernetes Handbook——Kubernetes中文指南/云原生应用架构实践手册 by Jimmy Song(宋净超)