Docker&k8s - 创建pod
一 创建简单pod
vi test.yaml
输入内容:
apiVersion: v1kind: Podmetadata: name: command-demo labels: purpose: demonstrate-commandspec: containers: - name: command-demo-container image: debian command: ["printenv"] args: ["HOSTNAME", "KUBERNETES_PORT"]
保存文件后,shell中执行创建命令:
kubectl create -f test.yaml
查看pods列表:
kubectl get pods
查看pod的日志:
kubectl logs command-demo
可以看到执行内容:
command-demotcp://10.96.0.1:443
二 给容器分配CPU和RAM资源
当创建一个Pod的时候,你可以为运行在Pod中的容器请求CPU和RAM资源。你还可以设置CPU和RAM资源的限制。请求CPU和RAM资源,在配置文件里面包含resources:rquests字段。设置CPU和RAM限制包含resource:limits字段。如果节点上具有足够的CPU和RAM资源可用于所有容器要求的CPU和RAM总和,Kubernetes将把Pod调度在上面。同样当容器运行在节点上时,Kubernetes不允许容器消耗的CPU和RAM资源超出指定的容器的限制。如果容器超出RAM限制,将会结束。如果CPU超出限制,将成为CPU节流的候选者。
pod配置文件内容(测试时保存的文件名为testWithCpuAndMem.yaml,可以自行调整):
apiVersion: v1kind: Podmetadata: name: cpu-ram-demospec: containers: - name: cpu-ram-demo-container image: gcr.io/google-samples/node-hello:1.0 resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "1"
执行创建:
kubectl create -f testWithCpuAndMem.yaml
显示pod信息:
kubectl describe pod cpu-ram-demo
我本地的展示内容:
Name: cpu-ram-demoNamespace: defaultPriority: 0PriorityClassName: Node: docker-desktop/192.168.65.3Start Time: Sun, 07 Jun 2020 10:06:38 +0800Labels: Annotations: Status: PendingIP: 10.1.0.11Containers: cpu-ram-demo-container: Container ID: Image: gcr.io/google-samples/node-hello:1.0 Image ID: Port: Host Port: State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Limits: cpu: 1 memory: 128Mi Requests: cpu: 250m memory: 64Mi Environment: Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-nglmp (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: default-token-nglmp: Type: Secret (a volume populated by a Secret) SecretName: default-token-nglmp Optional: falseQoS Class: BurstableNode-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 28m default-scheduler Successfully assigned default/cpu-ram-demo to docker-desktop Normal SandboxChanged 28m kubelet, docker-desktop Pod sandbox changed, it will be killed and re-created. Warning Failed 26m (x6 over 28m) kubelet, docker-desktop Error: ImagePullBackOff Normal Pulling 26m (x4 over 28m) kubelet, docker-desktop Pulling image "gcr.io/google-samples/node-hello:1.0" Warning Failed 26m (x4 over 28m) kubelet, docker-desktop Failed to pull image "gcr.io/google-samples/node-hello:1.0": rpc error: code = Unknown desc = Error response from daemon: Get net/request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) Warning Failed 26m (x4 over 28m) kubelet, docker-desktop Error: ErrImagePull Normal BackOff 3m33s (x99 over 28m) kubelet, docker-desktop Back-off pulling image "gcr.io/google-samples/node-hello:1.0"
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~