北京欢迎你网站制作公司,vscode网页制作教程,建立网站对吗,ps做图 游戏下载网站Namespace的理论和实操 Namespace理论说明Namespace实操创建、查看命名空间使用ResouceQuota 对Namespace做资源限额更多ResouceQuota 的使用 Namespace理论说明
命名空间定义 K8s支持多个虚拟集群#xff0c;它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间Namespace。
Namespace应用场景 Namespace是k8s集群级别的资源可以给不同的用户、租户、环境或项目创建对应的命名空间。 例如可以为devlopment、test、production环境分别创建各自的命名空间。
Namespace实操
创建、查看命名空间
创建一个Namespace为test
kubectl create ns test查看Namespace
kubectl get ns使用ResouceQuota 对Namespace做资源限额
在K8s集群中通过 ResouceQuota 对象定义每个Namespace的资源配额从而实现资源消耗总量的限制。 ResouceQuota 有两个作用
可以按类型限制Namespace下所创建对象的数量限制所消耗计算资源的总量
示例说明 创建ResouceQuota 对象对 test 命名空间中添加以下限制 只能建4个pod、每个容器必须设置内存请求、内存限额、cpu请求和cpu限额。 步骤 1、创建ResouceQuota 对象 编写ResouceQuota 资源文件
vim namespace-quota.yamlapiVersion: v1
kind: ResourceQuota
metadata:name: mem-cpu-quotanamespace: test # 指定限制的命名空间名称
spec:hard:pods: 4 requests.cpu: 2 # 所有容器的CPU请求总额不得超过2 CPUrequests.memory: 2Gi # 所有容器的内存请求总额不得超过2GiBlimits.cpu: 4 # 所有容器的CPU限额总额不得超过4CPUlimits.memory: 4Gi # 所有容器的内存限额总额不得超过4 GiB创建ResouceQuota
kubectl apply -f namespace-quota.yamlResouceQuota 对象是在Namespace为test中创建的并准备好控制该名称空间中的所有容器的总请求和限制。
kubectl get resourcequota -n test2、创建Pod 对象 创建Pod 时候必须设置资源限额否则创建失败 编写Pod 资源文件
vim pod-test.yamlapiVersion: v1
kind: Pod
metadata:name: pod-testnamespace: testlabels:app: tomcat-pod-test
spec:containers:- name: tomcat-testimage: tomcat-8.5-jre8:v1imagePullPolicy: IfNotPresentports:- containerPort: 8080resources:requests:memory: 100Micpu: 500mlimits:memory: 2Gicpu: 2创建Pod
kubectl apply -f pod-test.yaml再看命名空间下的资源
kubectl get resourcequota -n test更多ResouceQuota 的使用
官网文档https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/