如果pod包含多个container, 这些container不会跨机器分布

每个container只运行一个进程,而不是在一个container运行多个进程,这样更容易处理进程异常重启,进程日志等问题

pod可以和现实中的物理机类比,pod中的进程可以和运行在物理机中的进程类比,只是其封装在容器中,可以把pod看做只运行单一应用的服务器

 

kubectl explain pods, kubectl explain pods.spec, 

kubectl describe pod <pod_name>  # pod创建失败后,可以通过这种方式查看失败原因

kubectl logs <pod_name>  # 获取日志, 日志默认按天轮滚,大小超过10M也会轮滚

kubectl logs <pod_name> -c <container_name>

kubectl get pods -w  # 一直显示pod状态

kubectl port-forward kubia-manual 8888:8080

kubectl get pods --show-labels

kubectl get po -l <label_name>

 

 

 

yaml文件resource

apiVersion: v1
kind: Pod
metadata:
  name: kuberbetes-test-7
  namespace: test
spec:
  containers:
  - args:  # 覆盖dockfile里面的CMD
    - sleep 1
    command:  # 覆盖dockfile里面的ENTRYPOINT
    - /bin/sh
    - -c
    image: ubuntu:16.04
    imagePullPolicy: IfNotPresent
    name: base

      resources:
        limits:  # pod最多可以获得的资源,必须比requests大,如果申请更多,则被限制
          memory: 1024Mi
          cpu: 500m
        requests:  # pod申请时需要保证的资源,不能比这个小
          memory: 512Mi
          cpu: 500m

    securityContext:
      capabilities:
        add:
        - SYS_ADMIN
      privileged: true
    volumeMounts:
    - mountPath: /etc/s3fs
      name: mntdatas3fs
      readOnly: true
  restartPolicy: Never
  volumes:
  - name: mntdatas3fs
    secret:  # secret 卷
      defaultMode: 256
      secretName: s3fs-secret
# secret 定义
apiVersion: v1 kind: Secret metadata: name: s3fs-secret namespace: test type: Opaque stringData: passwd-s3fs: |- key:value

 

https://sysdig.com/blog/kubernetes-limits-requests/

posted on 2020-06-18 09:44  Go_Forward  阅读(148)  评论(0编辑  收藏  举报