Pod 相关标签

Pod相关标签

Pod的Yaml

{
    "metadata": {
        "name": "",//Pod名称
        "generateName": "",
        "namespace": , //名称空间
        "selfLink": "",
        "uid": "",
        "resourceVersion": "",
        "creationTimestamp": "2021-07-31T02:52:12Z", //创建时间
        "labels": {//标签
            "app": "nginx",
            "k8s.kuboard.cn/layer": "web",
        },
        "annotations": {//注释
            "cni.projectcalico.org/podIP": "1.1.7.192/32",
            "cni.projectcalico.org/podIPs": "1.1.7.194/32"
        },
        "ownerReferences": [
            {
                "apiVersion": "apps/v1",
                "kind": "ReplicaSet",
                "name": "",
                "uid": "",
                "controller": true,
                "blockOwnerDeletion": true
            }
        ]
    },
    "spec": {
        "volumes": [//存储卷
            {
                "name": "configmap", -- 数据卷名称
                "configMap": { -- 数据卷ConfigMap类型
                    "name": "cmtest", -- 数据卷名称
                    "items": [
                        {
                            "key": "mycm",
                            "path": "map"
                        }
                    ],
                    "defaultMode": 420// configmap类型
                }
            },
            {
                "name": "secret",  -- 数据卷名称
                "secret": {-- 数据卷secret类型
                    "secretName": "wordpress-secret",-- secret名称
                    "items": [
                        {
                            "key": "WORDPRESS_DB_PASSWORD",
                            "path": "sc"
                        }
                    ],
                    "defaultMode": 420// secret类型   
                }
            },
            {
                "name": "pvc",  -- 数据卷名称
                "persistentVolumeClaim": { -- 存储卷声明类型
                    "claimName": "wordpress-pvc"
                }
            },
            {
                "name": "default-token-tt5tt",
                "secret": {
                    "secretName": "default-token-tt5tt",
                    "defaultMode": 420
                }
            }
        ],
        "containers": [ //containers为工作容器
            {
                "name": "nginx", //容器名称
                "image": "nginx:1.12", //镜像名称
                "resources": {
                    "limits": {
                        "cpu": "600m",//cpu最大值
                        "memory": "300M"//内存最大值
                    },
                    "requests": {
                        "cpu": "500m",//cpu最小值
                        "memory": "200M" //内存小值
                    }
                },
                "volumeMounts": [//挂载点
                    {
                        "name": "configmap",
                        "mountPath": "/opt/cm"//容器内目标路径
                    },
                    {
                        "name": "secret",
                        "mountPath": ""
                    },
                    {
                        "name": "pvc",
                        "mountPath": "/opt/pvc"
                    },
                    {
                        "name": "",
                        "readOnly": true,
                        "mountPath": ""
                    }
                ],
                "terminationMessagePath": "",
                "terminationMessagePolicy": "File",
                "imagePullPolicy": "Always"
            }
        ],
        "restartPolicy": "Always", //重启策略
        "terminationGracePeriodSeconds": 30,         //终止等待时间
        "dnsPolicy": "ClusterFirst",    //DNS Policy  ClusterFirstWithHostNet、ClusterFirst、Default、None
        "serviceAccountName": "default",    //serviceAccountName
        "serviceAccount": "default",     //serviceAccount
        "nodeName": "", //所在节点
        "securityContext": {},
        "schedulerName": "default-scheduler",
        "tolerations": [
            {
                "key": "node.kubernetes.io/not-ready",  //容忍名称
                "operator": "Exists",    //操作 Exists,Equal
                "effect": "NoExecute",   //NoSchedule、PreferNoSchedule、NoExecute 、默认所有
                "tolerationSeconds": 300    //操作时间
            },
            {
                "key": "node.kubernetes.io/unreachable",
                "operator": "Exists",
                "effect": "NoExecute",
                "tolerationSeconds": 300
            }
        ],
        "priority": 0,
        "dnsConfig": {},
        "enableServiceLinks": true,
        "preemptionPolicy": "PreemptLowerPriority"
    },
    "status": {
        "phase": "Running",
        "conditions": [
            {
                "type": "Initialized",
                "status": "True",
                "lastProbeTime": null,
                "lastTransitionTime": ""
            },
            {
                "type": "Ready",
                "status": "True",
                "lastProbeTime": null,
                "lastTransitionTime": ""
            },
            {
                "type": "ContainersReady",
                "status": "True",
                "lastProbeTime": null,
                "lastTransitionTime": ""
            },
            {
                "type": "PodScheduled",
                "status": "True",
                "lastProbeTime": null,
                "lastTransitionTime": ""
            }
        ],
        "hostIP": "",       //主机IP
        "podIP": "",        //容器组IP
        "podIPs": [
            {
                "ip": ""
            }
        ],
        "startTime": "",         //开始时间
        "containerStatuses": [        //容器
            {
                "name": "nginx",
                "state": {        //容器状态 分为["running","waiting","terminated"],
                    "running": {
                        "startedAt": ""
                    }
                },
                "lastState": {},
                "ready": true, //就绪状态
                "restartCount": 0,
                "image": "docker.io/library/nginx:1.12",
                "imageID": "",
                "containerID": "",
                "started": true
            }
        ],
        "qosClass": "Burstable"
    }
}

环境变量不同类型详情

关于容器组信息

  • metadata.name类型
{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "fieldRef": {
        "apiVersion": "v1",
        "fieldPath": "metadata.name"
      }
    }
  }]
}
  • spec.nodeName类型
{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "fieldRef": {
        "apiVersion": "v1",
        "fieldPath": "spec.nodeName"
      }
    }
  }]
}
  • status.hostIP类型
{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "fieldRef": {
        "apiVersion": "v1",
        "fieldPath": "status.podIP"
      }
    }
  }]
}

关于资源信息

{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "resourceFieldRef": {
        "resource": "requests.cpu",
        "divisor": "",
      }
    }
  }]
}

关于ComfigMap

{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "configMapKeyRef": {
        "name": "special-config",  //configmap名称
        "key": "special.how"   
      }
    }
  }]
}

关于Secret

{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "secretKeyRef": {
        "name": "special-config",  //secret名称
        "key": "special.how"   
      }
    }
  }]
}

关于环境变量配置的请求

{
  "env":[
  {
    "name": "aviliage",
    "valueFrom": {
      "secretKeyRef": {
        "name": "special-config",  //secret名称
        "key": "special.how"   
      }
    }
  }]
}

关于环境变量配置的请求

{
  "envFrom": [
    {
      "configMapRef":{
        "name":"envfrom-config" \\configmap名称
      }
    }
  ]
}

Pod Volume不同类型详情描述

  • emptyDir类型
{
  "volumes": [ //存储卷
    {
      "emptyDir": {},   -- 数据卷EmptyDir类型
      "name": "volume1"  -- 数据卷名称
    },
  ],
}
  • Secret类型
{
  "volumes": [
     {
      "name": "volume4", // 数据卷名称
      "secret": { //数据卷secret类型
        "items": [
          {
            "key": "admin",
            "path": "usr/local"
          }
        ],
        "secretName": "test-secret" //secret名称
        "defaultMode": 420
      }
    }
  ]
}
  • HostPath类型
{"volumes": [ 
        {
          "hostPath": {   -- 数据卷HostPath类型
            "path": "/usr/local",
            "type": ""
          },
          "name": "volume2"  -- 数据卷名称
        },
      ],
}
  • ConfigMap类型
{
  "volumes": [ //存储卷
    {
      "configMap": {  -- 数据卷ConfigMap类型
        "items": [
          {
            "key": "user",
            "path": "usr/log"
          }
        ],
        "name": "testconfigmap"  -- 数据卷名称
      },
      "name": "volume3"
    },
  ],
}
  • Nfs类型
{
  "volumes": [ //存储卷
    {
      "name": "volume0",  -- 数据卷名称
      "nfs": {  -- 数据卷NFS类型
        "path": "/usr/local",
        "server": "http://localhost:8080/"
      }
    }
  ]
}
  • PersistentVolumeClaim类型
{
  "volumes": [ //存储卷
    {
      "name": "volume5",  -- 数据卷名称
      "persistentVolumeClaim": {   -- 存储卷声明类型
        "claimName": "test-volume"
      }
    }
  ]
}

容器 Volume Mount 不同类型详情

{
  "volumeMounts": [
    {
      "mountPath": "/root", //容器内目标路径
      "mountPropagation": "HostToContainer", //确定容器挂载方式 ["None","HostToContainer","Bidirectional"]
      "name": "test-volume", //选择的卷名称
      "readOnly": true,  //是否只读
      "subPath": "usr/log", //父路径
      "subPathExpr": "",
    }
  ]
}

就绪检查不同类型详情

就绪检查类型分为: ["httpGet","tcpSocket","exec"]

  • HttpGet类型详情
 {
  "readinessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "httpGet": {        // TCP 连接
      "host": "111.168.0.1", //检测地址
      "path": "/", //路径
      "port": ,   //端口
      "scheme": "HTTPS",  //协议
      "httpHeaders": [
        {
          "name": "", //headers 名称
          "value": "",  //headers value
        }
      ]
    },
    "timeoutSeconds": 1       //超时时间
  }
}
  • TcpSocket类型详情
 {
  "readinessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "tcpSocket": {        // TCP 连接
      "host": "111.168.0.1",  //地址
      "port": 8080        //端口
    },
    "timeoutSeconds": 1       //超时时间
  }
}
  • Exec类型详情
 {
  "readinessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "exec": {
      "command": [
        "/bin/bash",
        "/tmp/test.sh"
      ],
    },
    "timeoutSeconds": 1       //超时时间
  }
}

存活检查不同类型详情

存活检查类型分为: ["httpGet","tcpSocket","exec"]

  • HttpGet类型详情
{
  "livenessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "httpGet": {        // TCP 连接
      "host": "111.168.0.1", //检测地址
      "path": "/", //路径
      "port": ,   //端口
      "scheme": "HTTPS",  //协议
      "httpHeaders": [
        {
          "name": "", //headers 名称
          "value": "",  //headers value
        }
      ]
    },
    "timeoutSeconds": 1       //超时时间
  }
}
  • TcpSocket类型详情
 {
  "livenessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "tcpSocket": {        // TCP 连接
      "host": "111.168.0.1",  //地址
      "port": 8082        //端口
    },
    "timeoutSeconds": 1       //超时时间
  }
}

  • Exec类型详情
{
  "livenessProbe": {
    "failureThreshold": 3,    // 不健康阈值
    "initialDelaySeconds": 5,     // 延迟探测时间
    "periodSeconds": 10,    // 执行探测频率
    "successThreshold": 1,     // 健康阈值
    "exec": {
      "command": [
        "/bin/bash",
        "/tmp/test.sh"
      ],
    },
    "timeoutSeconds": 1       //超时时间
  }
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容