From 2dc571df7781d00f1be260553e812f20be492fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Nussbaumer?= Date: Mon, 12 Feb 2024 08:18:31 +0100 Subject: [PATCH 01/24] docs(kubeadm-upgrade): add consideration on etcd upgrade impact MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit relates to https://github.com/kubernetes/kubeadm/issues/2991#issuecomment-1932337556 Co-authored-by: Lubomir I. Ivanov Signed-off-by: Clément Nussbaumer --- .../kubeadm/kubeadm-upgrade.md | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index 09f43dd634..8c747d99f0 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -54,11 +54,28 @@ The upgrade workflow at high level is the following: with the purpose of reconfiguring the cluster is not recommended and can have unexpected results. Follow the steps in [Reconfiguring a kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure) instead. +### Considerations when upgrading etcd + +Because the `kube-apiserver` static pod is running at all times (even if you +have drained the node), when you perform a kubeadm upgrade which includes an +etcd upgrade, in-flight requests to the server will stall while the new etcd +static pod is restarting. As a workaround, it is possible to actively stop the +`kube-apiserver` process a few seconds before starting the `kubeadm upgrade +apply` command. This permits to complete in-flight requests and close existing +connections, and minimizes the consequence of the etcd downtime. This can be +done as follows on control plane nodes: + +```shell +killall -s SIGTERM kube-apiserver # trigger a graceful kube-apiserver shutdown +sleep 20 # wait a little bit to permit completing in-flight requests +kubeadm upgrade ... # execute a kubeadm upgrade command +``` + ## Changing the package repository -If you're using the community-owned package repositories (`pkgs.k8s.io`), you need to +If you're using the community-owned package repositories (`pkgs.k8s.io`), you need to enable the package repository for the desired Kubernetes minor release. This is explained in [Changing the Kubernetes package repository](/docs/tasks/administer-cluster/kubeadm/change-package-repository/) document. @@ -320,4 +337,4 @@ and post-upgrade manifest file for a certain component, a backup file for it wil `kubeadm upgrade node` does the following on worker nodes: - Fetches the kubeadm `ClusterConfiguration` from the cluster. -- Upgrades the kubelet configuration for this node. +- Upgrades the kubelet configuration for this node. \ No newline at end of file From c4aea8c8619ee1be081550a52c60ab306010a6db Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Wed, 21 Feb 2024 21:16:01 +0800 Subject: [PATCH 02/24] [zh-cn]sync patch-releases network-policies Signed-off-by: xin.li --- .../services-networking/network-policies.md | 95 ++++++++++--------- content/zh-cn/releases/patch-releases.md | 12 +-- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/content/zh-cn/docs/concepts/services-networking/network-policies.md b/content/zh-cn/docs/concepts/services-networking/network-policies.md index 69831b7224..b8d181b8d2 100644 --- a/content/zh-cn/docs/concepts/services-networking/network-policies.md +++ b/content/zh-cn/docs/concepts/services-networking/network-policies.md @@ -28,8 +28,8 @@ description: >- Pod 可以与之通信的实体是通过如下三个标识符的组合来辩识的: @@ -60,11 +60,11 @@ Pod 可以与之通信的实体是通过如下三个标识符的组合来辩识 无论 Pod 或节点的 IP 地址) 在定义基于 Pod 或名字空间的 NetworkPolicy 时, 你会使用{{< glossary_tooltip text="选择算符" term_id="selector">}}来设定哪些流量可以进入或离开与该算符匹配的 Pod。 @@ -87,17 +87,17 @@ Creating a NetworkPolicy resource without a controller that implements it will h 创建一个 NetworkPolicy 资源对象而没有控制器来使它生效的话,是没有任何作用的。 ## Pod 隔离的两种类型 {#the-two-sorts-of-pod-isolation} -Pod 有两种隔离: 出口的隔离和入口的隔离。它们涉及到可以建立哪些连接。 +Pod 有两种隔离:出口的隔离和入口的隔离。它们涉及到可以建立哪些连接。 这里的“隔离”不是绝对的,而是意味着“有一些限制”。 另外的,“非隔离方向”意味着在所述方向上没有限制。这两种隔离(或不隔离)是独立声明的, 并且都与从一个 Pod 到另一个 Pod 的连接有关。 @@ -112,7 +112,7 @@ allowed connections will also be implicitly allowed. The effects of those `egress` lists combine additively. --> 默认情况下,一个 Pod 的出口是非隔离的,即所有外向连接都是被允许的。如果有任何的 NetworkPolicy -选择该 Pod 并在其 `policyTypes` 中包含 “Egress”,则该 Pod 是出口隔离的, +选择该 Pod 并在其 `policyTypes` 中包含 "Egress",则该 Pod 是出口隔离的, 我们称这样的策略适用于该 Pod 的出口。当一个 Pod 的出口被隔离时, 唯一允许的来自 Pod 的连接是适用于出口的 Pod 的某个 NetworkPolicy 的 `egress` 列表所允许的连接。 针对那些允许连接的应答流量也将被隐式允许。 @@ -176,7 +176,7 @@ solution supports network policy. 你可以通过创建选择所有 Pod 但不允许任何进入这些 Pod 的入站流量的 NetworkPolicy -来为名字空间创建 “default” 隔离策略。 +来为名字空间创建 "default" 隔离策略。 {{< code_sample file="service/networking/network-policy-default-deny-ingress.yaml" >}} @@ -419,7 +420,7 @@ that explicitly allows that. 有了这个策略,任何额外的策略都不会导致到这些 Pod 的任何入站连接被拒绝。 此策略对任何 Pod 的出口隔离没有影响。 @@ -433,7 +434,7 @@ that selects all pods but does not allow any egress traffic from those pods. ### 默认拒绝所有出站流量 {#default-deny-all-egress-traffic} 你可以通过创建选择所有容器但不允许来自这些容器的任何出站流量的 NetworkPolicy -来为名字空间创建 “default” 隔离策略。 +来为名字空间创建 "default" 隔离策略。 {{< code_sample file="service/networking/network-policy-default-deny-egress.yaml" >}} @@ -460,7 +461,7 @@ explicitly allows all outgoing connections from pods in that namespace. 有了这个策略,任何额外的策略都不会导致来自这些 Pod 的任何出站连接被拒绝。 此策略对进入任何 Pod 的隔离没有影响。 @@ -473,7 +474,7 @@ creating the following NetworkPolicy in that namespace. --> ### 默认拒绝所有入站和所有出站流量 {#default-deny-all-ingress-and-all-egress-traffic} -你可以为名字空间创建 “default” 策略,以通过在该名字空间中创建以下 NetworkPolicy +你可以为名字空间创建 "default" 策略,以通过在该名字空间中创建以下 NetworkPolicy 来阻止所有入站和出站流量。 {{< code_sample file="service/networking/network-policy-default-deny-all.yaml" >}} @@ -487,8 +488,8 @@ ingress or egress traffic. ## 网络流量过滤 {#network-traffic-filtering} @@ -508,7 +509,7 @@ protocol NetworkPolicies. When a `deny all` network policy is defined, it is only guaranteed to deny TCP, UDP and SCTP connections. For other protocols, such as ARP or ICMP, the behaviour is undefined. The same applies to allow rules: when a specific pod is allowed as ingress source or egress destination, -it is undefined what happens with (for example) ICMP packets. Protocols such as ICMP may be allowed by some +it is undefined what happens with (for example) ICMP packets. Protocols such as ICMP may be allowed by some network plugins and denied by others. --> 当 `deny all` 网络策略被定义时,此策略只能保证拒绝 TCP、UDP 和 SCTP 连接。 @@ -536,8 +537,8 @@ This is achievable with the usage of the `endPort` field, as the following examp {{< code_sample file="service/networking/networkpolicy-multiport-egress.yaml" >}} 上面的规则允许名字空间 `default` 中所有带有标签 `role=db` 的 Pod 使用 TCP 协议与 @@ -560,7 +561,7 @@ The following restrictions apply when using this field: @@ -658,7 +659,7 @@ NetworkPolicy. When a new NetworkPolicy object is created, it may take some time for a network plugin to handle the new object. If a pod that is affected by a NetworkPolicy is created before the network plugin has completed NetworkPolicy handling, -that pod may be started unprotected, and isolation rules will be applied when +that pod may be started unprotected, and isolation rules will be applied when the NetworkPolicy handling is completed. --> 当新的 NetworkPolicy 对象被创建时,网络插件可能需要一些时间来处理这个新对象。 @@ -669,11 +670,11 @@ the NetworkPolicy handling is completed. Once the NetworkPolicy is handled by a network plugin, 1. All newly created pods affected by a given NetworkPolicy will be isolated before -they are started. -Implementations of NetworkPolicy must ensure that filtering is effective throughout -the Pod lifecycle, even from the very first instant that any container in that Pod is started. -Because they are applied at Pod level, NetworkPolicies apply equally to init containers, -sidecar containers, and regular containers. + they are started. + Implementations of NetworkPolicy must ensure that filtering is effective throughout + the Pod lifecycle, even from the very first instant that any container in that Pod is started. + Because they are applied at Pod level, NetworkPolicies apply equally to init containers, + sidecar containers, and regular containers. --> 一旦 NetworkPolicy 被网络插件处理, @@ -684,8 +685,8 @@ sidecar containers, and regular containers. @@ -709,7 +711,7 @@ kubelet 启动应用容器之前等待这些目的地变得可达。 - 网络插件无法正确辨别 `hostNetwork` Pod 流量,因此在匹配 `podSelector` 和 `namespaceSelector` @@ -771,9 +773,10 @@ This applies when ``` -2. `hostNetwork` Pod 在 `ingress` 或 `egress` 规则中被 `podSelector` 或 `namespaceSelector` 选中。 +2. `hostNetwork` Pod 在 `ingress` 或 `egress` 规则中被 `podSelector` 或 + `namespaceSelector` 选中。 ```yaml ... @@ -799,7 +802,7 @@ from a `hostNetwork` Pod using an `ipBlock` rule. As of Kubernetes {{< skew currentVersion >}}, the following functionality does not exist in the NetworkPolicy API, but you might be able to implement workarounds using Operating System components (such as SELinux, OpenVSwitch, IPTables, and so on) or Layer 7 technologies (Ingress -controllers, Service Mesh implementations) or admission controllers. In case you are new to +controllers, Service Mesh implementations) or admission controllers. In case you are new to network security in Kubernetes, its worth noting that the following User Stories cannot (yet) be implemented using the NetworkPolicy API. --> @@ -873,6 +876,6 @@ It is recommended not to modify policies/pods/namespaces in ways that might affe - See more [recipes](https://github.com/ahmetb/kubernetes-network-policy-recipes) for common scenarios enabled by the NetworkPolicy resource. --> -- 参阅[声明网络策略](/zh-cn/docs/tasks/administer-cluster/declare-network-policy/)演练了解更多示例; +- 有关更多示例,请参阅[声明网络策略](/zh-cn/docs/tasks/administer-cluster/declare-network-policy/)演练。 - 有关 NetworkPolicy 资源所支持的常见场景的更多信息, 请参见[此指南](https://github.com/ahmetb/kubernetes-network-policy-recipes)。 diff --git a/content/zh-cn/releases/patch-releases.md b/content/zh-cn/releases/patch-releases.md index 12bfb33788..884c00ba85 100644 --- a/content/zh-cn/releases/patch-releases.md +++ b/content/zh-cn/releases/patch-releases.md @@ -55,7 +55,7 @@ if there are questions on the PR. 在两次发布之间,团队每周都会查看收到的 cherry pick 请求。 如果对 PR 有任何问题,团队将通过 GitHub PR、Slack 中的 SIG 频道以及 Slack 中的直接消息和 -[email](mailto:release-managers-private@kubernetes.io) 与提交者取得联系。 +[Email](mailto:release-managers-private@kubernetes.io) 与提交者取得联系。 | 月度补丁发布 | Cherry Pick 截止日期 | 目标日期 | |--------------|---------------------|-------------| -| 2023 年 12 月 | 2023-12-15 | 2023-12-19 | -| 2024 年 1 月 | 2024-01-12 | 2024-01-17 | -| 2024 年 2 月 | 2024-02-09 | 2024-02-14 | | 2024 年 3 月 | 2024-03-08 | 2024-03-13 | +| 2024 年 4 月 | 2024-04-12 | 2024-04-17 | +| 2024 年 5 月 | 2024-05-10 | 2024-05-15 | + +## {{% heading "synopsis" %}} + + +更新一个或多个资源上的注解。 + +所有 Kubernetes 对象都支持以注解(Annotation)的形式为对象存储额外的数据。 +注解是一些键/值对,可以比标签的数据量更大,可以包含诸如结构化 JSON 这类任意字符串值。 +各种工具和系统扩展可以使用注解来存储自己的数据。 + +尝试设置已存在的注解的操作将会失败,除非设置了 --overwrite 选项。 +如果 --resource-version 被指定且与服务器上当前资源版本不匹配,命令将会失败。 + +使用 "kubectl api-resources" 获取可支持的资源完整列表。 + +```shell +kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version] +``` + +## {{% heading "examples" %}} + + +```shell +# 使用注解 'description' 和值 'my frontend' 更新 Pod 'foo' +# 如果同一注解被设置多次,则只使用最后一个值 +kubectl annotate pods foo description='my frontend' + +# 更新在 "pod.json" 中指定 type 和 name 的 Pod +kubectl annotate -f pod.json description='my frontend' + +# 更新 Pod 'foo',设置注解 'description' 和值 'my frontend running nginx',覆盖其当前值 +kubectl annotate --overwrite pods foo description='my frontend running nginx' + +# 更新命名空间中的所有 Pod +kubectl annotate pods --all description='my frontend running nginx' + +# 仅在资源版本仍为 1 时更新 Pod 'foo' +kubectl annotate pods foo description='my frontend running nginx' --resource-version=1 + +# 通过删除名为 'description' 的注解(如果存在)来更新 Pod 'foo' +# 不需要 --overwrite 标志 +kubectl annotate pods foo description- +``` + +## {{% heading "options" %}} + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--all

+ +在指定资源类型的命名空间中,选择所有资源。 +

-A, --all-namespaces

+ +如果为 true,则在所有命名空间中执行指定的操作。 +

--allow-missing-template-keys     默认值:true

+ +如果为 true,在模板中字段或映射键缺失时忽略模板中的错误。 +仅适用于 golang 和 jsonpath 输出格式。 +

--dry-run string[="unchanged"]     默认值:"none"

+ +必须是 "none"、"server" 或 "client"。如果是 client 策略,仅打印将要发送的对象,而不实际发送。 +如果是 server 策略,提交服务器端请求而不持久化资源。 +

--field-manager string     默认值:"kubectl-annotate"

+ +用于跟踪字段属主关系的管理器的名称。 +

--field-selector string

+ +过滤所用的选择算符(字段查询),支持 '='、'==' 和 '!='。 +(例如 --field-selector key1=value1,key2=value2)。服务器针对每种类型仅支持有限数量的字段查询。 +

-f, --filename strings

+ +文件名、目录或文件 URL,用于标识要更新注解的资源。 +

-h, --help

+ +annotate 的帮助命令。 +

-k, --kustomize string

+ +处理 kustomization 目录。此标志不能与 -f 或 -R 一起使用。 +

--list

+ +如果为 true,则显示给定资源的注解。 +

--local

+ +如果为 true,则注解不会与 api-server 通信,而是在本地运行。 +

-o, --output string

+ +输出格式。可选值为: +json、yaml、name、go-template、go-template-file、template、templatefile、jsonpath、jsonpath-as-json、jsonpath-file。 +

--overwrite

+ +如果为 true,则允许注解被覆盖,否则拒绝覆盖现有注解的更新。 +

-R, --recursive

+ +递归处理在 -f、--filename 中给出的目录。当你想要管理位于同一目录中的相关清单时很有用。 +

--resource-version string

+ +如果非空,则只有在所给值是对象的当前资源版本时,注解更新才会成功。仅在指定单个资源时有效。 +

-l, --selector string

+ +过滤所用的选择算符(标签查询),支持 '='、'==' 和 '!='。 +(例如 -l key1=value1,key2=value2)。匹配的对象必须满足所有指定的标签约束。 +

--show-managed-fields

+ +如果为 true,在以 JSON 或 YAML 格式打印对象时保留 managedFields。 +

--template string

+ +当 -o=go-template、-o=go-template-file 时使用的模板字符串或模板文件路径。 +模板格式为 golang 模板 [http://golang.org/pkg/text/template/#pkg-overview]。 +

+ +## {{% heading "parentoptions" %}} + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
--as string

+ +操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。 +

--as-group strings

+ +操作所用的伪装用户组,此标志可以被重复设置以指定多个组。 +

--as-uid string

+ +操作所用的伪装 UID。 +

--azure-container-registry-config string

+ +含 Azure 容器镜像库配置信息的文件的路径。 +

--cache-dir string     默认值:"$HOME/.kube/cache"

+ +默认缓存目录。 +

--certificate-authority string

+ +证书机构的证书文件的路径。 +

--client-certificate string

+ +TLS 客户端证书文件的路径。 +

--client-key string

+ +TLS 客户端密钥文件的路径。 +

--cloud-provider-gce-l7lb-src-cidrs cidrs     默认值:130.211.0.0/22,35.191.0.0/16

+ +GCE 防火墙中为 L7 负载均衡流量代理和健康检查开放的 CIDR。 +

--cloud-provider-gce-lb-src-cidrs cidrs     默认值:130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16

+ +GCE 防火墙中为 L4 负载均衡流量代理和健康检查开放的 CIDR。 +

--cluster string

+ +kubeconfig 中要使用的集群的名称。 +

--context string

+ +kubeconfig 要使用的上下文的名称。 +

--default-not-ready-toleration-seconds int     默认值:300

+ +设置针对 notReady:NoExecute 的容忍度的 tolerationSeconds,默认添加到所有尚未设置此容忍度的 Pod。 +

--default-unreachable-toleration-seconds int     默认值:300

+ +设置针对 unreachable:NoExecute 的容忍度的 tolerationSeconds,默认添加到所有尚未设置此容忍度的 Pod。 +

--disable-compression

+ +如果为 true,则对服务器所有请求的响应不再压缩。 +

--insecure-skip-tls-verify

+ +如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。 +

--kubeconfig string

+ +CLI 请求要使用的 kubeconfig 文件的路径。 +

--match-server-version

+ +要求服务器版本与客户端版本匹配。 +

-n, --namespace string

+ +如果存在,则是此 CLI 请求的命名空间范围。 +

--password string

+ +对 API 服务器进行基本身份验证所用的密码。 +

--profile string     默认值:"none"

+ +要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。 +

--profile-output string     默认值:"profile.pprof"

+ +性能分析信息要写入的目标文件的名称。 +

--request-timeout string     默认值:"0"

+ +在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 +值为零表示请求不会超时。 +

-s, --server string

+ +Kubernetes API 服务器的地址和端口。 +

--storage-driver-buffer-duration duration     默认值:1m0s

+ +对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。 +

--storage-driver-db string     默认值:"cadvisor"

+ +数据库名称。 +

--storage-driver-host string     默认值:"localhost:8086"

+ +数据库 host:port。 +

--storage-driver-password string     默认值:"root"

+ +数据库密码。 +

--storage-driver-secure

+ +使用与数据库的安全连接。 +

--storage-driver-table string     默认值:"stats"

+ +表名。 +

--storage-driver-user string     默认值:"root"

+ +数据库用户名。 +

--tls-server-name string

+ +服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。 +

--token string

+ +向 API 服务器进行身份验证的持有者令牌。 +

--user string

+ +要使用的 kubeconfig 用户的名称。 +

--username string

+ +对 API 服务器进行基本身份验证时所用的用户名。 +

--version version[=true]

+ +--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。 +

--warnings-as-errors

+ +将从服务器收到的警告视为错误,并以非零退出码退出。 +

+ +## {{% heading "seealso" %}} + + +* [kubectl](../kubectl/) - kubectl 控制 Kubernetes 集群管理器 From e8413b6f45b5025765123a91f9a2d65de29743b1 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 23 Feb 2024 14:33:49 +0700 Subject: [PATCH 04/24] update README-vi.md and vi.toml --- README-vi.md | 212 ++++++++++++++++---- data/i18n/vi/vi.toml | 466 ++++++++++++++++++++++++++++++++++++++----- 2 files changed, 597 insertions(+), 81 deletions(-) diff --git a/README-vi.md b/README-vi.md index 8f8d9cecef..72b1a56a39 100644 --- a/README-vi.md +++ b/README-vi.md @@ -1,71 +1,213 @@ # Tài liệu Kubernetes -[![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest) +[![Trạng thái Netlify](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![Phiên bản GitHub](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest) -Chào mừng! Kho lưu trữ này chứa tất cả các tài nguyên cần thiết để xây dựng [trang web của Kubernetes và các tài liệu](https://kubernetes.io/). Chúng tôi rất vui vì bạn muốn đóng góp. +Kho lưu trữ này chứa các tài sản cần thiết để xây dựng [trang web và tài liệu Kubernetes](https://kubernetes.io/). Chúng tôi rất vui mừng khi bạn muốn đóng góp! -## Đóng góp cho tài liệu +- [Đóng góp vào tài liệu](#contributing-to-the-docs) +- [READMEs địa phương](#localization-readmes) -Bạn có thể click vào nút **Fork** ở góc trên bên phải màn hình để tạo bản sao của kho lưu trữ này trong tài khoản GitHub của bạn. Bản sao này được gọi là một bản *fork*. Thực hiện bất kì thay đổi nào mà bạn muốn trong bản fork của bạn và khi bạn sẵn sang gửi những thay đổi đó cho chúng tôi, hãy đến bản fork của bạn và tạo một Pull Request mới để cho chúng tôi biết về nó. +## Sử dụng kho lưu trữ này -Một khi Pull Request của bạn được tạo, reviewer sẽ chịu trách nhiệm cung cấp các phản hồi rõ ràng, có thể thực hiện được. Là chủ sở hữu của pull request, **bạn có trách nhiệm sửa đổi Pull Request của mình để giải quyết các phản hồi bởi reviewer.** Ngoài ra, lưu ý rằng bạn có thể có nhiều hơn một reviewer cung cấp cho bạn các phản hồi hoặc bạn có thể nhận được phản hồi từ reviewer khác với reviewer ban đầu được chỉ định. Hơn nữa, trong một số trường hợp, một trong những reviewer của bạn có thể yêu cầu đánh giá kỹ thuật từ [Kubernetes tech reviewer](https://github.com/kubernetes/website/wiki/Tech-reviewers) khi cần. Các reviewers sẽ cố gắng hết sức để cung cấp phản hồi một cách kịp thời nhưng thời gian phản hồi có thể thay đổi tùy theo hoàn cảnh. +Bạn có thể chạy trang web này ở chế độ local bằng cách sử dụng [Hugo (Phiên bản mở rộng)](https://gohugo.io/), hoặc bạn có thể chạy nó trong một container runtime. Chúng tôi mạnh mẽ khuyến nghị sử dụng container runtime, vì nó mang lại tính nhất quán trong triển khai với trang web thực tế. -Để biết thêm thông tin về việc đóng góp cho tài liệu Kubernetes, hãy xem: +## Yêu cầu tiên quyết -* [Bắt đầu đóng góp](https://kubernetes.io/docs/contribute/start/) -* [Các giai đoạn thay đổi tài liệu](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally) -* [Sử dụng các trang templates](https://kubernetes.io/docs/contribute/style/page-content-types/) -* [Hướng dẫn biểu mẫu tài liệu](http://kubernetes.io/docs/contribute/style/style-guide/) -* [Địa phương hóa tài liệu Kubernetes](https://kubernetes.io/docs/contribute/localization/) +Để sử dụng kho lưu trữ này, bạn cần cài đặt các phần mềm sau trên máy tính của bạn: +- [npm](https://www.npmjs.com/) +- [Go](https://go.dev/) +- [Hugo (Phiên bản mở rộng)](https://gohugo.io/) +- Một container runtime, như [Docker](https://www.docker.com/). -## Chạy website cục bộ dùng Docker - -Cách được đề xuất để chạy trang web Kubernetes cục bộ là dùng [Docker](https://docker.com) image chứa trình tạo web tĩnh [Hugo](https://gohugo.io). - -> Nếu bạn làm việc trên môi trường Windows, bạn sẽ cần thêm môt vài công cụ mà bạn có thể cài đặt với [Chocolatey](https://chocolatey.org). `choco install make` - -> Nếu bạn không muốn dùng Docker để chạy trang web cục bộ, hãy xem [Chạy website cục bộ dùng Hugo](#chạy-website-cục-bộ-dùng-hugo) dưới đây. - -Nếu bạn có Docker đang [up và running](https://www.docker.com/get-started), build `kubernetes-hugo` Docker image cục bộ: +Trước khi bắt đầu, hãy cài đặt các phụ thuộc. Sao chép kho lưu trữ và di chuyển đến thư mục: ```bash -make container-image +git clone https://github.com/kubernetes/website.git +cd website ``` -Khi image đã được built, bạn có thể chạy website cục bộ: +Trang web Kubernetes sử dụng [chủ đề Docsy Hugo](https://github.com/google/docsy#readme). Ngay cả khi bạn dự định chạy trang web trong một vùng chứa, chúng tôi thực sự khuyên bạn nên kéo mô-đun con và các phần phụ thuộc phát triển khác bằng cách chạy như sau: + +### Windows + +```powershell +# fetch submodule dependencies +git submodule update --init --recursive --depth 1 +``` + +### Linux / other Unix ```bash +# fetch submodule dependencies +make module-init +``` + +## Chạy trang web bằng container + +Để xây dựng trang web trong một container, chạy lệnh sau: + +```bash +# Bạn có thể đặt biến $CONTAINER_ENGINE thành tên của bất kỳ công cụ container giống Docker nào make container-serve ``` -Mở trình duyệt và đến địa chỉ http://localhost:1313 để xem website. Khi bạn thay đổi các file nguồn, Hugo cập nhật website và buộc làm mới trình duyệt. +Nếu bạn thấy lỗi, điều đó có thể có nghĩa là container Hugo không có đủ tài nguyên điện toán. Để giải quyết nó, hãy tăng số lượng sử dụng CPU và bộ nhớ được phép cho Docker trên máy của bạn ([macOS] () và [windows] (https: // tài liệu .Docker.com/Desktop/Cài đặt/Windows/)). -## Chạy website cục bộ dùng Hugo +Mở trình duyệt của bạn để để xem trang web. Khi bạn thay đổi các tệp nguồn, Hugo cập nhật trang web và buộc phải làm mới trình duyệt. -Hãy xem [tài liệu chính thức của Hugo](https://gohugo.io/getting-started/installing/) cho việc hướng dẫn cài đặt Hugo. Đảm bảo cài đặt phiên bản mở rộng của Hugo được xác định bởi biến môi trường `HUGO_VERSION` trong file [`netlify.toml`](netlify.toml#L9) +## Chạy trang web cục bộ bằng cách sử dụng Hugo -Để chạy website cục bộ khi Hugo được cài đặt: +Đảm bảo cài đặt phiên bản mở rộng Hugo được chỉ định bởi biến môi trường `Hugo_version` trong tệp [`netlify.toml`] (netlify.toml#l11). + +Để cài đặt các phụ thuộc, triển khai và kiểm tra trang web cục bộ, chạy: + +- Đối với MacOS và Linux + + ```bash + npm ci + make serve + ``` + +- Đối với Windows (PowerShell) + + ```powershell + npm ci + hugo.exe server --buildFuture --environment development + ``` + +Điều này sẽ khởi động máy chủ Hugo cục bộ trên cổng 1313. Mở trình duyệt của bạn thành để xem trang web. Khi bạn thay đổi các tệp nguồn, Hugo cập nhật trang web và buộc phải làm mới trình duyệt. + +## Xây dựng các trang tài liệu tham khảo API + +Các trang tài liệu tham khảo API nằm trong `content/en/docs/reference/kubernetes-api` được xây dựng từ Swagger specification, còn được gọi là OpenAPI specification, sử dụng . + +Để cập nhật các trang tài liệu tham khảo cho một phiên bản Kubernetes mới, làm theo các bước sau: + +1. Kéo về submodule `api-ref-generator`: + + ```bash + git submodule update --init --recursive --depth 1 + ``` + +2. Cập nhật Swagger specification: + + ```bash + curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json + ``` + +3. Trong `api-ref-assets/config/`, điều chỉnh các tệp `toc.yaml` và `fields.yaml` để phản ánh các thay đổi của phiên bản mới. + +4. Tiếp theo, xây dựng các trang: + + ```bash + make api-reference + ``` + + Bạn có thể kiểm tra kết quả trên máy cục bộ bằng cách xây dựng và chạy trang web từ một container: + + ```bash + make container-serve + ``` + + Trong trình duyệt web, truy cập vào để xem tài liệu tham khảo API. + +5. Khi tất cả các thay đổi của hợp đồng mới được phản ánh vào các tệp cấu hình `toc.yaml` và `fields.yaml`, tạo một Pull Request với các trang tài liệu tham khảo API mới được tạo ra. + +## Khắc phục sự cố + +### Lỗi: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): tính năng này không khả dụng trong phiên bản Hugo hiện tại của bạn + +Hugo được cung cấp dưới dạng hai bộ công cụ nhị phân vì lý do kỹ thuật. Trang web hiện tại chạy dựa trên phiên bản **Hugo Extended** duy nhất. Trong [trang phát hành](https://github.com/gohugoio/hugo/releases), tìm kiếm các bản lưu trữ có chứa từ khóa `extended` trong tên. Để xác nhận, chạy `hugo version` và tìm từ khóa `extended`. + +### Khắc phục sự cố trên macOS với quá nhiều tệp mở + +Nếu bạn chạy `make serve` trên macOS và nhận được lỗi sau đây: ```bash -make serve +ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files +make: *** [serve] Error 1 ``` -Câu lệnh trên sẽ khởi động server Hugo cục bộ trên cổng 1313. Mở trình duyệt và đến địa chỉ http://localhost:1313 để xem website. Khi bạn thay đổi các file nguồn, Hugo cập nhật website và buộc làm mới trình duyệt. +Hãy kiểm tra giới hạn hiện tại cho số tệp mở: -## Cộng đồng, thảo luận, đóng góp và hỗ trợ +`launchctl limit maxfiles` -Tìm hiểu cách tham gia với cộng đồng Kubernetes trên [trang cộng đồng](http://kubernetes.io/community/). +Sau đó, chạy các lệnh sau (được thích nghi từ ): -Bạn có thể tiếp cận những maintainers của dự án này tại: +```shell +#!/bin/sh + +# Đây là các liên kết gist gốc, liên kết đến các gist của tôi ngay bây giờ. +# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist +# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist + +curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist +curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist + +sudo mv limit.maxfiles.plist /Library/LaunchDaemons +sudo mv limit.maxproc.plist /Library/LaunchDaemons + +sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist +sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist + +sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist +``` + +Điều này hoạt động cho cả macOS Catalina và Mojave. + +## Tham gia với SIG Docs + +Tìm hiểu thêm về cộng đồng SIG Docs Kubernetes và cuộc họp trên [trang cộng đồng](https://github.com/kubernetes/community/tree/master/sig-docs#meetings). + +Bạn cũng có thể liên hệ với những người duy trì dự án này tại: - [Slack](https://kubernetes.slack.com/messages/sig-docs) + - [Nhận lời mời tham gia Slack này](https://slack.k8s.io/) - [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) -### Quy tắc ứng xử +## Đóng góp vào tài liệu -Sự tham gia vào cộng đồng Kubernetes được điểu chỉnh bởi [Kubernetes Code of Conduct](code-of-conduct.md). +Bạn có thể nhấp vào nút **Fork** ở phía trên bên phải của màn hình để tạo một bản sao của kho lưu trữ này trong tài khoản GitHub của bạn. Bản sao này được gọi là _fork_. Thực hiện bất kỳ thay đổi nào bạn muốn trong fork của bạn, và khi bạn sẵn sàng gửi những thay đổi đó cho chúng tôi, hãy vào fork của bạn và tạo một pull request mới để thông báo cho chúng tôi biết về nó. -## Cảm ơn! +Sau khi pull request của bạn được tạo, một người xem Kubernetes sẽ chịu trách nhiệm cung cấp phản hồi rõ ràng, có thể thực hiện được. Là chủ sở hữu của pull request, **bạn có trách nhiệm sửa đổi pull request của mình để giải quyết phản hồi đã được cung cấp cho bạn bởi người xem Kubernetes.** -Kubernetes phát triển mạnh mẽ về sự tham gia của cộng đồng và chúng tôi đánh giá cao những đóng góp của bạn cho trang web và tài liệu của chúng tôi! +Lưu ý rằng bạn có thể nhận được phản hồi từ nhiều người đánh giá Kubernetes hoặc bạn có thể nhận được phản hồi từ một người đánh giá Kubernetes khác với người được chỉ định ban đầu để cung cấp phản hồi. + +Hơn nữa, trong một số trường hợp, một trong những người đánh giá của bạn có thể yêu cầu một đánh giá kỹ thuật từ một người đánh giá kỹ thuật Kubernetes khi cần thiết. Người đánh giá sẽ cố gắng cung cấp phản hồi một cách kịp thời, nhưng thời gian phản hồi có thể thay đổi tùy thuộc vào các tình huống. + +Để biết thêm thông tin về việc đóng góp vào tài liệu Kubernetes, hãy xem: + +- [Đóng góp vào tài liệu Kubernetes](https://kubernetes.io/docs/contribute/) +- [Loại nội dung trang](https://kubernetes.io/docs/contribute/style/page-content-types/) +- [Hướng dẫn về phong cách tài liệu](https://kubernetes.io/docs/contribute/style/style-guide/) +- [Dịch tài liệu Kubernetes](https://kubernetes.io/docs/contribute/localization/) +- [Giới thiệu về tài liệu Kubernetes](https://www.youtube.com/watch?v=pprMgmNzDcw) + +### Đại sứ đóng góp mới + +Nếu bạn cần trợ giúp bất kỳ lúc nào khi đóng góp, [Đại sứ đóng góp mới](https://kubernetes.io/docs/contribute/advanced/#serve-as-a-new-contributor-ambassador) là điểm liên lạc tốt. Đây là những người phê duyệt SIG Docs có trách nhiệm hướng dẫn các đóng góp viên mới và giúp họ qua những pull request đầu tiên. Nơi tốt nhất để liên hệ với Đại sứ đóng góp mới là trên [Kubernetes Slack](https://slack.k8s.io/). Đại sứ đóng góp mới hiện tại cho SIG Docs: + +| Name | Slack | GitHub | +| -------------------------- | -------------------------- | -------------------------- | +| Arsh Sharma | @arsh | @RinkiyaKeDad | + +## Các tệp README đa ngôn ngữ + +| Language | Language | +| -------------------------- | -------------------------- | +| [Chinese](README-zh.md) | [Korean](README-ko.md) | +| [French](README-fr.md) | [Polish](README-pl.md) | +| [German](README-de.md) | [Portuguese](README-pt.md) | +| [Hindi](README-hi.md) | [Russian](README-ru.md) | +| [Indonesian](README-id.md) | [Spanish](README-es.md) | +| [Italian](README-it.md) | [Ukrainian](README-uk.md) | +| [Japanese](README-ja.md) | [Vietnamese](README-vi.md) | + +## Quy tắc ứng xử + +Sự tham gia vào cộng đồng Kubernetes được điều chỉnh bởi [Quy tắc ứng xử của CNCF](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). + +## Cảm ơn bạn + +Kubernetes phát triển dựa trên sự tham gia của cộng đồng, và chúng tôi đánh giá cao những đóng góp của bạn cho trang web và tài liệu của chúng tôi! \ No newline at end of file diff --git a/data/i18n/vi/vi.toml b/data/i18n/vi/vi.toml index d65c07a720..5c2d15f3a0 100644 --- a/data/i18n/vi/vi.toml +++ b/data/i18n/vi/vi.toml @@ -1,10 +1,16 @@ -# i18n strings for the Vietnamese (main) site. +# Chuỗi i18n cho trang chủ tiếng Việt. + +[auto_generated_edit_notice] +other = "(trang tự động tạo)" + +[auto_generated_pageinfo] +other = """

Trang này được tạo tự động.

Nếu bạn có ý định báo cáo một vấn đề với trang này, hãy đề cập rằng trang này được tạo tự động trong mô tả vấn đề của bạn. Sửa lỗi có thể cần phải xảy ra ở một nơi khác trong dự án Kubernetes.

""" [caution] other = "Chú ý:" [cleanup_heading] -other = "Cleaning up" +other = "Dọn dẹp" [community_events_calendar] other = "Lịch sự kiện" @@ -27,23 +33,126 @@ other = "Twitter" [community_youtube_name] other = "YouTube" +# Tránh sử dụng conjunction_1. +# Phải phù hợp với ngữ cảnh trong layouts/shortcodes/release-data.html +# Xuất hiện trên https://kubernetes.io/releases/ +# Ví dụ như "and" trong "Complete 1.25 Schedule and Changelog" +[conjunction_1] +other = "và" + +[cve_id] +other = "ID CVE" + +[cve_issue_url] +other = "URL Vấn đề GitHub CVE" + +[cve_summary] +other = "Tóm tắt Vấn đề" + +[cve_table] +other = "Danh sách CVE chính thức của Kubernetes" + +[cve_table_date_format] +other = "02 Th01 2006 15:04:05 MST" + +[cve_table_date_format_string] +other = "(cập nhật lần cuối: %s)" + +[deprecation_title] +other = "Bạn đang xem tài liệu cho phiên bản Kubernetes:" + [deprecation_warning] -other = " tài liệu này không còn được duy trì. Phiên bản đang xem hiện tại là một snapshot tĩnh. Để rõ hơn về tài liệu bản cập nhật, xem " +other = " tài liệu này không còn được duy trì tích cực. Phiên bản bạn đang xem hiện là một bản chụp tĩnh. Để biết thông tin cập nhật, hãy xem " [deprecation_file_warning] -other = "Không dùng nữa" +other = "Đã lạc thú" + +[outdated_content_title] +other = "Thông tin trong tài liệu này có thể đã lạc thú" + +[outdated_content_message] +other = "Tài liệu này có ngày cập nhật cũ hơn so với bản gốc, vì vậy thông tin mà nó chứa có thể đã lạc thú. Nếu bạn có thể đọc tiếng Anh, hãy xem phiên bản tiếng Anh để có thông tin mới nhất: " + +[dockershim_message] +other = """Dockershim đã được loại bỏ khỏi dự án Kubernetes kể từ phiên bản 1.24. Đọc Dockershim Removal FAQ để biết thêm chi tiết.""" [docs_label_browse] -other = "Duyệt tài liệu" +other = "Duyệt Tài liệu" [docs_label_contributors] -other = "Người đóng góp" +other = "Những Người đóng góp" [docs_label_i_am] other = "TÔI LÀ..." [docs_label_users] -other = "Users" +other = "Người dùng" + +[docs_page_versions] +other = "Trang %s này dành cho Kubernetes %s. Nếu bạn muốn sử dụng phiên bản Kubernetes khác, vui lòng tham khảo các trang sau đây thay vì:" + +[docs_version_current] +other = "(tài liệu này)" + +[docs_version_latest_heading] +other = "Phiên bản mới nhất" + +[docs_version_other_heading] +other = "Phiên bản cũ" + +[end_of_life] +other = "Kết thúc vòng đời:" + +[envvars_heading] +other = "Biến môi trường" + +[error_404_were_you_looking_for] +other = "Bạn có đang tìm kiếm:" + +[examples_heading] +other = "Ví dụ" + +[feature_gate_stage_alpha] +other = "Alpha" + +[feature_gate_stage_beta] +other = "Beta" + +[feature_gate_stage_stable] +other = "GA" + +[feature_gate_stage_deprecated] +other = "Đã lạc thú" + +[feature_gate_table_header_default] +other = "Mặc định" + +[feature_gate_table_header_feature] +other = "Tính năng" + +[feature_gate_table_header_from] +other = "Từ" + +[feature_gate_table_header_since] +other = "Từ" + +[feature_gate_table_header_stage] +other = "Giai đoạn" + +[feature_gate_table_header_to] +other = "Đến" + +[feature_gate_table_header_until] +other = "Đến" + +[feature_state] +other = "TRẠNG THÁI TÍNH NĂNG:" + +[feature_state_kubernetes_label] +other = "Kubernetes" + +[feature_state_feature_gate_tooltip] +other = "Feature Gate:" [feedback_heading] other = "Phản hồi" @@ -52,52 +161,146 @@ other = "Phản hồi" other = "Không" [feedback_question] -other = "Trang này có hữu ích?" +other = "Trang này có hữu ích không?" [feedback_yes] other = "Có" +[final_patch_release] +other = "Bản phát hành Patch cuối cùng" + +[inline_list_separator] +other = "," + [input_placeholder_email_address] other = "địa chỉ email" +[javascript_required] +other = "Cần [kích hoạt](https://www.enable-javascript.com/) JavaScript để xem nội dung này" + +[katacoda_message] +other = """

Tắt các bài hướng dẫn tương tác

+

Các bài hướng dẫn tương tác trên trang web này đang bị tắt. Dự án Kubernetes +hy vọng sẽ tái thiết lập một tùy chọn học tương tác tương tự trong dài hạn.

+

Quyết định tắt đó là kết quả của cuộc [sáp nhập](https://www.oreilly.com/content/oreilly-acquires-katacoda-and-a-new-way-for-2-5m-customers-to-learn/) +của O'Reilly Media với Katacoda vào năm 2019.

+

Kubernetes rất biết ơn O'Reilly và Katacoda đã giúp đỡ nhiều người bắt đầu học Kubernetes.

+

Các bài hướng dẫn sẽ ngừng hoạt động sau ngày 31th tháng 3, +2023. Để biết thêm thông tin, xem "Bài hướng dẫn Kubernetes miễn phí trên Katacoda sẽ dừng lại từ ngày 31/03/2023."

""" + +[latest_release] +other = "Bản phát hành mới nhất:" + [latest_version] other = "phiên bản mới nhất." +[layouts_blog_pager_next] +other = "Tiếp theo >>" + [layouts_blog_pager_prev] other = "<< Trước" -[layouts_blog_pager_next] -other = "Sau >>" - [layouts_case_studies_list_tell] other = "Kể câu chuyện của bạn" [layouts_docs_glossary_aka] -other = "Cũng được biết đến như là" +other = "Còn được biết đến là" + +[layout_docs_glossary_architecture_description] +other = "Các thành phần bên trong của Kubernetes." + +[layout_docs_glossary_architecture_name] +other = "Kiến trúc" + +[layouts_docs_glossary_click_details_after] +other = "dưới đây để có một giải thích chi tiết hơn cho bất kỳ thuật ngữ cụ thể nào." + +[layouts_docs_glossary_click_details_before] +other = "Nhấp vào" + +[layout_docs_glossary_community_description] +other = "Liên quan đến sự phát triển mã nguồn mở của Kubernetes." + +[layout_docs_glossary_community_name] +other = "Cộng đồng" + +[layout_docs_glossary_core-object_description] +other = "Loại nguồn lực mà Kubernetes hỗ trợ theo mặc định." + +[layout_docs_glossary_core-object_name] +other = "Đối tượng Core" [layouts_docs_glossary_description] -other = "Bảng chú giải này được kì vọng là một danh sách hoàn thiện, được chuẩn hóa về thuật ngữ Kubernetes. Nó bao gồm các thuật ngữ kỹ thuật dành riêng cho Kubernetes, cũng như các thuật ngữ chung hơn cung cấp ngữ cảnh hữu ích" +other = "Bảng từ vựng này được thiết kế để là một danh sách toàn diện, chuẩn hóa các thuật ngữ của Kubernetes. Nó bao gồm các thuật ngữ kỹ thuật cụ thể cho Kubernetes, cũng như các thuật ngữ tổng quát mang lại ngữ cảnh hữu ích." [layouts_docs_glossary_deselect_all] other = "Bỏ chọn tất cả" -[layouts_docs_glossary_click_details_after] -other = "danh mục dưới đây để giải thích rõ hơn cho các thuật ngữ cụ thể" +[layout_docs_glossary_extension_description] +other = "Các tùy chỉnh được hỗ trợ của Kubernetes." -[layouts_docs_glossary_click_details_before] -other = "Click vào" +[layout_docs_glossary_extension_name] +other = "Phần mở rộng" [layouts_docs_glossary_filter] -other = "Lọc các thuật ngữ theo tags" +other = "Lọc các thuật ngữ theo các thẻ của chúng" + +[layout_docs_glossary_fundamental_description] +other = "Quan trọng đối với người dùng Kubernetes lần đầu tiên." + +[layout_docs_glossary_fundamental_name] +other = "Cơ bản" + +[layout_docs_glossary_networking_description] +other = "Cách các thành phần Kubernetes trò chuyện với nhau (và với các chương trình bên ngoài cụm)." + +[layout_docs_glossary_networking_name] +other = "Mạng" + +[layout_docs_glossary_operation_description] +other = "Bắt đầu và duy trì Kubernetes." + +[layout_docs_glossary_operation_name] +other = "Hoạt động" + +[layout_docs_glossary_security_description] +other = "Giữ cho các ứng dụng Kubernetes an toàn và bảo mật." + +[layout_docs_glossary_security_name] +other = "Bảo mật" [layouts_docs_glossary_select_all] other = "Chọn tất cả" +[layout_docs_glossary_storage_description] +other = "Cách các ứng dụng Kubernetes xử lý dữ liệu lâu dài." + +[layout_docs_glossary_storage_name] +other = "Lưu trữ" + +[layout_docs_glossary_tool_description] +other = "Phần mềm giúp làm cho Kubernetes dễ sử dụng hoặc tốt hơn." + +[layout_docs_glossary_tool_name] +other = "Công cụ" + +[layout_docs_glossary_user-type_description] +other = "Đại diện cho một loại người dùng Kubernetes phổ biến." + +[layout_docs_glossary_user-type_name] +other = "Loại Người dùng" + +[layout_docs_glossary_workload_description] +other = "Các ứng dụng đang chạy trên Kubernetes." + +[layout_docs_glossary_workload_name] +other = "Khối công việc" + [layouts_docs_partials_feedback_improvement] -other = "đề xuất cải tiến" +other = "đề xuất một cải tiến" [layouts_docs_partials_feedback_issue] -other = "Tạo một issue trên Github repo nến bạn muốn " +other = """Mở một vấn đề trong [Kho GitHub](https://www.github.com/kubernetes/website/) nếu bạn muốn """ [layouts_docs_partials_feedback_or] other = "hoặc" @@ -106,16 +309,24 @@ other = "hoặc" other = "báo cáo một vấn đề" [layouts_docs_partials_feedback_thanks] -other = "Cảm ơn vì đã phản hồi. Nếu bạn có một câu hỏi cụ thể, có thể trả lời về cách sử dụng Kubernetes, hãy hỏi nó trên" +other = "Cảm ơn bạn đã phản hồi. Nếu bạn có một câu hỏi cụ thể và có thể trả lời về cách sử dụng Kubernetes, hãy đặt nó trên" [layouts_docs_search_fetching] -other = "Đang lấy kết quả..." +other = "Đang tìm kết quả..." + +[legacy_repos_message] +other = """Các kho lưu trữ gói cũ (`apt.kubernetes.io` và `yum.kubernetes.io`) đã bị +[lạc thú và đóng băng từ ngày 13 tháng 9, 2023](/blog/2023/08/31/legacy-package-repository-deprecation/). +**Sử dụng [các kho lưu trữ mới được đặt tại `pkgs.k8s.io`](/blog/2023/08/15/pkgs-k8s-io-introduction/) +được khuyến nghị mạnh mẽ và yêu cầu để cài đặt các phiên bản Kubernetes phát hành sau ngày 13 tháng 9, 2023.** +Các kho cũ đã lạc thú, và nội dung của chúng, có thể bị xóa bất kỳ lúc nào trong tương lai và mà không có +thêm thông báo. Các kho lưu trữ mới cung cấp tải về cho các phiên bản Kubernetes bắt đầu từ v1.24.0.""" [main_by] other = "bởi" [main_cncf_project] -other = """Chúng tôi là một dự án CNCF

""" +other = """Chúng tôi là một dự án tốt nghiệp từ CNCF

""" [main_community_explore] other = "Khám phá cộng đồng" @@ -124,40 +335,34 @@ other = "Khám phá cộng đồng" other = "Đóng góp" [main_copyright_notice] -other = """The Linux Foundation ®. Đã đăng ký Bản quyền. The Linux Foundation đã đăng ký và sử dụng nhãn hiệu. Để biết danh sách các nhãn hiệu của The Linux Foundation, xem Trademark Usage page""" +other = """The Linux Foundation ®. Tất cả các quyền được bảo lưu. The Linux Foundation đã đăng ký thương hiệu và sử dụng thương hiệu. Để xem danh sách các thương hiệu của The Linux Foundation, vui lòng xem trang Sử dụng Thương hiệu của chúng tôi""" [main_documentation_license] -other = """Các tác giả Kubernetes | Tài liệu được phân phối theo CC BY 4.0""" - -[main_edit_this_page] -other = "Sửa trang này" - -[main_github_create_an_issue] -other = "Tạo một Issue" +other = """Tác giả Kubernetes | Tài liệu phân phối dưới CC BY 4.0""" [main_github_invite] -other = "Quan tâm đến việc hacking mã nguồn Kubernetes?" +other = "Có quan tâm đến việc đóng góp vào mã nguồn chính của Kubernetes?" [main_github_view_on] other = "Xem trên GitHub" [main_kubernetes_features] -other = "Các tính năng của Kubernetes" +other = "Tính năng Kubernetes" [main_kubeweekly_baseline] -other = "Muốn nhận những tin tức Kubernetes mới nhất? Đăng kí KubeWeekly." +other = "Muốn nhận tin tức Kubernetes mới nhất không? Đăng ký KubeWeekly." [main_kubernetes_past_link] -other = "Xem các bản tin trước đây" +other = "Xem những bản tin trước đó" [main_kubeweekly_signup] -other = "Đăng kí" +other = "Đăng ký" [main_page_history] -other ="Lịch sử trang" +other ="Lịch sử Trang" [main_page_last_modified_on] -other = "Trang được sửa lần cuồi vào" +other = "Trang được chỉnh sửa lần cuối vào" [main_read_about] other = "Đọc về" @@ -165,33 +370,202 @@ other = "Đọc về" [main_read_more] other = "Đọc thêm" +[not_applicable] +# Đội dịch thuật: Có thể sử dụng một đoạn văn bản dài hơn ở đây +other = "n/a" + [note] -other = "Ghi chú:" +other = "Lưu ý:" [objectives_heading] other = "Mục tiêu" +[options_heading] +other = "Tùy chọn" + +[outdated_blog__message] +other = "Bài viết này đã có hơn một năm. Các bài viết cũ có thể chứa thông tin lạc thú. Hãy kiểm tra xem thông tin trong trang có không chính xác so với thời điểm xuất bản." + +[patch_release] +other = "Bản Phát hành Patch" + +[post_create_issue] +other = "Tạo một vấn đề" + [prerequisites_heading] -other = "Trước khi bắt đầu" +other = "Trước khi bạn bắt đầu" + +[previous_patches] +other = "Bản Phát hành Patch:" + +# Đoạn văn bản sau đây được hiển thị khi JavaScript không khả dụng. +[release_binary_alternate_links] +other = """Bạn có thể tìm liên kết để tải các thành phần Kubernetes (và checksum của chúng) trong các tệp [CHANGELOG](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG). +Hoặc sử dụng [downloadkubernetes.com](https://www.downloadkubernetes.com/) để lọc theo phiên bản và kiến trúc.""" + +[release_binary_arch] +other = "Kiến trúc" + +[release_binary_arch_option] +other = "Kiến trúc" + +[release_binary_copy_link] +other = "Sao chép Liên kết" + +[release_binary_copy_link_certifcate] +other = "cert" + +[release_binary_copy_link_checksum] +other = "checksum" + +[release_binary_copy_link_signature] +other = "signature" + +[release_binary_copy_link_tooltip] +other = "sao chép vào bảng tạm" + +[release_binary_download] +other = "Tải về Tệp Nhị phân" + +[release_binary_download_tooltip] +other = "tải về tệp nhị phân" + +[release_binary_options] +other = "Tùy chọn Tải về" + +[release_binary_os] +other = "Hệ điều hành" + +[release_binary_os_option] +other = "Hệ điều hành" + +[release_binary_os_darwin] +other = "darwin" + +[release_binary_os_linux] +other = "linux" + +[release_binary_os_windows] +other = "windows" + +[release_binary_table_caption] +other = "Tải về các tệp nhị phân của thành phần Kubernetes" + +# NOTE: là một chỗ giữ chỗ cho số phiên bản thực tế được đặt bởi shortcode 'release-binaries'. +# Vui lòng không dịch hoặc sửa đổi chỗ giữ chỗ . + +[release_binary_section] +other = """Bạn có thể tìm các liên kết để tải về các thành phần Kubernetes (kèm theo checksum của chúng) dưới đây. +Để truy cập các phiên bản cũ được hỗ trợ, hãy truy cập liên kết tài liệu tương ứng +đối với [các phiên bản cũ](https://kubernetes.io/docs/home/supported-doc-versions/#versions-older) hoặc sử dụng [downloadkubernetes.com](https://www.downloadkubernetes.com/).""" + +# NOTE: là chỗ giữ chỗ được đặt bởi shortcode 'release-binaries'. +# Vui lòng không dịch hoặc sửa đổi chỗ giữ chỗ . + +[release_binary_section_note] +other = """Để tải các phiên bản path cũ của các thành phần Kubernetes (và checksum của chúng), +vui lòng tham khảo tệp [CHANGELOG](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG/CHANGELOG-.md).""" + +[release_binary_version] +other = "Phiên bản" + +[release_binary_version_option] +other = "Phiên bản Mới Nhất" + +[release_date_after] +other = ")" + +[release_date_before] +other = "(phát hành ngày: " + +# Xem https://gohugo.io/functions/format/#gos-layout-string +# Sử dụng định dạng phù hợp với khu vực của bạn +[release_date_format] +other = "2006-01-02" + +[release_cherry_pick_deadline] +other = "Thời Hạn Chọn Cherries" + +[release_end_of_life_date] +other = "Ngày Kết Thúc Vòng Đời" + +[release_full_details_initial_text] +other = "Đầy Đủ" + +[release_information_navbar] +other = "Thông Tin Phát Hành" + +[release_minor_version] +other = "Phiên Bản Nhỏ" + +[release_info_next_patch] +other = "Bản phát hành patch tiếp theo là **%s**." + +# Ghi chú về phiên dịch: Bạn có thể sử dụng Markdown ở đây. +# Ba chỗ giữ chỗ (theo thứ tự) là: +# Phiên bản nhỏ của Kubernetes +# Ngày chế độ bảo trì +# Ngày kết thúc vòng đời +# +# Giữ thứ tự này. Có thể sử dụng nhiều hơn một câu, và cũng có thể thay đổi +# thì của văn bản miễn là ý nghĩa là rõ ràng. +[release_info_eol] +other = "**%s** bắt đầu chế độ bảo trì vào ngày **%s** và Kết thúc Vòng đời vào ngày **%s**." + +[release_note] +other = "Ghi chú" + +[release_schedule] +other = "Lịch Trình" + +[release_target_date] +other = "Ngày Đích" + +[release_changelog] +other = "Changelog" + +[seealso_heading] +other = "Xem Thêm" [subscribe_button] -other = "Đăng ký" +other = "Đăng Ký" + +[synopsis_heading] +other = "Tóm Tắt" + +[thirdparty_message] +other = """Phần này liên kết đến các dự án bên thứ ba cung cấp chức năng được yêu cầu bởi Kubernetes. Tác giả dự án Kubernetes không chịu trách nhiệm về những dự án này, được liệt kê theo thứ tự chữ cái. Để thêm một dự án vào danh sách này, đọc hướng dẫn nội dung trước khi gửi thay đổi. Thêm thông tin.""" + +[thirdparty_message_edit_disclaimer] +other="""Lời khuyên về nội dung của bên thứ ba""" + + +[thirdparty_message_single_item] +other = """🛇 Mục này liên kết đến một dự án hoặc sản phẩm bên thứ ba không phải là một phần của Kubernetes chính. Thông tin thêm""" +[thirdparty_message_disclaimer] +other = """

Các mục trên trang này đề cập đến các sản phẩm hoặc dự án bên thứ ba cung cấp chức năng được yêu cầu bởi Kubernetes. Tác giả dự án Kubernetes không chịu trách nhiệm đối với những sản phẩm hoặc dự án của bên thứ ba đó. Xem hướng dẫn trang web CNCF để biết thêm chi tiết.

Bạn nên đọc hướng dẫn nội dung trước khi đề xuất một thay đổi thêm một liên kết bên thứ ba nữa.

""" + +[thirdparty_message_vendor] +other = """Các mục trên trang này đề cập đến các nhà cung cấp bên ngoài Kubernetes. Tác giả dự án Kubernetes không chịu trách nhiệm đối với những sản phẩm hoặc dự án của bên thứ ba đó. Để thêm một nhà cung cấp, sản phẩm hoặc dự án vào danh sách này, đọc hướng dẫn nội dung trước khi gửi thay đổi. Thông tin thêm.""" + [ui_search_placeholder] -other = "Tìm kiếm" +other = "Tìm kiếm trên trang này" [version_check_mustbe] -other = "Server Kubernetes của bạn phải ở phiên bản " +other = "Máy chủ Kubernetes của bạn phải là phiên bản " [version_check_mustbeorlater] -other = "Server Kubernetes của bạn ở phiên bản mới hơn hoặc tại phiên bản " +other = "Máy chủ Kubernetes của bạn phải là phiên bản từ hoặc sau phiên bản " [version_check_tocheck] other = "Để kiểm tra phiên bản, nhập " +[version_menu] +other = "Phiên bản" + [warning] other = "Cảnh báo:" [whatsnext_heading] -other = "Có gì tiếp theo" - +other = "Tiếp theo là gì" \ No newline at end of file From 354260f1e474d5c5765fecdb4be97b095a3503bf Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 23 Feb 2024 10:24:15 +0800 Subject: [PATCH 05/24] [zh] Sync /kubectl/kubectl.md --- .../zh-cn/docs/reference/kubectl/kubectl.md | 193 +++++++++--------- 1 file changed, 101 insertions(+), 92 deletions(-) diff --git a/content/zh-cn/docs/reference/kubectl/kubectl.md b/content/zh-cn/docs/reference/kubectl/kubectl.md index a1b639e107..09d6bdfe5e 100644 --- a/content/zh-cn/docs/reference/kubectl/kubectl.md +++ b/content/zh-cn/docs/reference/kubectl/kubectl.md @@ -17,11 +17,11 @@ kubectl controls the Kubernetes cluster manager. kubectl 管理控制 Kubernetes 集群。 -获取更多信息,请访问 [kubectl 概述](/zh-cn/docs/reference/kubectl/)。 +更多信息请查阅[命令行工具](/zh-cn/docs/kubectl/)(`kubectl`)。 -``` +```shell kubectl [flags] ``` @@ -321,7 +321,9 @@ kubectl [flags] - + 如果为 true,则只将日志写入初始严重级别(而不是同时写入所有较低的严重级别)。 @@ -560,104 +562,111 @@ When set to true, the kubectl exec, cp, and attach commands will attempt to stre ## {{% heading "seealso" %}} -* [kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands#annotate) - 更新资源所关联的注解 -* [kubectl api-resources](/docs/reference/generated/kubectl/kubectl-commands#api-resources) - 打印服务器上所支持的 API 资源 -* [kubectl api-versions](/docs/reference/generated/kubectl/kubectl-commands#api-versions) - 以“组/版本”的格式输出服务端所支持的 API 版本 -* [kubectl apply](/docs/reference/generated/kubectl/kubectl-commands#apply) - 基于文件名或标准输入,将新的配置应用到资源上 -* [kubectl attach](/docs/reference/generated/kubectl/kubectl-commands#attach) - 连接到一个正在运行的容器 +* [kubectl annotate](/zh-cn/docs/reference/kubectl/generated/kubectl_annotate/) - 更新资源所关联的注解 +* [kubectl api-resources](/docs/reference/kubectl/generated/kubectl_api-resources/) - 打印服务器上所支持的 API 资源 +* [kubectl api-versions](/docs/reference/kubectl/generated/kubectl_api-versions/) - 以“组/版本”的格式输出服务端所支持的 API 版本 +* [kubectl apply](/docs/reference/kubectl/generated/kubectl_apply/) - 基于文件名或标准输入,将新的配置应用到资源上 +* [kubectl attach](/docs/reference/kubectl/generated/kubectl_attach/) - 挂接到一个正在运行的容器 -* [kubectl auth](/docs/reference/generated/kubectl/kubectl-commands#auth) - 检查授权信息 -* [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands#autoscale) - 对一个资源对象(Deployment、ReplicaSet 或 ReplicationController )进行扩缩 -* [kubectl certificate](/docs/reference/generated/kubectl/kubectl-commands#certificate) - 修改证书资源 -* [kubectl cluster-info](/docs/reference/generated/kubectl/kubectl-commands#cluster-info) - 显示集群信息 -* [kubectl completion](/docs/reference/generated/kubectl/kubectl-commands#completion) - 根据已经给出的 Shell(bash 或 zsh),输出 Shell 补全后的代码 -* [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) - 修改 kubeconfig 配置文件 +* [kubectl auth](/docs/reference/kubectl/generated/kubectl_auth/) - 检查授权信息 +* [kubectl autoscale](/docs/reference/kubectl/generated/kubectl_autoscale/) - 对一个资源对象 + (Deployment、ReplicaSet 或 ReplicationController)进行自动扩缩 +* [kubectl certificate](/docs/reference/kubectl/generated/kubectl_certificate/) - 修改证书资源 +* [kubectl cluster-info](/docs/reference/kubectl/generated/kubectl_cluster-info/) - 显示集群信息 +* [kubectl completion](/docs/reference/kubectl/generated/kubectl_completion/) - 根据已经给出的 Shell(bash 或 zsh), + 输出 Shell 补全后的代码 +* [kubectl config](/docs/reference/kubectl/generated/kubectl_config/) - 修改 kubeconfig 配置文件 -* [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands#convert) - 在不同的 API 版本之间转换配置文件 -* [kubectl cordon](/docs/reference/generated/kubectl/kubectl-commands#cordon) - 标记节点为不可调度的 -* [kubectl cp](/docs/reference/generated/kubectl/kubectl-commands#cp) - 将文件和目录拷入/拷出容器 -* [kubectl create](/docs/reference/generated/kubectl/kubectl-commands#create) - 通过文件或标准输入来创建资源 -* [kubectl debug](/docs/reference/generated/kubectl/kubectl-commands#debug) - 创建用于排查工作负载和节点故障的调试会话 -* [kubectl delete](/docs/reference/generated/kubectl/kubectl-commands#delete) - 通过文件名、标准输入、资源和名字删除资源,或者通过资源和标签选择算符来删除资源 +* [kubectl cordon](/docs/reference/kubectl/generated/kubectl_cordon/) - 标记节点为不可调度的 +* [kubectl cp](/docs/reference/kubectl/generated/kubectl_cp/) - 将文件和目录拷入/拷出容器 +* [kubectl create](/docs/reference/kubectl/generated/kubectl_create/) - 通过文件或标准输入来创建资源 +* [kubectl debug](/docs/reference/kubectl/generated/kubectl_debug/) - 创建用于排查工作负载和节点故障的调试会话 +* [kubectl delete](/docs/reference/kubectl/generated/kubectl_delete/) - 通过文件名、标准输入、资源和名字删除资源, + 或者通过资源和标签选择算符来删除资源 -* [kubectl describe](/docs/reference/generated/kubectl/kubectl-commands#describe) - 显示某个资源或某组资源的详细信息 -* [kubectl diff](/docs/reference/generated/kubectl/kubectl-commands#diff) - 显示目前版本与将要应用的版本之间的差异 -* [kubectl drain](/docs/reference/generated/kubectl/kubectl-commands#drain) - 腾空节点,准备维护 -* [kubectl edit](/docs/reference/generated/kubectl/kubectl-commands#edit) - 修改服务器上的某资源 -* [kubectl events](/docs/reference/generated/kubectl/kubectl-commands#events) - 列举事件 -* [kubectl exec](/docs/reference/generated/kubectl/kubectl-commands#exec) - 在容器中执行相关命令 -* [kubectl explain](/docs/reference/generated/kubectl/kubectl-commands#explain) - 显示资源文档说明 -* [kubectl expose](/docs/reference/generated/kubectl/kubectl-commands#expose) - 给定副本控制器、服务、Deployment 或 Pod,将其暴露为新的 kubernetes Service +* [kubectl describe](/docs/reference/kubectl/generated/kubectl_describe/) - 显示某个资源或某组资源的详细信息 +* [kubectl diff](/docs/reference/kubectl/generated/kubectl_diff/) - 显示目前版本与将要应用的版本之间的差异 +* [kubectl drain](/docs/reference/kubectl/generated/kubectl_drain/) - 腾空节点,准备维护 +* [kubectl edit](/docs/reference/kubectl/generated/kubectl_edit/) - 修改服务器上的某资源 +* [kubectl events](/docs/reference/kubectl/generated/kubectl_events/) - 列举事件 +* [kubectl exec](/docs/reference/kubectl/generated/kubectl_exec/) - 在容器中执行相关命令 +* [kubectl explain](/docs/reference/kubectl/generated/kubectl_explain/) - 显示资源文档说明 +* [kubectl expose](/docs/reference/kubectl/generated/kubectl_expose/) - 给定副本控制器、服务、Deployment 或 Pod, + 将其暴露为新的 kubernetes Service -* [kubectl get](/docs/reference/generated/kubectl/kubectl-commands#get) - 显示一个或者多个资源信息 -* [kubectl kustomize](/docs/reference/generated/kubectl/kubectl-commands#kustomize) - 从目录或远程 URL 中构建 kustomization -* [kubectl label](/docs/reference/generated/kubectl/kubectl-commands#label) - 更新资源的标签 -* [kubectl logs](/docs/reference/generated/kubectl/kubectl-commands#logs) - 输出 Pod 中某容器的日志 -* [kubectl options](/docs/reference/generated/kubectl/kubectl-commands#options) - 打印所有命令都支持的共有参数列表 -* [kubectl patch](/docs/reference/generated/kubectl/kubectl-commands#patch) - 基于策略性合并修补(Stategic Merge Patch)规则更新某资源中的字段 +* [kubectl get](/docs/reference/kubectl/generated/kubectl_get/) - 显示一个或者多个资源信息 +* [kubectl kustomize](/docs/reference/kubectl/generated/kubectl_kustomize/) - 从目录或远程 URL 中构建 kustomization +* [kubectl label](/docs/reference/kubectl/generated/kubectl_label/) - 更新资源的标签 +* [kubectl logs](/docs/reference/kubectl/generated/kubectl_logs/) - 输出 Pod 中某容器的日志 +* [kubectl options](/docs/reference/kubectl/generated/kubectl_options/) - 打印所有命令都支持的共有参数列表 +* [kubectl patch](/docs/reference/kubectl/generated/kubectl_patch/) - 更新某资源中的字段 -* [kubectl plugin](/docs/reference/generated/kubectl/kubectl-commands#plugin) - 运行命令行插件 -* [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands#port-forward) - 将一个或者多个本地端口转发到 Pod -* [kubectl proxy](/docs/reference/generated/kubectl/kubectl-commands#proxy) - 运行一个 kubernetes API 服务器代理 -* [kubectl replace](/docs/reference/generated/kubectl/kubectl-commands#replace) - 基于文件名或标准输入替换资源 -* [kubectl rollout](/docs/reference/generated/kubectl/kubectl-commands#rollout) - 管理资源的上线 -* [kubectl run](/docs/reference/generated/kubectl/kubectl-commands#run) - 在集群中使用指定镜像启动容器 +* [kubectl plugin](/docs/reference/kubectl/generated/kubectl_plugin/) - 运行命令行插件 +* [kubectl port-forward](/docs/reference/kubectl/generated/kubectl_port-forward/) - 将一个或者多个本地端口转发到 Pod +* [kubectl proxy](/docs/reference/kubectl/generated/kubectl_proxy/) - 运行一个 kubernetes API 服务器代理 +* [kubectl replace](/docs/reference/kubectl/generated/kubectl_replace/) - 基于文件名或标准输入替换资源 +* [kubectl rollout](/docs/reference/kubectl/generated/kubectl_rollout/) - 管理资源的上线 +* [kubectl run](/docs/reference/kubectl/generated/kubectl_run/) - 在集群中使用指定镜像启动容器 -* [kubectl scale](/docs/reference/generated/kubectl/kubectl-commands#scale) - 为一个 Deployment、ReplicaSet 或 ReplicationController 设置一个新的规模值 -* [kubectl set](/docs/reference/generated/kubectl/kubectl-commands#set) - 为对象设置功能特性 -* [kubectl taint](/docs/reference/generated/kubectl/kubectl-commands#taint) - 在一个或者多个节点上更新污点配置 -* [kubectl top](/docs/reference/generated/kubectl/kubectl-commands#top) - 显示资源(CPU/内存/存储)使用率 -* [kubectl uncordon](/docs/reference/generated/kubectl/kubectl-commands#uncordon) - 标记节点为可调度的 -* [kubectl version](/docs/reference/generated/kubectl/kubectl-commands#version) - 打印客户端和服务器的版本信息 -* [kubectl wait](/docs/reference/generated/kubectl/kubectl-commands#wait) - 实验级特性:等待一个或多个资源达到某种状态 +* [kubectl scale](/docs/reference/kubectl/generated/kubectl_scale/) - 为一个 Deployment、ReplicaSet 或 + ReplicationController 设置一个新的规模值 +* [kubectl set](/docs/reference/kubectl/generated/kubectl_set/) - 为对象设置功能特性 +* [kubectl taint](/docs/reference/kubectl/generated/kubectl_taint/) - 在一个或者多个节点上更新污点配置 +* [kubectl top](/docs/reference/kubectl/generated/kubectl_top/) - 显示资源(CPU/内存/存储)使用率 +* [kubectl uncordon](/docs/reference/kubectl/generated/kubectl_uncordon/) - 标记节点为可调度的 +* [kubectl version](/docs/reference/kubectl/generated/kubectl_version/) - 打印客户端和服务器的版本信息 +* [kubectl wait](/docs/reference/kubectl/generated/kubectl_wait/) - 实验级特性:等待一个或多个资源达到某种状态 From bef31e2091435265ddfdd1d82bbb4f62966637cf Mon Sep 17 00:00:00 2001 From: xin gu <418294249@qq.com> Date: Wed, 21 Feb 2024 22:20:22 +0800 Subject: [PATCH 06/24] sync style-guide kube-scheduler-config.v1 slis Update slis.md --- content/zh-cn/docs/contribute/style/style-guide.md | 2 +- .../reference/config-api/kube-scheduler-config.v1.md | 10 ++-------- content/zh-cn/docs/reference/instrumentation/slis.md | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/content/zh-cn/docs/contribute/style/style-guide.md b/content/zh-cn/docs/contribute/style/style-guide.md index 359a654189..962559b3ef 100644 --- a/content/zh-cn/docs/contribute/style/style-guide.md +++ b/content/zh-cn/docs/contribute/style/style-guide.md @@ -317,7 +317,7 @@ Run the process as a DaemonSet in the `kube-system` namespace. | Run the process {{< table caption = "Do and Don't - Use code style for Kubernetes command tool and component names" >}} Do | Don't :--| :----- -The kubelet preserves node stability. | The `kubelet` preserves node stability. +The `kubelet` preserves node stability. | The `kubelet` preserves node stability. The `kubectl` handles locating and authenticating to the API server. | The kubectl handles locating and authenticating to the apiserver. Run the process with the certificate, `kube-apiserver --client-ca-file=FILENAME`. | Run the process with the certificate, kube-apiserver --client-ca-file=FILENAME. | {{< /table >}} diff --git a/content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1.md b/content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1.md index 636c76269a..8ec219a90e 100644 --- a/content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1.md +++ b/content/zh-cn/docs/reference/config-api/kube-scheduler-config.v1.md @@ -32,8 +32,6 @@ auto_generated: true --> **出现在:** -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) - - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) **出现在:** -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) - - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) **出现在:** -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) - - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) -{{< feature-state for_k8s_version="v1.27" state="beta" >}} +{{< feature-state for_k8s_version="v1.29" state="stable" >}} @@ -57,7 +57,7 @@ This section covers starting a single-node and multi-node etcd cluster. ### Single-node etcd cluster -Use a single-node etcd cluster only for testing purpose. +Use a single-node etcd cluster only for testing purposes. 1. Run the following: @@ -144,8 +144,8 @@ ETCDCTL_API=3 etcdctl --endpoints 10.2.0.9:2379 \ ### Limiting access of etcd clusters -After configuring secure communication, restrict the access of etcd cluster to -only the Kubernetes API servers. Use TLS authentication to do so. +After configuring secure communication, restrict the access of the etcd cluster to +only the Kubernetes API servers using TLS authentication. For example, consider key pairs `k8sclient.key` and `k8sclient.cert` that are trusted by the CA `etcd.ca`. When etcd is configured with `--client-cert-auth` @@ -160,9 +160,7 @@ flags `--etcd-certfile=k8sclient.cert`, `--etcd-keyfile=k8sclient.key` and `--etcd-cafile=ca.cert`. {{< note >}} -etcd authentication is not currently supported by Kubernetes. For more -information, see the related issue -[Support Basic Auth for Etcd v2](https://github.com/kubernetes/kubernetes/issues/23398). +etcd authentication is not planned for Kubernetes. {{< /note >}} ## Replacing a failed etcd member @@ -203,9 +201,9 @@ replace it with `member4=http://10.0.0.4`. etcd. 1. Stop the etcd server on the broken node. It is possible that other - clients besides the Kubernetes API server is causing traffic to etcd + clients besides the Kubernetes API server are causing traffic to etcd and it is desirable to stop all traffic to prevent writes to the data - dir. + directory. 1. Remove the failed member: @@ -256,10 +254,10 @@ For more information on cluster reconfiguration, see ## Backing up an etcd cluster -All Kubernetes objects are stored on etcd. Periodically backing up the etcd +All Kubernetes objects are stored in etcd. Periodically backing up the etcd cluster data is important to recover Kubernetes clusters under disaster scenarios, such as losing all control plane nodes. The snapshot file contains -all the Kubernetes states and critical information. In order to keep the +all the Kubernetes state and critical information. In order to keep the sensitive Kubernetes data safe, encrypt the snapshot files. Backing up an etcd cluster can be accomplished in two ways: etcd built-in @@ -267,14 +265,14 @@ snapshot and volume snapshot. ### Built-in snapshot -etcd supports built-in snapshot. A snapshot may either be taken from a live +etcd supports built-in snapshot. A snapshot may either be created from a live member with the `etcdctl snapshot save` command or by copying the `member/snap/db` file from an etcd [data directory](https://etcd.io/docs/current/op-guide/configuration/#--data-dir) -that is not currently used by an etcd process. Taking the snapshot will +that is not currently used by an etcd process. Creating the snapshot will not affect the performance of the member. -Below is an example for taking a snapshot of the keyspace served by +Below is an example for creating a snapshot of the keyspace served by `$ENDPOINT` to the file `snapshot.db`: ```shell @@ -298,19 +296,19 @@ ETCDCTL_API=3 etcdctl --write-out=table snapshot status snapshot.db ### Volume snapshot If etcd is running on a storage volume that supports backup, such as Amazon -Elastic Block Store, back up etcd data by taking a snapshot of the storage +Elastic Block Store, back up etcd data by creating a snapshot of the storage volume. ### Snapshot using etcdctl options -We can also take the snapshot using various options given by etcdctl. For example +We can also create the snapshot using various options given by etcdctl. For example: ```shell ETCDCTL_API=3 etcdctl -h ``` -will list various options available from etcdctl. For example, you can take a snapshot by specifying -the endpoint, certificates etc as shown below: +will list various options available from etcdctl. For example, you can create a snapshot by specifying +the endpoint, certificates and key as shown below: ```shell ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \ @@ -324,7 +322,7 @@ where `trusted-ca-file`, `cert-file` and `key-file` can be obtained from the des Scaling out etcd clusters increases availability by trading off performance. Scaling does not increase cluster performance nor capability. A general rule is not to scale out or in etcd clusters. Do not configure any auto scaling -groups for etcd clusters. It is highly recommended to always run a static +groups for etcd clusters. It is strongly recommended to always run a static five-member etcd cluster for production Kubernetes clusters at any officially supported scale. @@ -337,7 +335,7 @@ for information on how to add members into an existing cluster. etcd supports restoring from snapshots that are taken from an etcd process of the [major.minor](http://semver.org/) version. Restoring a version from a -different patch version of etcd also is supported. A restore operation is +different patch version of etcd is also supported. A restore operation is employed to recover the data of a failed cluster. Before starting the restore operation, a snapshot file must be present. It can @@ -358,12 +356,12 @@ export ETCDCTL_API=3 etcdctl --data-dir snapshot restore snapshot.db ``` -If `` is the same folder as before, delete it and stop etcd process before restoring the cluster. Else change etcd configuration and restart the etcd process after restoration to make it use the new data directory. +If `` is the same folder as before, delete it and stop the etcd process before restoring the cluster. Otherwise, change etcd configuration and restart the etcd process after restoration to have it use the new data directory. For more information and examples on restoring a cluster from a snapshot file, see [etcd disaster recovery documentation](https://etcd.io/docs/current/op-guide/recovery/#restoring-a-cluster). -If the access URLs of the restored cluster is changed from the previous +If the access URLs of the restored cluster are changed from the previous cluster, the Kubernetes API server must be reconfigured accordingly. In this case, restart Kubernetes API servers with the flag `--etcd-servers=$NEW_ETCD_CLUSTER` instead of the flag @@ -408,9 +406,9 @@ For more details on etcd maintenance, please refer to the [etcd maintenance](htt {{% thirdparty-content single="true" %}} {{< note >}} -Defragmentation is an expensive operation, so it should be executed as infrequent +Defragmentation is an expensive operation, so it should be executed as infrequently as possible. On the other hand, it's also necessary to make sure any etcd member -will not run out of the storage quota. The Kubernetes project recommends that when +will not exceed the storage quota. The Kubernetes project recommends that when you perform defragmentation, you use a tool such as [etcd-defrag](https://github.com/ahrtr/etcd-defrag). You can also run the defragmentation tool as a Kubernetes CronJob, to make sure that From a5572b3755005ecae98fe2e664ae815f7c49c234 Mon Sep 17 00:00:00 2001 From: Arhell Date: Sat, 24 Feb 2024 07:51:17 +0200 Subject: [PATCH 08/24] [ko] Fix broken link --- .../network-policy-provider/weave-network-policy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md index 9c99014c1f..c032d941c7 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md @@ -19,12 +19,12 @@ weight: 50 ## Weave Net 애드온을 설치한다 -[애드온을 통한 쿠버네티스 통합하기](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/) 가이드를 따른다. +[애드온을 통한 쿠버네티스 통합하기](https://github.com/weaveworks/weave/blob/master/site/kubernetes/kube-addon.md#-installation) 가이드를 따른다. 쿠버네티스의 위브넷 애드온은 쿠버네티스의 모든 네임스페이스의 네크워크 정책 어노테이션을 자동으로 모니터링하며, 정책에 따라 트래픽을 허용하고 차단하는 `iptables` 규칙을 구성하는 -[네트워크 폴리시 컨트롤러](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/#npc)와 함께 제공된다. +[네트워크 폴리시 컨트롤러](https://github.com/weaveworks/weave/blob/master/site/kubernetes/kube-addon.md#network-policy)와 함께 제공된다. ## 설치 시험 From 4a04547c0a57e2023e184936892259debe8a62e4 Mon Sep 17 00:00:00 2001 From: Hassan BENHZAINE Date: Fri, 26 Jan 2024 21:43:54 +0100 Subject: [PATCH 09/24] Modified storage access for zone and deleted PersistentVolumeLabel since its deprecated s --- .../en/docs/setup/best-practices/multiple-zones.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/content/en/docs/setup/best-practices/multiple-zones.md b/content/en/docs/setup/best-practices/multiple-zones.md index 3bce166937..f9ff827946 100644 --- a/content/en/docs/setup/best-practices/multiple-zones.md +++ b/content/en/docs/setup/best-practices/multiple-zones.md @@ -95,13 +95,16 @@ such as Deployment, StatefulSet, or Job. ## Storage access for zones -When persistent volumes are created, the `PersistentVolumeLabel` -[admission controller](/docs/reference/access-authn-authz/admission-controllers/) -automatically adds zone labels to any PersistentVolumes that are linked to a specific -zone. The {{< glossary_tooltip text="scheduler" term_id="kube-scheduler" >}} then ensures, +When persistent volumes are created, Kubernetes automatically adds zone labels +to any PersistentVolumes that are linked to a specific zone. +The {{< glossary_tooltip text="scheduler" term_id="kube-scheduler" >}} then ensures, through its `NoVolumeZoneConflict` predicate, that pods which claim a given PersistentVolume are only placed into the same zone as that volume. +Please note that the method of adding zone labels can depend on your +cloud provider and the storage provisioner you’re using. Always refer to the specific +documentation for your environment to ensure correct configuration. + You can specify a {{< glossary_tooltip text="StorageClass" term_id="storage-class" >}} for PersistentVolumeClaims that specifies the failure domains (zones) that the storage in that class may use. From f271922667d613510d158558fb55f67443fa835a Mon Sep 17 00:00:00 2001 From: Arhell Date: Sun, 25 Feb 2024 00:45:48 +0200 Subject: [PATCH 10/24] [id] Update link --- .../extend-kubernetes/compute-storage-net/device-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 40263d5e35..eadf3c51ba 100644 --- a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -212,7 +212,7 @@ pluginapi.Device{ID: "25102017", Health: pluginapi.Healthy, Topology:&pluginapi. Berikut beberapa contoh implementasi _plugin_ perangkat: -* [Plugin perangkat AMD GPU](https://github.com/RadeonOpenCompute/k8s-device-plugin) +* [Plugin perangkat AMD GPU](https://github.com/ROCm/k8s-device-plugin) * [Plugin perangkat Intel](https://github.com/intel/intel-device-plugins-for-kubernetes) untuk perangkat GPU, FPGA, dan QuickAssist Intel * [Plugin perangkat KubeVirt](https://github.com/kubevirt/kubernetes-device-plugins) untuk virtualisasi hardware-assisted * [Plugin perangkat NVIDIA GPU](https://github.com/NVIDIA/k8s-device-plugin) From 930b7bb7e5ef12efb77349907b7f2e0bcc8bb3a4 Mon Sep 17 00:00:00 2001 From: steve-hardman <132999137+steve-hardman@users.noreply.github.com> Date: Sun, 25 Feb 2024 00:13:29 +0000 Subject: [PATCH 11/24] Update link --- .../extend-kubernetes/compute-storage-net/device-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 869ef578dd..55b2c227bf 100644 --- a/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -845,7 +845,7 @@ Here are some examples of device plugin implementations: --> 下面是一些设备插件实现的示例: -* [AMD GPU 设备插件](https://github.com/RadeonOpenCompute/k8s-device-plugin) +* [AMD GPU 设备插件](https://github.com/ROCm/k8s-device-plugin) * 适用于通用 Linux 设备和 USB 设备的[通用设备插件](https://github.com/squat/generic-device-plugin) * [Intel 设备插件](https://github.com/intel/intel-device-plugins-for-kubernetes)支持 Intel GPU、FPGA、QAT、VPU、SGX、DSA、DLB 和 IAA 设备 From 115c0b41bd066426046d8a26f1e4e12dda56e2f0 Mon Sep 17 00:00:00 2001 From: saifeddine Rajhi Date: Sun, 25 Feb 2024 09:47:06 +0100 Subject: [PATCH 12/24] [de]: fix html reference to the German documentations Change from English to the German documentations --- .../tutorials/kubernetes-basics/_index.html | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/content/de/docs/tutorials/kubernetes-basics/_index.html b/content/de/docs/tutorials/kubernetes-basics/_index.html index 1a1b7cbfff..71dd175efc 100644 --- a/content/de/docs/tutorials/kubernetes-basics/_index.html +++ b/content/de/docs/tutorials/kubernetes-basics/_index.html @@ -50,25 +50,25 @@ card:
@@ -78,25 +78,25 @@ card:
@@ -107,7 +107,7 @@ card: From 3ee67235f8c65e72102a6f6136c80c8569c719ba Mon Sep 17 00:00:00 2001 From: seifrajhi Date: Sun, 25 Feb 2024 10:28:55 +0100 Subject: [PATCH 13/24] [fr]: Removing old CSS includes from tutorials and fix html href --- .../tutorials/kubernetes-basics/_index.html | 21 +++++++++---------- .../create-cluster/cluster-interactive.html | 2 -- .../create-cluster/cluster-intro.html | 3 +-- .../deploy-app/deploy-interactive.html | 5 ++--- .../deploy-app/deploy-intro.html | 5 ++--- .../explore/explore-intro.html | 4 ++-- 6 files changed, 17 insertions(+), 23 deletions(-) diff --git a/content/fr/docs/tutorials/kubernetes-basics/_index.html b/content/fr/docs/tutorials/kubernetes-basics/_index.html index b8ce6eff8b..8a6c9bb324 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/_index.html +++ b/content/fr/docs/tutorials/kubernetes-basics/_index.html @@ -8,14 +8,13 @@ card: title: Pas à pas des bases --- + - -
@@ -67,9 +66,9 @@ card:
@@ -79,25 +78,25 @@ card:
@@ -108,7 +107,7 @@ card: diff --git a/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html b/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html index c8137aa987..5fcc57e46b 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html +++ b/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html @@ -9,8 +9,6 @@ weight: 20 - -
diff --git a/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html b/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html index ff117322b2..01c97fdebf 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html +++ b/content/fr/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html @@ -9,7 +9,6 @@ weight: 10 -
@@ -96,7 +95,7 @@ weight: 10 diff --git a/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html index de064cd22e..594c2f3d6e 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html +++ b/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html @@ -9,8 +9,7 @@ weight: 20 - - +
@@ -29,7 +28,7 @@ weight: 20
diff --git a/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html b/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html index ff41cae0dd..c60ce4752b 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html +++ b/content/fr/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html @@ -9,7 +9,6 @@ weight: 10 -
@@ -71,7 +70,7 @@ weight: 10

Vous pouvez créer et gérer un déploiement à l'aide de l'interface de ligne de commande, Kubectl.

Kubectl utilise l'API Kubernetes pour interagir avec le cluster. Dans ce module, vous apprendrez les commandes Kubectl les plus courantes nécessaires à la création de déploiements exécutant vos applications sur un cluster Kubernetes.

-

Lorsque vous créez un déploiement, vous devez spécifier l'image de conteneur de votre application et le nombre de réplicas que vous souhaitez exécuter. Vous pouvez modifier ces informations ultérieurement en mettant à jour votre déploiement.; Modules 5 et 6 du bootcamp, expliquez comment vous pouvez faire évoluer et mettre à jour vos déploiements.

+

Lorsque vous créez un déploiement, vous devez spécifier l'image de conteneur de votre application et le nombre de réplicas que vous souhaitez exécuter. Vous pouvez modifier ces informations ultérieurement en mettant à jour votre déploiement.; Modules 5 et 6 du bootcamp, expliquez comment vous pouvez faire évoluer et mettre à jour vos déploiements.

@@ -99,7 +98,7 @@ weight: 10 diff --git a/content/fr/docs/tutorials/kubernetes-basics/explore/explore-intro.html b/content/fr/docs/tutorials/kubernetes-basics/explore/explore-intro.html index 724cfb8bcc..9d9dc2c548 100644 --- a/content/fr/docs/tutorials/kubernetes-basics/explore/explore-intro.html +++ b/content/fr/docs/tutorials/kubernetes-basics/explore/explore-intro.html @@ -105,7 +105,7 @@ weight: 10

Dépannage avec kubectl

-

Dans le module 2, vous avez utilisé l'interface de ligne de commande Kubectl. Vous continuerez à l'utiliser dans le module 3 pour obtenir des informations sur les applications déployées et leurs environnements. Les opérations les plus courantes peuvent être effectuées avec les commandes kubectl suivantes:

+

Dans le module 2, vous avez utilisé l'interface de ligne de commande Kubectl. Vous continuerez à l'utiliser dans le module 3 pour obtenir des informations sur les applications déployées et leurs environnements. Les opérations les plus courantes peuvent être effectuées avec les commandes kubectl suivantes:

  • kubectl get - liste les ressources
  • kubectl describe - affiche des informations détaillées sur une ressource
  • @@ -128,7 +128,7 @@ weight: 10 From 5bfbc3c28ce030672a471ee0d6df8cef46ad5677 Mon Sep 17 00:00:00 2001 From: seifrajhi Date: Sun, 25 Feb 2024 15:44:25 +0100 Subject: [PATCH 14/24] [es]: remove reference to removed CSS --- .../kubernetes-basics/create-cluster/cluster-interactive.html | 3 +-- .../kubernetes-basics/deploy-app/deploy-interactive.html | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/content/es/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html b/content/es/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html index 6743729d49..6e04566bea 100644 --- a/content/es/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html +++ b/content/es/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html @@ -9,8 +9,7 @@ weight: 20 - - +
    diff --git a/content/es/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/es/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html index 2ec6de59e9..74b4c50469 100644 --- a/content/es/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html +++ b/content/es/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html @@ -9,8 +9,6 @@ weight: 20 - -
    From 470efefe506d1c0675766027a53de14ef6da7e78 Mon Sep 17 00:00:00 2001 From: Haikal R Fadhilah Date: Mon, 26 Feb 2024 00:57:08 +0700 Subject: [PATCH 15/24] fix broken link indonesian docs --- content/id/docs/concepts/_index.md | 6 +++--- content/id/docs/home/_index.md | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/content/id/docs/concepts/_index.md b/content/id/docs/concepts/_index.md index 623b3fac3a..a786f9fb0a 100644 --- a/content/id/docs/concepts/_index.md +++ b/content/id/docs/concepts/_index.md @@ -33,10 +33,10 @@ misalnya dengan mekanisme `start` atau `stop` kontainer, melakukan *scale* repli suatu aplikasi, dan lain sebagainya. *Control Plane* Kubernetes terdiri dari sekumpulan `process` yang dijalankan di klaster: -* **Kubernetes Master** terdiri dari tiga buah *process* yang dijalankan pada sebuah *node* di klaster kamu, *node* ini disebut sebagai *master*, yang terdiri [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) dan [kube-scheduler](/docs/admin/kube-scheduler/). +* **Kubernetes Master** terdiri dari tiga buah *process* yang dijalankan pada sebuah *node* di klaster kamu, *node* ini disebut sebagai *master*, yang terdiri [kube-apiserver](/id/docs/concepts/overview/components/#kube-apiserver), [kube-controller-manager](/id/docs/concepts/overview/components/#kube-controller-manager) dan [kube-scheduler](/id/docs/concepts/overview/components/#kube-scheduler). * Setiap *node* non-master pada klaster kamu menjalankan dua buah *process*: - * **[kubelet](/docs/admin/kubelet/)**, yang menjadi perantara komunikasi dengan *master*. - * **[kube-proxy](/docs/admin/kube-proxy/)**, sebuah *proxy* yang merupakan representasi jaringan yang ada pada setiap *node*. + * **[kubelet](/id/docs/concepts/overview/components/#kubelet)**, yang menjadi perantara komunikasi dengan *master*. + * **[kube-proxy](/id/docs/concepts/overview/components/#kube-proxy)**, sebuah *proxy* yang merupakan representasi jaringan yang ada pada setiap *node*. ## Objek Kubernetes diff --git a/content/id/docs/home/_index.md b/content/id/docs/home/_index.md index bf74b6727b..c962794177 100644 --- a/content/id/docs/home/_index.md +++ b/content/id/docs/home/_index.md @@ -50,6 +50,8 @@ cards: - name: download title: Unduh Kubernetes description: Untuk instalasi atau pembaharuan Kubernetes ke versi terbaru, lihat catatan rilis saat ini. + button: Unduh Kubernetes Sekarang + button_path: /releases/download/ - name: about title: Tentang dokumentasi description: Situs ini merupakan dokumentasi dari Kubernetes versi saat ini dan 4 versi sebelumnya. From cf5a8f86dc5c511d0776ee17f2cd3a854ff585c3 Mon Sep 17 00:00:00 2001 From: Sankalp Khare Date: Mon, 26 Feb 2024 00:05:09 +0530 Subject: [PATCH 16/24] Fix typo in ephemeral-volumes.md --- content/en/docs/concepts/storage/ephemeral-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/storage/ephemeral-volumes.md b/content/en/docs/concepts/storage/ephemeral-volumes.md index f92f544768..f1968dabea 100644 --- a/content/en/docs/concepts/storage/ephemeral-volumes.md +++ b/content/en/docs/concepts/storage/ephemeral-volumes.md @@ -18,7 +18,7 @@ particular PersistentVolumeClaim and PersistentVolume. -Some application need additional storage but don't care whether that +Some applications need additional storage but don't care whether that data is stored persistently across restarts. For example, caching services are often limited by memory size and can move infrequently used data into storage that is slower than memory with little impact From bb5d0a45f2ea85a1af274bab46cff22350552cf5 Mon Sep 17 00:00:00 2001 From: Semih Buyukgungor Date: Sun, 25 Feb 2024 23:22:30 +0300 Subject: [PATCH 17/24] Update api fields in volumes page --- content/en/docs/concepts/storage/volumes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/concepts/storage/volumes.md b/content/en/docs/concepts/storage/volumes.md index 13b83596f4..a4ef1bbede 100644 --- a/content/en/docs/concepts/storage/volumes.md +++ b/content/en/docs/concepts/storage/volumes.md @@ -859,7 +859,7 @@ To turn off the `vsphereVolume` plugin from being loaded by the controller manag ## Using subPath {#using-subpath} Sometimes, it is useful to share one volume for multiple uses in a single pod. -The `volumeMounts.subPath` property specifies a sub-path inside the referenced volume +The `volumeMounts[*].subPath` property specifies a sub-path inside the referenced volume instead of its root. The following example shows how to configure a Pod with a LAMP stack (Linux Apache MySQL PHP) @@ -1162,7 +1162,7 @@ Mount propagation allows for sharing volumes mounted by a container to other containers in the same pod, or even to other pods on the same node. Mount propagation of a volume is controlled by the `mountPropagation` field -in `Container.volumeMounts`. Its values are: +in `containers[*].volumeMounts`. Its values are: * `None` - This volume mount will not receive any subsequent mounts that are mounted to this volume or any of its subdirectories by the host. From 02685cc91aeff4dbadedc0490037de5a615940d1 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sat, 24 Feb 2024 21:34:56 +0800 Subject: [PATCH 18/24] [zh-cn] sync kubeadm-upgrade.md Signed-off-by: xin.li --- .../kubeadm/kubeadm-upgrade.md | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/content/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index c066100703..560b6ef9e0 100644 --- a/content/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -110,12 +110,44 @@ The upgrade workflow at high level is the following: 这样会产生意想不到的结果。 请按照[重新配置 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)中的步骤来进行。 + +### 升级 etcd 时的注意事项 + +由于 `kube-apiserver` 静态 Pod 始终在运行(即使你已经执行了腾空节点的操作), +因此当你执行包括 etcd 升级在内的 kubeadm 升级时,对服务器正在进行的请求将停滞, +因为要重新启动新的 etcd 静态 Pod。作为一种解决方法,可以在运行 `kubeadm upgrade apply` +命令之前主动停止 `kube-apiserver` 进程几秒钟。这样可以允许正在进行的请求完成处理并关闭现有连接, +并最大限度地减少 etcd 停机的后果。此操作可以在控制平面节点上按如下方式完成: + + +```shell +killall -s SIGTERM kube-apiserver # 触发 kube-apiserver 体面关闭 +sleep 20 # 等待一下,以完成进行中的请求 +kubeadm upgrade ... # 执行 kubeadm 升级命令 +``` +

    扩缩 是通过改变 Deployment 中的副本数量来实现的。

    -

    注意 如果你是在 上一节 之后尝试此操作, - 你可能需要从 创建一个集群 开始, - 因为 Service 可能已被删除。

    - + {{< note >}} +

    如果你是在 上一节 之后尝试此操作, + 那么你可能已经删除了公开 Deployment 的 Service。在这种情况下,请使用以下命令再次公开 Deployment:

    +

    kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

    + {{< /note >}}
    @@ -269,23 +270,20 @@ kubernetes-bootcamp 1/1 1 1 11m

    We hit a different Pod with every request. This demonstrates that the load-balancing is working.

    -->

    我们每个请求都命中了不同的 Pod,这证明负载均衡正在工作。

    - {{< note >}} -

    如果你使用 Docker Desktop 作为容器驱动程序运行 minikube,则需要 minikube 隧道。 - 这是因为 Docker Desktop 内的容器与主机隔离。
    -

    在单独的终端窗口中,执行:
    - minikube service kubernetes-bootcamp --url

    - + --> + {{< note >}} +

    如果你使用 Docker Desktop 作为容器驱动程序运行 minikube,则需要 minikube 隧道。 + 这是因为 Docker Desktop 内的容器与主机隔离。
    +

    在单独的终端窗口中,执行:
    + minikube service kubernetes-bootcamp --url

    输出看起来像这样:

    http://127.0.0.1:51082
    ! Because you are using a Docker driver on darwin, the terminal needs to be open to run it.

    然后使用给定的 URL 访问应用程序: From ecc2b0c9fa63853c4ecc533c3b35f55d95f1d7e0 Mon Sep 17 00:00:00 2001 From: Johannes <69789894+Audiotape-2@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:36:09 +0100 Subject: [PATCH 20/24] fix typo --- content/de/docs/concepts/containers/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/de/docs/concepts/containers/_index.md b/content/de/docs/concepts/containers/_index.md index 764c891d01..0424ac7ca8 100644 --- a/content/de/docs/concepts/containers/_index.md +++ b/content/de/docs/concepts/containers/_index.md @@ -2,6 +2,6 @@ title: "Container" weight: 40 description: > - Methoden, um Anwendungen und ihre Abhängigkeiten zu zusammenzufassen. + Methoden, um Anwendungen und ihre Abhängigkeiten zusammenzufassen. --- From ea6624ee6268293b143a83ee23b036cfe050872a Mon Sep 17 00:00:00 2001 From: Bart Jeukendrup Date: Mon, 26 Feb 2024 16:59:51 +0100 Subject: [PATCH 21/24] Clarify in the documentation that 27017 is the official TCP port for MongoDB --- .../port-forward-access-application-cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index 3b2648f943..d31585a1a9 100644 --- a/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/en/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -110,7 +110,7 @@ for database debugging. 27017 ``` - 27017 is the TCP port allocated to MongoDB on the internet. + 27017 is the official TCP port for MongoDB. ## Forward a local port to a port on the Pod From e88b49b964c231cf7b2bae1b85ca963242a54bea Mon Sep 17 00:00:00 2001 From: howieyuen Date: Tue, 27 Feb 2024 20:16:54 +0800 Subject: [PATCH 22/24] [zh-cn]fix format issue --- .../extend-resources/mutating-webhook-configuration-v1.md | 6 +++--- .../reference/kubernetes-api/workload-resources/job-v1.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/zh-cn/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1.md b/content/zh-cn/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1.md index df95a52429..c8fa3519f1 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1.md +++ b/content/zh-cn/docs/reference/kubernetes-api/extend-resources/mutating-webhook-configuration-v1.md @@ -1,8 +1,8 @@ --- api_metadata: -apiVersion: "admissionregistration.k8s.io/v1" -import: "k8s.io/api/admissionregistration/v1" -kind: "MutatingWebhookConfiguration" + apiVersion: "admissionregistration.k8s.io/v1" + import: "k8s.io/api/admissionregistration/v1" + kind: "MutatingWebhookConfiguration" content_type: "api_reference" description: "MutatingWebhookConfiguration 描述准入 Webhook 的配置,该 Webhook 可在更改对象的情况下接受或拒绝对象请求" title: "MutatingWebhookConfiguration" diff --git a/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md b/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md index 478f91e123..a283c01425 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md +++ b/content/zh-cn/docs/reference/kubernetes-api/workload-resources/job-v1.md @@ -1,8 +1,8 @@ --- api_metadata: -apiVersion: "batch/v1" -import: "k8s.io/api/batch/v1" -kind: "Job" + apiVersion: "batch/v1" + import: "k8s.io/api/batch/v1" + kind: "Job" content_type: "api_reference" description: "Job 表示单个任务的配置。" title: "Job" From 9761f3dcb4b4fff17db57b05b8cec27657c18bf7 Mon Sep 17 00:00:00 2001 From: xin gu <418294249@qq.com> Date: Mon, 26 Feb 2024 21:39:49 +0800 Subject: [PATCH 23/24] sync blogs-case-studies multiple-zones Update multiple-zones.md --- .../new-content/blogs-case-studies.md | 8 ++++++++ .../setup/best-practices/multiple-zones.md | 18 +++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/content/zh-cn/docs/contribute/new-content/blogs-case-studies.md b/content/zh-cn/docs/contribute/new-content/blogs-case-studies.md index a19821a252..5f28758320 100644 --- a/content/zh-cn/docs/contribute/new-content/blogs-case-studies.md +++ b/content/zh-cn/docs/contribute/new-content/blogs-case-studies.md @@ -219,6 +219,10 @@ Submissions need to be in Markdown format to be used by the [Hugo](https://gohug for the blog. There are [many resources available](https://gohugo.io/documentation/) on how to use this technology stack. +For illustrations, diagrams or charts, the [figure shortcode](https://gohugo.io/content-management/shortcodes/#figure) +can be used. For other images, we strongly encourage use of alt attributes; if an image doesn't +need any alt attrribute, maybe it's not needed in the article at all. + We recognize that this requirement makes the process more difficult for less-familiar folks to submit, and we're constantly looking at solutions to lower this bar. If you have ideas on how to lower the barrier, please volunteer to help out. @@ -228,6 +232,10 @@ lower the barrier, please volunteer to help out. 所提交的内容应该是 Markdown 格式的,以便能够被 [Hugo](https://gohugo.io/) 生成器来处理。 关于如何使用相关技术,有[很多可用的资源](https://gohugo.io/documentation/)。 +对于插图、表格或图表,可以使用 [figure shortcode](https://gohugo.io/content-management/shortcodes/#figure)。 +对于其他图片,我们强烈建议使用 alt 属性;如果一张图片不需要任何 alt 属性, +那么这张图片在文章中就不是必需的。 + 我们知道这一需求可能给那些对此过程不熟悉的朋友们带来不便, 我们也一直在寻找降低难度的解决方案。 如果你有降低难度的好主意,请自荐帮忙。 diff --git a/content/zh-cn/docs/setup/best-practices/multiple-zones.md b/content/zh-cn/docs/setup/best-practices/multiple-zones.md index 2ad2dd4e48..796a2b0796 100644 --- a/content/zh-cn/docs/setup/best-practices/multiple-zones.md +++ b/content/zh-cn/docs/setup/best-practices/multiple-zones.md @@ -185,22 +185,26 @@ such as Deployment, StatefulSet, or Job. ## 跨区的存储访问 -当创建持久卷时,`PersistentVolumeLabel` -[准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/) -会自动向那些链接到特定区的 PersistentVolume 添加区标签。 +当创建持久卷时,Kubernetes 会自动向那些链接到特定区的 PersistentVolume 添加区标签。。 {{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}}通过其 `NoVolumeZoneConflict` 断言确保申领给定 PersistentVolume 的 Pods 只会 被调度到该卷所在的可用区。 +请注意,添加区标签的方法可能会根据你所使用的云提供商和存储制备器而有所不同。 +为确保配置正确,请始终参阅你的环境的特定文档。 +