pull/454/head
Jimmy Song 2021-11-09 17:26:46 +08:00
parent be643b7ce7
commit 338d7888bd
No known key found for this signature in database
GPG Key ID: CBA666E6EF8B2C3A
11 changed files with 65 additions and 62 deletions

View File

@ -77,7 +77,7 @@
* [Service API 简介](concepts/service-api-overview.md)
* [身份与权限控制](concepts/authentication-and-permission.md)
* [ServiceAccount](concepts/serviceaccount.md)
* [RBAC—— 基于角色的访问控制](concepts/rbac.md)
* [基于角色的访问控制RBAC](concepts/rbac.md)
* [NetworkPolicy](concepts/network-policy.md)
* [网络](concepts/networking.md)
* [Kubernetes 中的网络解析 —— 以 flannel 为例](concepts/flannel.md)
@ -89,7 +89,7 @@
* [ConfigMap](concepts/configmap.md)
* [ConfigMap 的热更新](concepts/configmap-hot-update.md)
* [Volume](concepts/volume.md)
* [Persistent Volume(持久化卷](concepts/persistent-volume.md)
* [持久化卷(Persistent Volume](concepts/persistent-volume.md)
* [Storage Class](concepts/storageclass.md)
* [本地持久化存储](concepts/local-persistent-storage.md)
* [集群扩展](concepts/extension.md)
@ -99,9 +99,10 @@
* [APIService](concepts/apiservice.md)
* [Service Catalog](concepts/service-catalog.md)
* [多集群管理](concepts/multicluster.md)
* [Multi-Cluster Services API多集群服务 API ](concepts/multi-cluster-services-api.md)
* [多集群服务 APIMulti-Cluster Services API](concepts/multi-cluster-services-api.md)
* [集群联邦Cluster Federation](practice/federation.md)
* [资源调度](concepts/scheduling.md)
* [QoS服务质量等级)](concepts/qos.md)
* [服务质量等级QoS](concepts/qos.md)
## 用户指南
@ -173,7 +174,6 @@
* [集群及应用监控](practice/monitor.md)
* [数据持久化问题](practice/data-persistence-problem.md)
* [管理容器的计算资源](practice/manage-compute-resources-container.md)
* [集群联邦Cluster Federation](practice/federation.md)
* [存储管理](practice/storage.md)
* [GlusterFS](practice/glusterfs.md)
* [使用 GlusterFS 做持久化存储](practice/using-glusterfs-for-persistent-storage.md)
@ -193,7 +193,7 @@
* [Heapster](practice//heapster.md)
* [使用 Heapster 获取集群和对象的 metric 数据](practice/using-heapster-to-get-object-metrics.md)
* [Prometheus](practice/prometheus.md)
* [使用 Prometheus 监控 kubernetes 集群](practice/using-prometheus-to-monitor-kuberentes-cluster.md)
* [使用 Prometheus 监控 Kubernetes 集群](practice/using-prometheus-to-monitor-kuberentes-cluster.md)
* [Prometheus 查询语言 PromQL 使用说明](practice/promql.md)
* [使用 Vistio 监控 Istio 服务网格中的流量](practice/vistio-visualize-your-istio-mesh.md)
* [分布式追踪](practice/distributed-tracing.md)
@ -211,7 +211,7 @@
* [OpenKruise](practice/openkruise.md)
* [原地升级](practice/in-place-update.md)
* [安全策略](practice/security-policy.md)
* [OPA开放策略代理)](practice/open-policy-agent.md)
* [开放策略代理OPA](practice/open-policy-agent.md)
* [云原生安全](practice/cloud-native-security.md)
## 服务网格
@ -284,7 +284,6 @@
* [开源项目加入 CNCF Sandbox 的要求](cloud-native/cncf-sandbox-criteria.md)
* [CNCF 中的项目治理](cloud-native/cncf-project-governing.md)
* [CNCF Ambassador](cloud-native/cncf-ambassador.md)
* [云原生社区](cloud-native/cnc.md)
* [认证及培训](cloud-native/certification.md)
* [认证 Kubernetes 服务提供商KCSP说明](appendix/about-kcsp.md)
* [认证 Kubernetes 管理员CKA说明](appendix/about-cka-candidate.md)

View File

@ -1,10 +1,10 @@
# 云原生编程语言 Pulumi
2018年6月18日 Joe Duffy在[他的博客](http://joeduffyblog.com/2018/06/18/hello-pulumi/)中宣布开源了云原生编程语言[Pulumi](https://pulumi.io)。这是继[Ballerina](https://ballerina.io)之后我看到的另一款云原生编程语言他们之间有一些共同的特点例如都是为了支持多种云环境基于不可变基础设施和基础设施即代码的理念构建使云原生应用的集成更加方便但也有一些不同Ballerina是直接创建了一个基于JVM的语言而Pulumi是为不同编程语言构建了SDK。
2018 6 18 日 Joe Duffy 在[他的博客](http://joeduffyblog.com/2018/06/18/hello-pulumi/)中宣布开源了云原生编程语言 [Pulumi](https://www.pulumi.com/)。这是继 [Ballerina](https://ballerina.io/) 之后我看到的另一款云原生编程语言他们之间有一些共同的特点例如都是为了支持多种云环境基于不可变基础设施和基础设施即代码的理念构建使云原生应用的集成更加方便但也有一些不同Ballerina 是直接创建了一个基于 JVM 的语言,而 Pulumi 是为不同编程语言构建了 SDK。
下文部分来自 Joe Duffy 的博客 [Hello, Pulumi](http://joeduffyblog.com/2018/06/18/hello-pulumi/)
![云原生编程语言Pulumi](../images/00704eQkgy1fsm4v0a6qwj30xc0m8t9d.jpg)
![云原生编程语言Pulumi](../images/pulumi.jpg)
TL;DR 有了 Pulumi38 页的手动操作说明将变成了 38 行代码。25000 行 YAML 配置变成了使用真实编程语言的 500 行语句。
@ -87,7 +87,7 @@ Pulumi不是PaaS尽管它提供类似PaaS的生产力您的程序总是直
这很难选择,但这里有一些关于 Pulumi 我最喜欢的东西:
**开源**。我坚信所有开发人员工具都应该是开源的。当然Pulumi也是一家公司但是有充足的机会通过增加便利性以建立商业模式。可以认为是Git与GitHub的关系我们从以前的工作中受益匪浅其中包括Docker、Terraform、Kubernetes、TypeScript以及其他许多明确提及的工作。我们期待成为生态系统的一部分。因为我们在开放源代码方面下了很大功夫所以我很高兴看到社区给我们带来什么特别是在更高级别的软件包领域。
**开源**。我坚信所有开发人员工具都应该是开源的。当然Pulumi 也是一家公司但是有充足的机会通过增加便利性以建立商业模式。可以认为是Git GitHub 的关系)我们从以前的工作中受益匪浅,其中包括 Docker、Terraform、Kubernetes、TypeScript 以及其他许多明确提及的工作。我们期待成为生态系统的一部分。因为我们在开放源代码方面下了很大功夫,所以我很高兴看到社区给我们带来什么,特别是在更高级别的软件包领域。
**多语言**。就像使用 Java 和.NET 一样Pulumi 运行时的架构可以支持多种语言,并以目标语言的所有方面(风格、语法、软件包等)的惯用方式来实现。因为我们是开源的,任何人都可以贡献自己的力量。
@ -97,7 +97,7 @@ Pulumi不是PaaS尽管它提供类似PaaS的生产力您的程序总是直
**可重复使用的组件**。由于拥有真正的语言,我们可以构建更高层次的抽象。我最喜欢的例子之一是帮助我们的客户定期从部署中排除 1000 行 YAML这是我们的 AWS 基础架构软件包。它采用 AWS 最佳实践来设置虚拟私有云,并提供专用子网和多可用区域支持,并将其转变为几行代码以配置整个网络:
```python
```
import * as awsinfra from "@pulumi/aws-infra";
let network = new awsinfra.Network(`${prefix}-net`, {
numberOfAvailabilityZones: 3, // Create subnets in many AZs
@ -111,7 +111,7 @@ let network = new awsinfra.Network(`${prefix}-net`, {
**Lambda 无服务器功能 **。 AWS 的取了个好名字Lambda。在 Pulumi 中,我现在可以用我最喜欢的语言使用 lambda 表达式来编写我的无服务器函数,而不需要一行 YAML
```python
```
import * as aws from "@pulumi/aws";
import * as serverless from "@pulumi/aws-serverless";
let topic = new aws.sns.Topic("topic");
@ -140,9 +140,9 @@ serverless.cloudwatch.onEvent("hourly", "rate(60 minutes)", event => {
今天很可能是我职业生涯中最激动人心的一天。我想感谢我们的团队和所有帮助过我们的人,放纵我们的疯狂想法并相信我们。
现在访问[https://pulumi.io](https://pulumi.io/)或者直接运行:
现在访问 [Pulumi 官方文档](https://www.pulumi.com/docs/index.html)或者直接运行:
```bash
```
$ curl -fsSL https://get.pulumi.com | sh
```
@ -150,5 +150,5 @@ $ curl -fsSL https://get.pulumi.com | sh
## 参考
- [Pulumi](https://pulumi.io)
- [Hello, Pulumi!](http://joeduffyblog.com/2018/06/18/hello-pulumi/)
- [Pulumi 官网 - pulumi.com](https://www.pulumi.com/)
- [Hello, Pulumi! - joeduffyblog.com](http://joeduffyblog.com/2018/06/18/hello-pulumi/)

View File

@ -1,8 +1,8 @@
# Multi-Cluster Services API多集群服务 API
# 多集群服务 APIMulti-Cluster Services API
2020 年初Kubernetes 社区提议 [Multi-Cluster Services API](https://docs.google.com/document/d/1hFtp8X7dzVS-JbfA5xuPvI_DNISctEbJSorFnY-nz6o/edit#heading=h.u7jfy9wqpd2b),旨在解决长久以来就存在的 Kubernetes 多集群服务管理问题。
K8s用户可能希望将他们的部署分成多个集群,但仍然保留在这些集群中运行的工作负载之间的相互依赖关系,这有[很多原因](http://bit.ly/k8s-multicluster-conversation-starter-doc)。今天集群是一个硬边界一个服务对远程的K8s消费者来说是不透明的,否则就可以利用元数据(如端点拓扑结构)来更好地引导流量。为了支持故障转移或在迁移过程中的临时性,用户可能希望消费分布在各集群中的服务,但今天这需要非复杂的定制解决方案。
Kubernetes 用户可能希望将他们的部署分成多个集群,但仍然保留在这些集群中运行的工作负载之间的相互依赖关系,这有[很多原因](https://docs.google.com/document/d/1G1lfIukib7Fy_LpLUoHZPhcZ5T-w52D2YT9W1465dtY/edit)。今天,集群是一个硬边界,一个服务对远程的 Kubernetes 消费者来说是不透明的,否则就可以利用元数据(如端点拓扑结构)来更好地引导流量。为了支持故障转移或在迁移过程中的临时性,用户可能希望消费分布在各集群中的服务,但今天这需要非复杂的定制解决方案。
多集群服务 API 旨在解决这些问题。

View File

@ -12,9 +12,9 @@
## 集群联邦
集群联邦Federation是指通过 Federation API 资源来统一管理多个集群的资源,如定义 Deployment 如何部署到不同集群上,其集群所需的副本数等。这些集群可能位于不同的可用区、地区或者供应商。实施集群联邦一般是为了达到以下目的:
集群联邦Federation是指通过 Federation API 资源来统一管理多个集群的资源,如定义 Deployment 如何部署到不同集群上,其所需的副本数等。这些集群可能位于不同的可用区、地区或者供应商。实施集群联邦一般是为了达到以下目的:
- 简化管理多个集群的 Kubernetes 组件 (如 Deployment、Service 等;
- 简化管理多个集群的 Kubernetes 组件 (如 Deployment、Service 等
- 在多个集群之间分散工作负载Pod以提升应用服务的可靠性
- 跨集群的资源编排,依据编排策略在多个集群进行应用(服务)部署;
- 在不同集群中,能更快速更容易地迁移应用(服务);

View File

@ -1,4 +1,4 @@
# Persistent Volume(持久化卷
# 持久化卷(Persistent Volume
本文档介绍了 Kubernetes 中 `PersistentVolume` 的当前状态。建议您在阅读本文档前先熟悉 [volume](https://kubernetes.io/docs/concepts/storage/volumes/)。

View File

@ -1,4 +1,4 @@
# QoS服务质量等级)
# 服务质量等级QoS
QoSQuality of Service大部分译为“服务质量等级”又译作“服务质量保证”是作用在 Pod 上的一个配置,当 Kubernetes 创建一个 Pod 时,它就会给这个 Pod 分配一个 QoS 等级,可以是以下等级之一:
@ -38,4 +38,4 @@ spec:
## 参考
- [Configure Quality of Service for Pods](https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/)
- [配置 Pod 的服务质量 - kubernetes.io](https://kubernetes.io/zh/docs/tasks/configure-pod-container/quality-service-pod/)

View File

@ -1,8 +1,8 @@
# RBAC—— 基于角色的访问控制
# 基于角色的访问控制RBAC
基于角色的访问控制Role-Based Access Control, 即”RBAC”使用”rbac.authorization.k8s.io” API Group 实现授权决策,允许管理员通过 Kubernetes API 动态配置策略。
**注意:本文基于 Kubernetes 1.6 撰写,当时 RBAC 模式处于 beta 版本。**
截至 Kubernetes 1.6RBAC 模式处于 beta 版本
基于角色的访问控制Role-Based Access Control即”RBAC”使用 `rbac.authorization.k8s.io` API Group 实现授权决策,允许管理员通过 Kubernetes API 动态配置策略
要启用 RBAC请使用 `--authorization-mode=RBAC` 启动 API Server。
@ -573,3 +573,7 @@ kubectl create clusterrolebinding permissive-binding \
--user=kubelet \
--group=system:serviceaccounts
```
## 参考
- [使用 RBAC 鉴权 - kubernetes.io](https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

BIN
images/pulumi.jpg 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,4 +1,4 @@
# OPA开放策略代理)
# 开放策略代理OPA
OPA全称 Open Policy Agent开放策略代理2016 年开源,目前已是 CNCF 中的毕业项目。官网是 [openpolicyagent.org](https://www.openpolicyagent.org/)。

View File

@ -1,4 +1,4 @@
# 使用Prometheus监控kubernetes集群
# 使用 Prometheus 监控 Kubernetes 集群
我们使用 Giantswarm 开源的 [kubernetes-promethues](https://github.com/giantswarm/kubernetes-prometheus) 来监控 kubernetes 集群,所有的 YAML 文件可以在 [../manifests/prometheus](https://github.com/rootsongjc/kubernetes-handbook/blob/master/manifests/prometheus) 目录下找到。