美文网首页
资源抽象对象

资源抽象对象

作者: 欧耶90 | 来源:发表于2020-09-14 17:58 被阅读0次

    容器组(Pod)

    1. 在k8s中是最小的资源分配和调度单位,由一个或多个容器组成。同一个Pod中,不同容器共享命名空间(网络、IPC、文件系统)、Cgroup和存储卷。
    2. 创建过程
      先创建一个pause容器,该容器创建相关命令空间,然后创建Pod中的其他应用容器,并共享pause创建的命名空间和Cgroup、存储
    3. 定义
    apiVersion: v1
    kind: Pod
    metadata:
            name: nginx-test
    spec:
            containers:
            - name: nginx
              image: nginx
              ports:
                    - containerPort:80
    
    1. 容器组的状态
    • 待定Pending:容器镜像未就绪
    • 运行Running:所有容器都被创建,至少一个容器在运行中
    • 成功Succeeded:所有容器都正常退出,任务完成
    • 失败Failed:所有容器都退出,至少一个容器是非正常退出
    • 未知Unknown:未知状态,例如所在节点无法汇报状态

    服务

    1. 主要是为了解决Pod地址可变后继续给外部提供服务的问题
    2. 服务类型:ClusterIP(产生一个集群内的地址,该地址只能在集群内被解析和访问)、NodePort(在每个集群节点上映射服务到一个静态的本地端口)、LoadBalancer(使用外部的路由服务,自动路由到NodePort和ClusterIP上面)、ExternalName
    3. 创建过程
      服务在创建后会分配一个集群地址,通过kube-proxy进程负责将访问Service的请求代理到具体的Pod
    4. 服务健康检查
    • 通过HTTP获取资源是否成功
    • 在容器中执行命令,返回值是否为0
    • 打开给定的socker端口是否成功
      包括成功、失败、位置三个状态,其中LivenessProbe反映的是容器自身状态,如配置了重启策略,则失败后会自动重启,ReadinessProbe则用来反映容器内的服务是否可用

    存储卷

    1. 存储卷即容器挂载的数据卷,和Pod有一致的生命周期
    2. 存储卷类型,emptyDir、hostPath、nfs、gcePersistentDisk、awsElastic、gitRepo、secret
    3. 定义
    apiVersion: v1
    kind: PersistentVolume
    metadata:
        name: pv01
    spec:
         capacity:
             storage: 100Gi
        accessModes:
            - ReadWriteOnce
        persistentVolumeReclaimPolicy: Recycle
        nfs:
            path: /tmp
            server:192.168.137.33
    

    相关文章

      网友评论

          本文标题:资源抽象对象

          本文链接:https://www.haomeiwen.com/subject/yhgcektx.html