k8s基础-empty,hostpath

Pod是生命周期是短暂,容器销毁时,保存在容器内部文件系统中的数据都会被清除。
为了持久化保存容器的数据,这里引入了kubernetes Volume,k8s volume是独立于容器,pod中容器被销毁或重建,但volume会被保留。本质上k8s volume是一个目录,k8s提供了各种backend后端的抽象,用户在使用的时候不需要关心数据存放在本地节点还是cloud上,对用户来说,所有volume只是一个目录。

重要概念:

emptyDir(基于node节点本地存储和pod同生同灭),hostPath(基于node节点本地存储,独立于pod),外部Storage Provider(云磁盘,如AWS,Azure,Ali等),没有PV/PVC的概念

PV和PVS:
k8d给出自己的云磁盘解决方案: Presistent Volume(外部存储空间,由管理员创建和维护,独立于pod) 和 Presistent Volume Cliam(是对PV的cliam申请,由普通用户创建和维护,分配给pod)

1. emptyDir Volume的生命周期和Pod一致, pod删除的同时,k8s的node节点上的共享卷也会自动删除。initcontainer的volume会使用。

2.HostPath需要使用k8s或docker内部数据的应用则需要使用

运行一个需要访问 Docker 引擎内部机制的容器,挂载 /var/lib/docker 路径。

在容器中运行 cAdvisor 时,以 hostPath 方式挂载 /sys。

比如 kube-apiserver 和 kube-controller-manager 就是这样的应用,通过

kubectl edit --namespace=kube-system pod kube-apiserver-k8s-master

个人示例:

(weops) [root@node201 volume]# cat hostpathvolume.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pod-hostpath-volume
spec:
  containers:
  - name: pod-hostpathvolume
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: hostpath-dir-volume  #挂载hostpath目录
      mountPath: /usr/share/nginx/html  
    - name: hostpath-file-volume  #挂载hostpath目录下文件
      mountPath: /tmp/test.conf

  volumes:
  - name: hostpath-dir-volume
    hostPath:
      # 宿主机目录
      path: /root/k8s/volume/hostpath_dir
      type: DirectoryOrCreate # 如果目录不存在则创建(可创建多层目录)
  - name: hostpath-file-volume
    hostPath:
      # 宿主机文件
      path: /root/k8s/volume/hostpath_dir/test.conf
      type: FileOrCreate # 如果文件不存在则创建。 前提:文件所在目录必须存在,目录不存在则不能创建文件
 

3.localvolume

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: K8s Metrics Server是一个Kubernetes集群中的组件,用于收集和存储集群中各种资源的度量数据,例如CPU、内存、网络等。它可以提供实时的度量数据,帮助管理员和开发人员更好地了解集群的状态和性能,并进行优化和调整。 ### 回答2: k8s metrics-server是Kubernetes的一个组件,它被设计用于收集集群内的性能指标。这些指标包括容器和节点的CPU使用率、内存使用量、网络I/O等等。利用这些指标,可以更好的了解集群中的资源使用情况,从而做出相应的资源分配和优化决策。 在Kubernetes中,集群管理员经常需要监控集群内部每个节点和容器的性能情况,这是为了确保应用程序在正确的资源调度下正常运行。为了监控这些性能指标,需要使用一些工具来帮助收集、分析和存储指标数据。而k8s metrics-server正是为此而设计的。 k8s metrics-server采用的是轻量级的部署模式,可以轻松地在Kubernetes集群中进行安装和配置。它具有以下优点: 1.快速部署:k8s metrics-server非常轻量,可以非常快速地部署到Kubernetes集群中。 2.高效:k8s metrics-server具有高效的数据收集和存储能力,能够实时地监控和收集节点和容器的性能指标。 3.可扩展:k8s metrics-server可以轻松地扩展到集群的规模,以便于更好地适应性能监控的需求。 总之,k8s metrics-server是Kubernetes集群内必备的性能指标收集器,以便于运维和开发人员更好地了解集群的性能情况,保障应用程序的可靠性和高可用性。 ### 回答3: K8s Metrics Server是一个通过K8s的APIs来收集、聚合以及输出资源的使用情况的组件,主要用于扩展Kubernetes集群的监控及自动化调整容器资源。通过Metrics Server,用户可以查看当前K8s集群的完整资源使用情况,并能够在资源不足或者超量使用时自动调整容器资源。 K8s Metrics Server的基本原理是通过启动一个服务,并通过访问K8s各种组件的API endpoints来获取当前容器和集群资源使用状态。Metrics Server在收集到的数据中,主要包括CPU、memory以及network的使用率、请求流量、响应时间等信息。同时,可以基于这些数据来为Pods、Deployments、DaemonSets等对象提供水平自动扩容和增量调整的服务。 在K8s Metrics Server中,最重要的组件是Heapster,它作为Metrics Server的扩展组件,负责对收集到的所有的K8s集群的资源使用数据进行经过处理之后进行监控和分析。通过Heapster可以实现的监控和提醒,包括对Pods、Deployments、DaemonSets等对象的资源使用情况的监控,集群负荷的观察,容器状态的查询等。 总的来说,K8s Metrics Server是K8s设计的一个非常重要的组件,它能够帮助K8s构建一个可靠的、基于资源监控的自动化调整平台,为用户提供可靠、高效的容器资源调度服务。对于企业用户而言,K8s Metrics Server的使用不仅能够提升企业应用的稳定性和可靠性,也能够降低系统维护与调整的成本,提升效率和便捷性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值