Kubernetes的基本概念和术语-pod

1、POD

Pod都有一个特殊的被称为“根容器”的Pause容器。每个POD包含多个用户业务容器。

apiVersion: v1
kind: Pod
metadata:
  name: myweb                  #POD名称。
  lables:
    name: myweb             #name=myweb的标签
  spec:                        #容器组的定义
    containers:
    - name: myweb            #容器名称。
      image: kubeguide/tomcat-app:v1    #镜像。
      ports:
      - containerPort: 8080        #容器的端口。IP加端口就是Endpoint,就是一个服务进程的对外通信地址。
                                #一个pod可以有多个Endpoint。
      env:
      - name: MYSQL_SERVICE_HOST   #环境变量
        value: 'mysql'
      - name: MYSQL_SERVICE_PORT   #环境变量
        value: '3306'

        Docker Volume在Kubernetes里也有对应的概念—Pod Volume,后者有一些扩展,比如可以用分布式文件系统GlusterFS实现后端存储功能;Pod Volume是被定义在Pod上,然后被各个容器挂载到自己的文件系统中的

   Event是一个事件的记录,记录了事件的最早产生时间、最后重现时间、重复次数、发起者、类型,以及导致此事件的原因等众多信息。Event通常会被关联到某个具体的资源对象上,是排查故障的重要参考信息,

  可以用kubectl describe pod xxxx来查看它的描述信息

  每个Pod都可以对其能使用的服务器上的计算资源设置限额,当前可以设置限额的计算资源有CPU与Memory两种,其中CPU的资源单位为CPU(Core)的数量,是一个绝对值而非相对值。通常以千分之一的CPU配额为最小单位,用m来表示。通常一个容器的CPU配额被定义为100~300m,即占用0.1~0.3个CPU

  计算资源进行配额限定时需要设定以下两个参数

  1. Requests:该资源的最小申请量,系统必须满足要求。
  2. Limits:该资源最大允许使用的量,不能被突破,当容器试图使用超过这个量的资源时,可能会被Kubernetes“杀掉”并重启。
  3. Requests设置为一个较小的数值,符合容器平时的工作负载情况下的资源需求,而把Limit设置为峰值负载情况下资源占用的最大量。
sepc:
    containers:
    - name: db
      image: mysql
      resources:
        requests:
          memory: "64Mi"
          cpu: "250m"
        limits:
          memory: "128Mi"
          cpu: "500m"
          

 

posted @ 2021-02-01 15:13  星火撩原  阅读(57)  评论(0编辑  收藏  举报