您当前的位置: 首页 >  kubernetes
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

kubernetes pod介绍

软件工程小施同学 发布时间:2020-11-04 22:16:07 ,浏览量:0

一、Pod

Pod是一个逻辑概念

它是Kubernetes资源调度的单元,一般会把一组功能强相关的容器逻辑上称之为一个pod,Pod就是所说的实例。

作为一个逻辑概念,pod本身没有资源,pod中的容器具有资源,创建pod,可以通过定义pod模块。 Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。

Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务.

缺点: 不支持高并发, 高可用, 当Pod当机后无法自动恢复。

 

二、Pod的状态(生命周期)

这里写图片描述

1.Pending

容器尚未启动成功,它包括从pod被创建到调度、然后到拉镜像开始部署这个过程

2.Running

容器启动成功

3.Succeeded

容器退出,返回码是0,并且容器不会再被重新启动

4.Failed

容器异常退出 Unknown 状态未知,获取不到容器的状态,当出现异常时会有这种状态,例如pod所在的机器故障,或者pod所在的机器上Kubernetes的组件异常。

 

三、操作 1. 创建
vi pod.yaml
apiVersion: v1 
kind: Pod 
metadata:
  name: demo 
  spec: 
  containers: 
  - image: httpd 
  name: httpd 
  imagePullPolicy: Always
kubectl create -f pod.yaml

 

2. 查看
kubectl get pods

 

kubectl describe pods

 

3. 删除
kubectl delete pod demo

 

四、yaml文件详解
{
    "kind": "Pod",(资源类型)
    "apiVersion": "v1",  (资源版本)
    "metadata": {
        "name": "app-tomcat", (名字,唯一)
        "namespace": "default", (命名空间默认default)
        "labels": {
            "name": "app-tomcat" (label做为标识,可以跟RC,Service关联对应)
        }
    },
    "spec": {
        "containers": [
            {
                "name": "app-tomcat", (自定义镜像名称)
                "image": "tomcat", (要拉取的镜像)
                "command": [   (运行容器时,要运行的命令)
                    "/bin/bash",
                    "/opt/apache-tomcat-7.0.57/bin/catalina.sh",
                    "run"
                ],
                "env": [  (环境变量K,V)
                    {
                        "name": "url_addr",
                        "value": "http://192.168.54.66:8080/paas/jsp/index.jsp"
                    }
                ],
                "resources": { (对容器资源限制)
                    "limits": {
                        "cpu": "1",
                        "memory": "1073741824"
                    },
                    "requests": {
                        "cpu": "100m",
                        "memory": "104857600"
                    }
                },
                "imagePullPolicy": "Always" (获取镜像策略Always,Never,IfNotPresent)
            }
        ],
        "restartPolicy": "Always", (pod重启策略,Always,OnFailure,Never)
        "dnsPolicy": "ClusterFirst",
        "nodeSelector": {  (选择将该pod调度到包含这些label的Node上)
            "group": "node1"
        }
    }
}

 

 

 

 

 

https://blog.csdn.net/bbwangj/article/details/81812675

 

 

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

2.4806s