资源抽象对象

2020-09-14  本文已影响0人  欧耶90

容器组(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. 容器组的状态

服务

  1. 主要是为了解决Pod地址可变后继续给外部提供服务的问题
  2. 服务类型:ClusterIP(产生一个集群内的地址,该地址只能在集群内被解析和访问)、NodePort(在每个集群节点上映射服务到一个静态的本地端口)、LoadBalancer(使用外部的路由服务,自动路由到NodePort和ClusterIP上面)、ExternalName
  3. 创建过程
    服务在创建后会分配一个集群地址,通过kube-proxy进程负责将访问Service的请求代理到具体的Pod
  4. 服务健康检查

存储卷

  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
上一篇 下一篇

猜你喜欢

热点阅读