Docker OverlayFS容器文件系统
什么是容器系统这一模块我们所讲的内容,都和容器里的文件读写密切相关。因为所有的容器的运行都需要一个容器文件系统,那么我们就从容器文件系统先开始讲起。 文件读写性能测试我们可以先启动一个的虚拟机,它的 Linux 内核版本是 4.15 的,然后在虚拟机上用命令 docker run -it ubuntu:18.04 bash 启动一个容器,接着在容器里运行 fio 这条命令,看一下在容器中读取...
什么是容器系统这一模块我们所讲的内容,都和容器里的文件读写密切相关。因为所有的容器的运行都需要一个容器文件系统,那么我们就从容器文件系统先开始讲起。 文件读写性能测试我们可以先启动一个的虚拟机,它的 Linux 内核版本是 4.15 的,然后在虚拟机上用命令 docker run -it ubuntu:18.04 bash 启动一个容器,接着在容器里运行 fio 这条命令,看一下在容器中读取...
K8s生产中如何为不同的业务做资源配置和服务质量保证呢? 对于关键基础组件,可设置等值的 Request 和 Limit 以确保资源稳定性和服务质量。对于资源使用波动的服务,Java 应用,应配置 Request 为稳态需求,Limit 为启动峰值需求,以处理瞬时资源消耗。在生产环境中,强烈建议为每一个工作负载配置资源限制 工作负载配置资源 Request 和 Limit 有三种情况,分别对...
Horizontal Pod Autoscaling 可以根据 CPU 利用率自动伸缩一个 ReplicaSet、Deployment 或者中的 Pod 数量
一、Helm 是什么在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理。 Helm 本质就是让 K8s 的应用管理(Deployment,Service 等 ) 可配置,能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml,service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。 Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有两个重要的概念:chart 和release。
一、JobJob 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 特殊说明: 1、spec.template 格式同 Pod 2、RestartPolicy 仅支持 Never 或 OnFailure 3、单个 Pod 时,默认 Pod 成功运行后 Job 即结束 4、spec.completions 标志 Job 结束需要成功运行的 Pod 个数,默认为 1 5、spec.parallelism 标志并行运行的 Pod 的个数,默认为 1 6、spec.activeDeadlineSeconds 标志失败 Pod 的重试最大时间,超过这个时间不会继续重试
为了方便在命令行下对集群、节点、pod进行管理,kubernetes官方提供了一个管理命令:kubectl kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作。
一、创建自签证书:1.1、准备工作 检查是否已经安装 openssl: openssl version 创建存放证书目录并进入目录
一、Master Master指的是集群控制节点,在每个Kubernetes集群里都需要有一个Master来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它负责具体的执行过程,我们后面执行的所有命令基本都是在Master上运行的 Master上运行的核心组件: Kubernetes API Server(kube-apiserver): 提供了HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。
一、证书机制说明Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的,Kubernetes 使用了认证(Authentication)、鉴权(Authorization)、准入控制(Admission...
Kubernetes使用命名空间的概念帮助解决集群中在管理对象时的复杂性问题。命名空间允许将对象分组到一起,便于将它们作为一个单元进行筛选和控制。无论是应用自定义的访问控制策略,还是为了测试环境而分离所有组件,命名空间都是一个按照组来处理对象、强大且灵活的概念。 一、什么是命名空间,为什么它很重要命名空间(namespace)是Kubernetes提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理,每一个添加到Kubernetes集群的工作负载必须放在一个命名空间中。