diff --git a/learning/k8s-advanced/ts/application.md b/learning/k8s-advanced/ts/application.md index f63847f..0907b37 100644 --- a/learning/k8s-advanced/ts/application.md +++ b/learning/k8s-advanced/ts/application.md @@ -130,7 +130,7 @@ kubectl exec cassandra -- cat /var/log/cassandra/system.log ### Pod处于Running状态,但是不工作 -Pod已经处于Running状态了,但是不像您期望的那样工作,此时,很有可能是您的部署描述yaml文件(例如 Pod、Deployment、StatefulSet等)出现了问题,而创建是,kubectl 忽略了该错误。例如环境变量中某一个 Key 写错了,`command` 拼写成了 `commnd` 等。如果 `command` 拼写成了 `commnd`,您仍然能够使用该 yaml 文件创建工作负载,但是容器在运行时,却不会使用您原本期望的命令,而是执行了镜像中的 `EntryPoint`。 +Pod已经处于Running状态了,但是不像您期望的那样工作,此时,很有可能是您的部署描述yaml文件(例如 Pod、Deployment、StatefulSet等)出现了问题,而创建时,kubectl 忽略了该错误。例如环境变量中某一个 Key 写错了,`command` 拼写成了 `commnd` 等。如果 `command` 拼写成了 `commnd`,您仍然能够使用该 yaml 文件创建工作负载,但是容器在运行时,却不会使用您原本期望的命令,而是执行了镜像中的 `EntryPoint`。 * 首先,在使用 `kubectl apply -f` 命令之前,可以尝试为其添加 `--validate` 选项,例如, `kubectl apply --validate -f mypod.yaml`。如果您将 `command` 拼写成 `commnd`,将看到如下错误信息: diff --git a/learning/k8s-intermediate/config/computing-resource.md b/learning/k8s-intermediate/config/computing-resource.md index a58b95e..13ebbef 100644 --- a/learning/k8s-intermediate/config/computing-resource.md +++ b/learning/k8s-intermediate/config/computing-resource.md @@ -44,7 +44,7 @@ Kubernetes 中,0.5 代表请求半个 CPU 资源。表达式 0.1 等价于 表 ## 容器组及容器的计算资源请求及限制 -Kubernetes 中,可以为容器指定计算资源的请求数量 request 和限制数量 limit。尽管资源的请求/限制数量只能在容器上指定,我们仍然经常讨论容器组的资源请求/限制数量。容器组的对某一个类型的资源请求/限制数量是该容器组中所有工作容器对该资源请求/限制数量的求和。 +Kubernetes 中,可以为容器指定计算资源的请求数量 request 和限制数量 limit。尽管资源的请求/限制数量只能在容器上指定,我们仍然经常讨论容器组的资源请求/限制数量。容器组对某一个类型的资源请求/限制数量是该容器组中所有工作容器对该资源请求/限制数量的求和。 在 Kuboard 的工作负载编辑器中编辑容器资源请求及限制的界面如下图所示: diff --git a/learning/k8s-intermediate/config/secrets/create-kubectl.md b/learning/k8s-intermediate/config/secrets/create-kubectl.md index 867c7ee..7a531e1 100644 --- a/learning/k8s-intermediate/config/secrets/create-kubectl.md +++ b/learning/k8s-intermediate/config/secrets/create-kubectl.md @@ -27,7 +27,7 @@ secret "db-user-pass" created ::: tip * 上述命令的执行效果与此命令执行效果相同: `kubectl create secret generic db-user-pass –from-literal=username=admin –from-literal=password=1f2d1e2e67df` -* 如果您的密码中包含特殊字符需要转码(例如 `$`、`*`、`\`、`!`),请使用 `\\` 进行转码。例如:实际密码为 `S!B\*d$zDsb`,kubectl 命令应该写成 `kubectl create secret generic dev-db-secret –from-literal=username=devuser –from-literal=password=S\!B\\*d\$zDsb`。如果通过文件创建(--from-file),则无需对文件中的密码进行转码。 +* 如果您的密码中包含特殊字符需要转码(例如 `$`、`*`、`\`、`!`),请使用 `\` 进行转码。例如:实际密码为 `S!B\*d$zDsb`,kubectl 命令应该写成 `kubectl create secret generic dev-db-secret –from-literal=username=devuser –from-literal=password=S\!B\\*d\$zDsb`。如果通过文件创建(--from-file),则无需对文件中的密码进行转码。 ::: 执行命令 `kubectl get secrets`,检查 Secret 的创建结果,输出信息如下所示: diff --git a/learning/k8s-intermediate/config/taints-toleration/index.md b/learning/k8s-intermediate/config/taints-toleration/index.md index dba686f..99c577b 100644 --- a/learning/k8s-intermediate/config/taints-toleration/index.md +++ b/learning/k8s-intermediate/config/taints-toleration/index.md @@ -99,7 +99,7 @@ spec: tolerations: - operator: "Exists" ``` -* 容忍中未定义 `effect` 但是定义了 `key`,Kubernetes 认为此容忍匹配所有 `effect`,如下欧式: +* 容忍中未定义 `effect` 但是定义了 `key`,Kubernetes 认为此容忍匹配所有 `effect`,如下所示: ``` yaml tolerations: diff --git a/learning/k8s-intermediate/config/taints-toleration/use-case.md b/learning/k8s-intermediate/config/taints-toleration/use-case.md index 73a92e9..7d01a05 100644 --- a/learning/k8s-intermediate/config/taints-toleration/use-case.md +++ b/learning/k8s-intermediate/config/taints-toleration/use-case.md @@ -19,5 +19,5 @@ meta: 具体的场景可能有: * **专属的节点:** 如果您想将一组节点专门用于特定的场景,您可以为这些节点添加污点(例如 `kubectl taint nodes nodename dedicated=groupName:NoSchedule`)然后向对应的 Pod 添加容忍。带有这些容忍的 Pod 将可以使用这一组专属节点,同时也可以使用集群中的其他节点。如果您想进一步限制这些 Pod 只能使用这一组节点,那么您应该为这一组节点添加一个标签(例如 dedicated=groupName),并为这一组 Pod 添加 node affinity(或 node selector)以限制这些 Pod 只能调度到这一组节点上。 -* **带有特殊硬件的节点:** 集群中,如果某一组节点具备特殊的已经(例如 GPU),此时非常有必要将那些不需要这类硬件的 Pod 从这组节点上排除掉,以便需要这类硬件的 Pod 可以得到资源。此时您可以为这类节点添加污点(例如:`kubectl taint nodes nodename special=true:NoSchedule` 或者 `kubectl taint nodes nodename special=true:PreferNoSchedule`)并为需要这类硬件的 Pod 添加匹配的容忍。 +* **带有特殊硬件的节点:** 集群中,如果某一组节点具备特殊的硬件(例如 GPU),此时非常有必要将那些不需要这类硬件的 Pod 从这组节点上排除掉,以便需要这类硬件的 Pod 可以得到资源。此时您可以为这类节点添加污点(例如:`kubectl taint nodes nodename special=true:NoSchedule` 或者 `kubectl taint nodes nodename special=true:PreferNoSchedule`)并为需要这类硬件的 Pod 添加匹配的容忍。 * **基于污点的驱逐** 当节点出现问题时,可以使用污点以 Pod 为单位从节点上驱逐 Pod。进一步描述请参考 [基于污点的驱逐](./taint-based-evictions.html)