随笔分类 - kubernetes
摘要:十五、Devops实践 1. 业务上线流程 应用部署或者更新都是采用手工的方式,但在企业内部,应用架构一般都采用微服务,大部分项目都会对应几十、上百,甚至上千个微服务,并且还不仅仅只有一个项目,所以采用手工方式上线是不太现实的事情,特别是随着应用的增多,对应的工作量也变得不可想象。由于上线的过程一般
阅读全文
摘要:13、Prometheus Prometheus特性 一个多维的数据模型,具有由指标名称和键/值对标识的时间序列数据; 使用 PromOL 查询和聚合数据,可以非常灵活的对数据进行检索; 不依赖额外的数据存储,Prometheus 本身就是一个时序数据库,提供本地存储和分布式存储,并且每个Prome
阅读全文
摘要:14、 服务发布Ingress 1. 传统架构和K8s架构访问 在没有使用Kubernetes的传统架构中,部署一个应用并使用域名进行发布的流程如下: 部署应用至宿主机,启动应用并暴露一个端口号。 通过Nginx或其他代理工具配置域名,并代理至后端应用。 在域名厂商进行域名解析,设置DNS记录至Ng
阅读全文
摘要:12、容器日志搜集 1. K8s需要收集哪些日志 系统和K8s组件日志: /var/log/messages:这是Linux系统中存储一般消息和错误信息的日志文件。 /var/log/kube-xxx.log:这些是Kubernetes 组件的日志文件。 业务应用程序日志: “云原生——控制台日志”
阅读全文
摘要:11、中间件容器化 1. 应用部署的通用步骤 1.1 必须了解要部署的东西: 架构:理解应用程序的架构和组件。 配置:知道应用程序需要哪些配置参数。 端口号:确定应用程序使用的端口。 启动命令:了解启动应用程序所需的命令。 1.2 其次要有镜像: 镜像谁来做:确定谁负责创建和维护应用程序的镜像。应用
阅读全文
摘要:9、RBAC权限控制 更新:从1.24版本开始,创建sa不再自动生成secrets 在Kubernetes中,你可以定义不同的角色(Role),这些角色包含了对特定命名空间(Namespace)内的资源进行操作的一组权限。然后通过角色绑定(RoleBinding)将这些角色分配给用户、用户组或服务账
阅读全文
摘要:九、资源配额、资源限制、服务质量Qos 1. 节点可用性延伸 已经从多个维度保障了服务的可用性,比如调度到不同的机器和机房、配置可靠的健康检查等。但是上述措施都是基于应用级别去做的,如果我们的 Kubernetes 集群用来运行容器的节点有了故障,带来的影响是很大的,所以在保证应用本身的前提下,也要
阅读全文
摘要:七、高级调度任务、污点与容忍、亲和力(Affinity) 1. Job 1.1 Job概述 Job 是一个资源对象,负责处理任务(即仅执行一次的任务,直到任务完成),并将继续重试 Pod 的执行,它保证批处理任务的一个或多个 Pod 直到指定数量的 Pod 成功终止。 Job 跟踪记录成功完成的 P
阅读全文
摘要:五、配置管理 1. 为什么要做配置分离 通常情况下,一个服务的启动需要依赖一些配置,比如一个 Java 应用需要知道自己链接的数据库或其他中间件的地址是什么,需要知道链接另一个服务的接口地址是什么,所以需要告诉应用其他服务的配置信息。一般可以通过环境注入或者配置文件进行统一管理,而不是写死在代码里面
阅读全文
摘要:三、资源调度 1. 为什么要资源调度 在传统架构中,我们总在考虑或者面临一个问题,我们的应用需要部署在哪里?我们的应用现在在哪里运行着?有一个服务不可访问了,去哪里排查?诸如此类的问题总是会出现在工作中。 但是在使用 Kubernetes 部署应用后,我们无须再关心应用到底部署在了哪台服务器,也无须
阅读全文
摘要:六、持久化存储 1. Volume概述 Container(容器)中的磁盘文件是短暂的,当容器崩溃时,kubelet 会重新启动容器,但最初的文件将丢失,Container 会以最干净的状态启动。另外,当一个 Pod 运行多个 Container 时,各个容器可能需要共享一些文件。Kubernete
阅读全文
摘要:四、服务发布 1. Pod生命周期带来的问题 Pod 的生命是有限的,死亡过后不会复活了。每个 Pod 都有自己的 IP 地址,但是如果 Pod 重建了的话那么他的 IP 很有可能也就变化了。 这就会带来一个问题:比如我们有一些后端的 Pod 集合为集群中的其他应用提供 API 服务,如果我们在前端
阅读全文
摘要:二、Pod 解析 1、基本原理 1.1 什么是Pod Pod 是工作负载在 Kubernetes 上运行的应用程序。在 Kubernetes 中,Pod 代表的是集群上处于运行状态的一组容器的集合。 Pod的设计初衷 如果把某个应用的进程进行拆分,拆分成一个一个容器,那就有可能出现某个进程容器被调度
阅读全文
摘要:一、Kubernetes基础 1. 为什么要用Kubernetes 在业务开始进行容器化时,前期需要容器化的项目可能并不多,涉及的容器也并不多,此时基于Docker容器直接部署至宿主机也能实现自己的需求。但是随着项目越来越多,管理的容器也越来越多,此时使用“裸容器”部署的方式管理起来就显得很吃力,并
阅读全文

浙公网安备 33010602011771号