Files
Qiming 9bf026e951 Clean zh/docs directory for dangling YAML files (#17341)
There are many YAML manifests sneaking into the `zh/docs/` directory.
These files should go to the `zh/examples` directory instead. Having
these "garbage" files (not referenced anywhere) is creating confusion
for the release meister when merging branches. For example, some YAML
files found in the 'master' branch are no longer there in the
release-1.16 branch. It is tedious, if possible at all, to solve all
this kind of conflicts during a rebase.

The PR cleanses the zh/docs directory for all dangling YAML files.
2019-11-04 08:24:48 +08:00

3.3 KiB
Raw Permalink Blame History

title, content_template, weight
title content_template weight
配置命名空间下pod总数 templates/task 60

{{% capture overview %}}

本文主要描述如何配置一个命名空间下可运行的pod总数。资源配额详细信息可查看:资源配额

{{% /capture %}}

{{% capture prerequisites %}}

{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}

{{% /capture %}}

{{% capture steps %}}

创建一个命名空间

首先创建一个命名空间,这样可以将本次操作中创建的资源与集群其他资源隔离开来。

kubectl create namespace quota-pod-example

创建资源配额

下面是一个资源配额的配置文件:

{{< codenew file="admin/resource/quota-pod.yaml" >}}

创建这个资源配额:

kubectl apply -f https://k8s.io/examples/admin/resource/quota-pod.yaml --namespace=quota-pod-example

查看资源配额的详细信息:

kubectl get resourcequota pod-demo --namespace=quota-pod-example --output=yaml

从输出的信息我们可以看到,该命名空间下pod的配额是2个,目前创建的pods数为0,配额使用率为0。

spec:
  hard:
    pods: "2"
status:
  hard:
    pods: "2"
  used:
    pods: "0"

下面是一个Deployment的配置文件:

{{< codenew file="admin/resource/quota-pod-deployment.yaml" >}}

在配置文件中, replicas: 3 告诉kubernetes尝试创建三个pods,且运行相同的应用。

创建这个Deployment

kubectl apply -f https://k8s.io/examples/admin/resource/quota-pod-deployment.yaml --namespace=quota-pod-example

查看Deployment的详细信息:

kubectl get deployment pod-quota-demo --namespace=quota-pod-example --output=yaml

从输出的信息我们可以看到,尽管尝试创建三个pod,但是由于配额的限制,只有两个pod能被成功创建。

spec:
  ...
  replicas: 3
...
status:
  availableReplicas: 2
...
lastUpdateTime: 2017-07-07T20:57:05Z
    message: 'unable to create pods: pods "pod-quota-demo-1650323038-" is forbidden:
      exceeded quota: pod-demo, requested: pods=1, used: pods=2, limited: pods=2'

清理

删除命名空间:

kubectl delete namespace quota-pod-example

{{% /capture %}}

{{% capture whatsnext %}}

对于集群管理

对于应用开发

{{% /capture %}}