目录
运行 kubectl top 命令,获取该 Pod 的指标数据
使用 kubectl top 命令来获取该 Pod 的指标:
准备环境:拥有一个 Kubernetes 的集群,集群必须至少有 1 个 CPU 可用,且配置 kubectl 命令行工具与集群通信。
为容器和Pod分配内存资源
创建命名空间
[root@k8s-master-1 ~]# kubectl create namespace mem-example
或者直接在yaml文件里面创建:
指定内存请求和限制
[root@k8s-master-1 /]# vim ~/mem/memory-request-limit.yaml
#创建命名空间mem-example-2
apiVersion: v1
kind: Namespace
metadata:
name: mem-example-2
---#Pod配置文件
apiVersion: v1
kind: Pod
metadata:
name: memory-demo
namespace: mem-example-2
spec:
containers:
- name: memory-demo-ctr
image: polinux/stress
resources:
requests:
memory: "100Mi"
limits:
memory: "200Mi"
command: ["stress"]
args: ["--vm", "1", "--vm-bytes", "150M", "--vm-hang", "1"]
要为容器指定内存请求,请在容器资源清单中包含 resources: requests
字段。 同理,要指定内存限制,请包含 resources: limits
。
这个例子中, 容器将会请求 100 MiB 内存,并且内存会被限制在 200 MiB 以内。
配置文件的 args
部分提供了容器启动时的参数: "--vm-bytes", "150M"
参数告知容器尝试分配 150 MiB 内存。
开始创建pod:
[root@k8s-master-1 mem]# kubectl apply -f memory-request-limit.yaml
验证 Pod 中的容器是否已运行:
[root@k8s-master-1 mem]# kubectl get pod m