[zh-cn] fix outdated link/anchor
Signed-off-by: hunshcn <hunsh.cn@gmail.com>pull/44669/head
parent
9bf997add3
commit
a4dd61c522
|
@ -86,7 +86,7 @@ The available configuration options for `swapBehavior` are:
|
|||
|
||||
<!--
|
||||
- `UnlimitedSwap` (default): Kubernetes workloads can use as much swap memory as they request, up to the system limit.
|
||||
- `LimitedSwap`: The utilization of swap memory by Kubernetes workloads is subject to limitations. Only Pods of [Burstable](docs/concepts/workloads/pods/pod-qos/#burstable) QoS are permitted to employ swap.
|
||||
- `LimitedSwap`: The utilization of swap memory by Kubernetes workloads is subject to limitations. Only Pods of [Burstable](/docs/concepts/workloads/pods/pod-qos/#burstable) QoS are permitted to employ swap.
|
||||
-->
|
||||
- `UnlimitedSwap`(默认):Kubernetes 工作负载可以根据请求使用尽可能多的交换内存,最多可达到系统限制。
|
||||
- `LimitedSwap`:Kubernetes 工作负载对交换内存的使用受到限制。
|
||||
|
@ -261,9 +261,9 @@ Swap configuration on a node is exposed to a cluster admin via the [`memorySwap`
|
|||
作为集群管理员,你可以通过设置 `memorySwap.swapBehavior` 来指定存在交换内存时节点的行为。
|
||||
|
||||
<!--
|
||||
The kubelet [employs the CRI](https://kubernetes.io/docs/concepts/architecture/cri/) (container runtime interface) API to direct the CRI to configure specific cgroup v2 parameters (such as `memory.swap.max`) in a manner that will enable the desired swap configuration for a container. The CRI is then responsible to write these settings to the container-level cgroup.
|
||||
The kubelet [employs the CRI](/docs/concepts/architecture/cri/) (container runtime interface) API to direct the CRI to configure specific cgroup v2 parameters (such as `memory.swap.max`) in a manner that will enable the desired swap configuration for a container. The CRI is then responsible to write these settings to the container-level cgroup.
|
||||
-->
|
||||
kubelet [使用 CRI](/zh-cn/docs/concepts/architecture/cri)
|
||||
kubelet [使用 CRI](/zh-cn/docs/concepts/architecture/cri/)
|
||||
(容器运行时接口)API 来指示 CRI 配置特定的 cgroup v2 参数(例如 `memory.swap.max`),
|
||||
配置方式要支持容器所期望的交换内存配置。接下来,CRI 负责将这些设置写入容器级的 cgroup。
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ Architecture: Conformance subproject_
|
|||
In this [SIG
|
||||
Architecture](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md)
|
||||
spotlight, we talked with [Riaan
|
||||
Kleinhans](https://github.com/Riaankl) (ii-Team), Lead for the
|
||||
Kleinhans](https://github.com/Riaankl) (ii.nz), Lead for the
|
||||
[Conformance
|
||||
sub-project](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#conformance-definition-1).
|
||||
-->
|
||||
|
@ -35,7 +35,7 @@ sub-project](https://github.com/kubernetes/community/blob/master/sig-architectur
|
|||
我们从 SIG Architecture:Conformance 子项目开始。**
|
||||
|
||||
在本次 [SIG Architecture](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md)
|
||||
访谈中,我们与 [Riaan Kleinhans](https://github.com/Riaankl) (ii-Team) 进行了对话,他是
|
||||
访谈中,我们与 [Riaan Kleinhans](https://github.com/Riaankl) (ii.nz) 进行了对话,他是
|
||||
[Conformance 子项目](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#conformance-definition-1)的负责人。
|
||||
|
||||
<!--
|
||||
|
@ -45,7 +45,7 @@ sub-project](https://github.com/kubernetes/community/blob/master/sig-architectur
|
|||
bit about yourself, your role and how you got involved in Kubernetes.
|
||||
|
||||
**Riaan Kleinhans (RK)**: Hi! My name is Riaan Kleinhans and I live in
|
||||
South Africa. I am the Project manager for the [ii-Team](ii.nz) in New
|
||||
South Africa. I am the Project manager for the [ii.nz](https://ii.nz) in New
|
||||
Zealand. When I joined ii the plan was to move to New Zealand in April
|
||||
2020 and then Covid happened. Fortunately, being a flexible and
|
||||
dynamic team we were able to make it work remotely and in very
|
||||
|
@ -56,7 +56,7 @@ different time zones.
|
|||
**Frederico (FSM)**:你好 Riaan,欢迎!首先,请介绍一下你自己,你的角色以及你是如何参与 Kubernetes 的。
|
||||
|
||||
**Riaan Kleinhans (RK)**:嗨!我叫 Riaan Kleinhans,我住在南非。
|
||||
我是新西兰 [ii-Team](ii.nz) 的项目经理。在我加入 ii 时,本来计划在 2020 年 4 月搬到新西兰,
|
||||
我是新西兰 [ii.nz](https://ii.nz) 的项目经理。在我加入 ii 时,本来计划在 2020 年 4 月搬到新西兰,
|
||||
然后新冠疫情爆发了。幸运的是,作为一个灵活和富有活力的团队,我们能够在各个不同的时区以远程方式协作。
|
||||
|
||||
<!--
|
||||
|
|
|
@ -82,7 +82,7 @@ APF 适用于 **watch** 请求。当 APF 被禁用时,**watch** 请求不受 `
|
|||
<!--
|
||||
The API Priority and Fairness feature is controlled by a command-line flag
|
||||
and is enabled by default. See
|
||||
[Options](/docs/reference/command-line-tools-reference/kube-apiserver/options/)
|
||||
[Options](/docs/reference/command-line-tools-reference/kube-apiserver/#options)
|
||||
for a general explanation of the available kube-apiserver command-line
|
||||
options and how to enable and disable them. The name of the
|
||||
command-line option for APF is "--enable-priority-and-fairness". This feature
|
||||
|
@ -94,7 +94,7 @@ disable the API group beta version `v1beta3` by adding the
|
|||
-->
|
||||
API 优先级与公平性(APF)特性由命令行标志控制,默认情况下启用。
|
||||
有关可用 kube-apiserver 命令行参数以及如何启用和禁用的说明,
|
||||
请参见[参数](/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/options/)。
|
||||
请参见[参数](/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/#options)。
|
||||
APF 的命令行参数是 "--enable-priority-and-fairness"。
|
||||
此特性也与某个 {{< glossary_tooltip term_id="api-group" text="API 组" >}}相关:
|
||||
(a) 稳定的 `v1` 版本,在 1.29 中引入,默认启用;
|
||||
|
|
|
@ -398,12 +398,12 @@ You should only create a ServiceAccount token Secret
|
|||
if you can't use the `TokenRequest` API to obtain a token,
|
||||
and the security exposure of persisting a non-expiring token credential
|
||||
in a readable API object is acceptable to you. For instructions, see
|
||||
[Manually create a long-lived API token for a ServiceAccount](/docs/tasks/configure-pod-container/configure-service-account/#manually-create-a-service-account-api-token).
|
||||
[Manually create a long-lived API token for a ServiceAccount](/docs/tasks/configure-pod-container/configure-service-account/#manually-create-an-api-token-for-a-serviceaccount).
|
||||
-->
|
||||
只有在你无法使用 `TokenRequest` API 来获取令牌,
|
||||
并且你能够接受因为将永不过期的令牌凭据写入到可读取的 API 对象而带来的安全风险时,
|
||||
才应该创建 ServiceAccount 令牌 Secret。
|
||||
更多细节参阅[为 ServiceAccount 手动创建长期有效的 API 令牌](/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#manually-create-a-service-account-api-token)。
|
||||
更多细节参阅[为 ServiceAccount 手动创建长期有效的 API 令牌](/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#manually-create-an-api-token-for-a-serviceaccount)。
|
||||
{{< /note >}}
|
||||
|
||||
<!--
|
||||
|
|
|
@ -500,7 +500,7 @@ a way to extend Kubernetes with supports for new kinds of volumes. The volumes c
|
|||
durable external storage, or provide ephemeral storage, or they might offer a read-only interface
|
||||
to information using a filesystem paradigm.
|
||||
|
||||
Kubernetes also includes support for [FlexVolume](/docs/concepts/storage/volumes/#flexvolume-deprecated) plugins,
|
||||
Kubernetes also includes support for [FlexVolume](/docs/concepts/storage/volumes/#flexvolume) plugins,
|
||||
which are deprecated since Kubernetes v1.23 (in favour of CSI).
|
||||
-->
|
||||
### 存储插件 {#storage-plugins}
|
||||
|
@ -509,7 +509,7 @@ which are deprecated since Kubernetes v1.23 (in favour of CSI).
|
|||
Kubernetes 的方式使其支持新类别的卷。
|
||||
这些卷可以由持久的外部存储提供支持,可以提供临时存储,还可以使用文件系统范型为信息提供只读接口。
|
||||
|
||||
Kubernetes 还包括对 [FlexVolume](/zh-cn/docs/concepts/storage/volumes/#flexvolume-deprecated)
|
||||
Kubernetes 还包括对 [FlexVolume](/zh-cn/docs/concepts/storage/volumes/#flexvolume)
|
||||
插件的支持,该插件自 Kubernetes v1.23 起被弃用(被 CSI 替代)。
|
||||
|
||||
<!--
|
||||
|
|
|
@ -88,10 +88,10 @@ documentation for that Container Runtime, for example:
|
|||
|
||||
<!--
|
||||
For specific information about how to install and manage a CNI plugin, see the documentation for
|
||||
that plugin or [networking provider](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model).
|
||||
that plugin or [networking provider](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model).
|
||||
-->
|
||||
要了解如何安装和管理 CNI 插件的具体信息,可参阅对应的插件或
|
||||
[网络驱动(Networking Provider)](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)
|
||||
[网络驱动(Networking Provider)](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model)
|
||||
的文档。
|
||||
|
||||
<!--
|
||||
|
|
|
@ -146,7 +146,7 @@ Scenario | Branch
|
|||
:---------|:------------
|
||||
Existing or new English language content for the current release | `main`
|
||||
Content for a feature change release | The branch which corresponds to the major and minor version the feature change is in, using the pattern `dev-<version>`. For example, if a feature changes in the `v{{< skew nextMinorVersion >}}` release, then add documentation changes to the ``dev-{{< skew nextMinorVersion >}}`` branch.
|
||||
Content in other languages (localizations) | Use the localization's convention. See the [Localization branching strategy](/docs/contribute/localization/#branching-strategy) for more information.
|
||||
Content in other languages (localizations) | Use the localization's convention. See the [Localization branching strategy](/docs/contribute/localization/#branch-strategy) for more information.
|
||||
|
||||
If you're still not sure which branch to choose, ask in `#sig-docs` on Slack.
|
||||
-->
|
||||
|
@ -159,7 +159,7 @@ If you're still not sure which branch to choose, ask in `#sig-docs` on Slack.
|
|||
:---------|:------------
|
||||
针对当前发行版本的,对现有英文内容的修改或新的英文内容 | `main`
|
||||
针对功能特性变更的内容 | 分支对应于功能特性变更的主要和次要版本,分支名称采用 `dev-<version>` 的模式。例如,如果某功能特性在 `v{{< skew nextMinorVersion >}}` 版本发生变化,则对应的文档变化要添加到 `dev-{{< skew nextMinorVersion >}}` 分支。
|
||||
其他语言的内容(本地化) | 基于本地化团队的约定。参见[本地化分支策略](/zh-cn/docs/contribute/localization/#branching-strategy)了解更多信息。
|
||||
其他语言的内容(本地化) | 基于本地化团队的约定。参见[本地化分支策略](/zh-cn/docs/contribute/localization/#branch-strategy)了解更多信息。
|
||||
|
||||
如果你仍不能确定要选择哪个分支,请在 Slack 的 `#sig-docs` 频道上提出问题。
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@ removed: true
|
|||
---
|
||||
<!--
|
||||
Enable customizing the DNS settings for a Pod using its `dnsConfig` property.
|
||||
Check [Pod's DNS Config](/docs/concepts/services-networking/dns-pod-service/#pods-dns-config)
|
||||
Check [Pod's DNS Config](/docs/concepts/services-networking/dns-pod-service/#pod-dns-config)
|
||||
for more details.
|
||||
-->
|
||||
允许使用 Pod 的 `dnsConfig` 属性自定义其 DNS 设置。
|
||||
更多详细信息,请参见
|
||||
[Pod 的 DNS 配置](/zh-cn/docs/concepts/services-networking/dns-pod-service/#pods-dns-config)。
|
||||
[Pod 的 DNS 配置](/zh-cn/docs/concepts/services-networking/dns-pod-service/#pod-dns-config)。
|
||||
|
|
|
@ -24,7 +24,7 @@ removed: true
|
|||
|
||||
<!--
|
||||
Allows you to define ports in a
|
||||
[NetworkPolicy](docs/concepts/services-networking/network-policies/)
|
||||
[NetworkPolicy](/docs/concepts/services-networking/network-policies/)
|
||||
rule as a range of port numbers.
|
||||
-->
|
||||
允许你在 [NetworkPolicy](/zh-cn/docs/concepts/services-networking/network-policies/)
|
||||
|
|
|
@ -21,7 +21,7 @@ API 服务器为 REST 操作提供服务,并为集群的共享状态提供前
|
|||
kube-apiserver [flags]
|
||||
```
|
||||
|
||||
## {{% heading "options" %}}
|
||||
## {{% heading "options" %}} {#options}
|
||||
|
||||
<table style="width: 100%; table-layout: fixed;">
|
||||
<colgroup>
|
||||
|
|
|
@ -64,7 +64,7 @@ Kubernetes API 服务器进行身份认证以及他们的请求如何被鉴权
|
|||
<!--
|
||||
## API versioning
|
||||
-->
|
||||
## API 版本控制 {#api-reference}
|
||||
## API 版本控制 {#api-versioning}
|
||||
|
||||
<!--
|
||||
The JSON and Protobuf serialization schemas follow the same guidelines for
|
||||
|
|
|
@ -640,6 +640,6 @@ The command line argument to use is `--pod-infra-container-image`.
|
|||
|
||||
<!--
|
||||
As well as a container runtime, your cluster will need a working
|
||||
[network plugin](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model).
|
||||
[network plugin](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model).
|
||||
-->
|
||||
除了容器运行时,你的集群还需要有效的[网络插件](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)。
|
||||
除了容器运行时,你的集群还需要有效的[网络插件](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model)。
|
||||
|
|
|
@ -538,12 +538,12 @@ systemctl enable --now kubelet
|
|||
<!--
|
||||
The Flatcar Container Linux distribution mounts the `/usr` directory as a read-only filesystem.
|
||||
Before bootstrapping your cluster, you need to take additional steps to configure a writable directory.
|
||||
See the [Kubeadm Troubleshooting guide](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only/)
|
||||
See the [Kubeadm Troubleshooting guide](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only)
|
||||
to learn how to set up a writable directory.
|
||||
-->
|
||||
Flatcar Container Linux 发行版会将 `/usr/` 目录挂载为一个只读文件系统。
|
||||
在启动引导你的集群之前,你需要执行一些额外的操作来配置一个可写入的目录。
|
||||
参见 [kubeadm 故障排查指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only/)
|
||||
参见 [kubeadm 故障排查指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only)
|
||||
以了解如何配置一个可写入的目录。
|
||||
{{< /note >}}
|
||||
|
||||
|
|
|
@ -146,11 +146,11 @@ if suitable credentials are passed, or through a kubectl proxy at, for example:
|
|||
`http://localhost:8080/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy/`。
|
||||
|
||||
<!--
|
||||
See [Access Clusters Using the Kubernetes API](/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-cluster-api)
|
||||
See [Access Clusters Using the Kubernetes API](/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-kubernetes-api)
|
||||
for how to pass credentials or use kubectl proxy.
|
||||
-->
|
||||
{{< note >}}
|
||||
请参阅[使用 Kubernetes API 访问集群](/zh-cn/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-cluster-api)
|
||||
请参阅[使用 Kubernetes API 访问集群](/zh-cn/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-kubernetes-api)
|
||||
了解如何传递凭据或如何使用 `kubectl proxy`。
|
||||
{{< /note >}}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ This page shows how to access clusters using the Kubernetes API.
|
|||
|
||||
### Accessing for the first time with kubectl
|
||||
-->
|
||||
## 访问 Kubernetes API
|
||||
## 访问 Kubernetes API {#accessing-the-kubernetes-api}
|
||||
|
||||
### 使用 kubectl 进行首次访问
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ The page also provides details on how to set up a number of different container
|
|||
<!--
|
||||
## Configuring the kubelet cgroup driver
|
||||
-->
|
||||
## 配置 kubelet 的 cgroup 驱动
|
||||
## 配置 kubelet 的 cgroup 驱动 {#configuring-the-kubelet-cgroup-driver}
|
||||
|
||||
<!--
|
||||
kubeadm allows you to pass a `KubeletConfiguration` structure during `kubeadm init`.
|
||||
|
|
|
@ -32,7 +32,7 @@ container starts.
|
|||
|
||||
Here is the configuration file for the Pod:
|
||||
-->
|
||||
## 创建一个包含 Init 容器的 Pod {#creating-a-pod-that-has-an-init-container}
|
||||
## 创建一个包含 Init 容器的 Pod {#create-a-pod-that-has-an-init-container}
|
||||
|
||||
本例中你将创建一个包含一个应用容器和一个 Init 容器的 Pod。Init 容器在应用容器启动前运行完成。
|
||||
|
||||
|
|
|
@ -37,11 +37,11 @@ Init Containers. The example command lines below refer to the Pod as
|
|||
<!--
|
||||
* You should be familiar with the basics of
|
||||
[Init Containers](/docs/concepts/workloads/pods/init-containers/).
|
||||
* You should have [Configured an Init Container](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container/).
|
||||
* You should have [Configured an Init Container](/docs/tasks/configure-pod-container/configure-pod-initialization/#create-a-pod-that-has-an-init-container).
|
||||
-->
|
||||
|
||||
* 你应该熟悉 [Init 容器](/zh-cn/docs/concepts/workloads/pods/init-containers/)的基础知识。
|
||||
* 你应该已经[配置好一个 Init 容器](/zh-cn/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container/)。
|
||||
* 你应该已经[配置好一个 Init 容器](/zh-cn/docs/tasks/configure-pod-container/configure-pod-initialization/#create-a-pod-that-has-an-init-container)。
|
||||
|
||||
<!-- steps -->
|
||||
|
||||
|
|
|
@ -636,14 +636,14 @@ which caused the conversion. All other changes are ignored.
|
|||
### Deploy the conversion webhook service
|
||||
|
||||
Documentation for deploying the conversion webhook is the same as for the
|
||||
[admission webhook example service](/docs/reference/access-authn-authz/extensible-admission-controllers/#deploy_the_admission_webhook_service).
|
||||
[admission webhook example service](/docs/reference/access-authn-authz/extensible-admission-controllers/#deploy-the-admission-webhook-service).
|
||||
The assumption for next sections is that the conversion webhook server is deployed to a service
|
||||
named `example-conversion-webhook-server` in `default` namespace and serving traffic on path `/crdconvert`.
|
||||
-->
|
||||
### 部署转换 Webhook 服务 {#deploy-the-conversion-webhook-service}
|
||||
|
||||
用于部署转换 Webhook
|
||||
的文档与[准入 Webhook 服务示例](/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers/#deploy_the_admission_webhook_service)相同。
|
||||
的文档与[准入 Webhook 服务示例](/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers/#deploy-the-admission-webhook-service)相同。
|
||||
这里的假设是转换 Webhook 服务器被部署为 `default` 名字空间中名为
|
||||
`example-conversion-webhook-server` 的服务,并在路径 `/crdconvert`
|
||||
上处理请求。
|
||||
|
|
|
@ -362,7 +362,7 @@ in octal.
|
|||
<!--
|
||||
## Define container environment variables using Secret data
|
||||
-->
|
||||
## 使用 Secret 数据定义容器变量 {#define-container-env-var-using-secret-data}
|
||||
## 使用 Secret 数据定义容器变量 {#define-container-environment-variables-using-secret-data}
|
||||
|
||||
<!--
|
||||
You can consume the data in Secrets as environment variables in your
|
||||
|
|
|
@ -28,7 +28,7 @@ and [PodAntiAffinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affini
|
|||
本教程展示了在 Kubernetes 上使用
|
||||
[StatefulSet](/zh-cn/docs/concepts/workloads/controllers/statefulset/)、
|
||||
[PodDisruptionBudget](/zh-cn/docs/concepts/workloads/pods/disruptions/#pod-disruption-budget) 和
|
||||
[PodAntiAffinity](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#亲和与反亲和)
|
||||
[PodAntiAffinity](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)
|
||||
特性运行 [Apache Zookeeper](https://zookeeper.apache.org)。
|
||||
|
||||
## {{% heading "prerequisites" %}}
|
||||
|
@ -46,7 +46,7 @@ Kubernetes concepts.
|
|||
- [PersistentVolume 制备](https://github.com/kubernetes/examples/tree/master/staging/persistent-volume-provisioning/)
|
||||
- [StatefulSet](/zh-cn/docs/concepts/workloads/controllers/statefulset/)
|
||||
- [PodDisruptionBudget](/zh-cn/docs/concepts/workloads/pods/disruptions/#pod-disruption-budget)
|
||||
- [PodAntiAffinity](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#亲和与反亲和)
|
||||
- [PodAntiAffinity](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)
|
||||
- [kubectl CLI](/zh-cn/docs/reference/kubectl/kubectl/)
|
||||
|
||||
<!--
|
||||
|
@ -148,7 +148,7 @@ and a [StatefulSet](/docs/concepts/workloads/controllers/statefulset/).
|
|||
|
||||
下面的清单包含一个[无头服务](/zh-cn/docs/concepts/services-networking/service/#headless-services)、
|
||||
一个 [Service](/zh-cn/docs/concepts/services-networking/service/)、
|
||||
一个 [PodDisruptionBudget](/zh-cn/docs/concepts/workloads/pods/disruptions/#specifying-a-poddisruptionbudget)
|
||||
一个 [PodDisruptionBudget](/zh-cn/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets)
|
||||
和一个 [StatefulSet](/zh-cn/docs/concepts/workloads/controllers/statefulset/)。
|
||||
|
||||
{{% code_sample file="application/zookeeper/zookeeper.yaml" %}}
|
||||
|
@ -1261,7 +1261,7 @@ domains to ensure availability. To avoid an outage, due to the loss of an
|
|||
individual machine, best practices preclude co-locating multiple instances of the
|
||||
application on the same machine.
|
||||
-->
|
||||
## 容忍节点故障
|
||||
## 容忍节点故障 {#tolerating-node-failure}
|
||||
|
||||
ZooKeeper 需要一个 quorum 来提交数据变动。对于一个拥有 3 个服务器的 ensemble 来说,
|
||||
必须有两个服务器是健康的,写入才能成功。
|
||||
|
|
Loading…
Reference in New Issue