pod的定义取自https://github.com/mesosphere/kubernetes-mesos/blob/master/examples/pod-nginx.json
{
"kind":"Pod",
"apiVersion":"v1beta1",
"id":"nginx-id-01",
"desiredState":{
"manifest":{
"version":"v1beta1",
"containers":[
{
"name":"nginx-01",
"image":"dockerfile/nginx",
"ports":[
{
"containerPort":80,
"hostPort":31000
}
],
"livenessProbe":{
"enabled":true,
"type":"http",
"initialDelaySeconds":30,
"httpGet":{
"path":"/index.html",
"port":"8081"
}
}
}
]
}
},
"labels":{
"name":"foo",
"cluster":"gce"
}
}
我似乎无法找到如何指定资源。
答案 0 :(得分:1)
但是,根据https://github.com/GoogleCloudPlatform/kubernetes/issues/168
,Kubernetes(因此Kubernetes-Mesos)对这些资源并没有真正做任何事情。一旦在Kubernetes中实现了这一点,Kubernetes-Mesos框架也将支持它:https://github.com/mesosphere/kubernetes-mesos/issues/76
答案 1 :(得分:1)
您可以输入内存和值的值。容器规格中的CPU:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta1/types.go#L257
我们的调度程序尚未对它们做很多事情,但它也不会完全忽略它们。
答案 2 :(得分:0)
您可以正式在Pod中的每个容器定义中添加一个资源字段,还可以添加请求和限制:
resources:
requests:
memory: "qMi"
cpu: "pm"
limits:
memory: "yMi"
cpu: "x"
然后将这些值的总和与容器中的其他容器相加,以计算每个容器的总请求数和限制。
请看一看 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
答案 3 :(得分:0)
您可以在容器规范中为部署文件本身中的任何容器指定cpu或资源。
nano task2deploy1.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: task2deploy1
spec:
replicas: 1
template:
metadata:
labels:
app: task2deploy1
spec:
containers:
- name: task2deploy1
image: nginx
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
这意味着可以将64Mi内存和250m cpu的请求发送到名为task2deploy1的容器。
尽管该容器具有128Mi内存和500m cpu的限制。
kubectl创建–f task2deploy1.yaml –namespace = Shifali
在此部署的帮助下创建Pod后,pod将具有部署文件中提到的这些资源。
kubectl描述了pod task2deploy1-765cfc9b89-xrgsr --namespace = Shifali
Name: task2deploy1-765cfc9b89-xrgsr
Limits:
cpu: 500m
memory: 128Mi
Requests:
cpu: 250m
memory: 64Mi
将显示更多信息,但需要查看的是资源。