- 博客(14)
- 收藏
- 关注
原创 14、Kubernetes Services
一个 Pod 的逻辑分组,一种可以访问它们的策略——通常称为微服务。这一组 Pod 能够被 Service 访问到,通常是通过实现的。Service 通过标签来选取服务后端,一般配合 Replication Controller 或者 Deployment 来保证后端容器的正常运行。这些匹配标签的 Pod IP 和端口列表组成endpoints,由kube-proxy 负责将服务 IP 负载均衡到这些 endpoints 上。简单来说就是,
2024-12-05 19:51:47
822
原创 13、Kubernetes网络概念及策略控制
Kubernetes网络是指在Kubernetes集群中网络架构。本文通过一下五个层次介绍 k8s 网络。
2024-12-04 20:54:24
1031
原创 11、可观测性:应用健康
K8s 是整个的一个设计是面向状态机的,它里面通过 yaml 的方式来定义的是一个期望到达的一个状态,而真正这个 yaml 在执行过程中会由各种各样的 controller来负责整体的状态之间的一个转换。Pod 的一个生命周期。刚开始它处在一个 pending 的状态,那接下来可能会转换到类似像 running,也可能转换到 Unknown,甚至可以转换到 failed。
2024-12-02 15:46:30
1062
原创 10、应用存储和持久化数据卷:存储快照与拓扑调度
在使用存储时,为了提高数据操作的容错性,我们通常有需要对线上数据进行,以及能快速的能力。另外,当需要对线上数据进行快速的复制以及迁移等动作,如进行环境的复制、数据开发等功能时,都可以通过存储快照来满足需求,而 K8s 中通过 CSI Snapshotter controller 来实现存储快照的功能。
2024-11-25 21:53:20
706
原创 09、 应用存储和持久化数据卷:Volumes
Kubernetes 支持很多类型的卷。Pod可以同时使用任意数目的卷类型。临时卷类型的生命周期与 Pod 相同, 但持久卷可以比 Pod 的存活期长。当 Pod 不再存在时,Kubernetes 也会销毁临时卷;不过 Kubernetes 不会销毁持久卷。对于给定 Pod 中任何类型的卷,在容器重启期间数据都不会丢失。
2024-11-25 11:28:09
981
原创 08、应用配置与管理
Resource 是容器的一个资源配置管理。目前内部支持类型有三种:CPU、内存,以及临时存储。当用户觉得这三种不够,有自己的一些资源,比如说 GPU,或者其他资源,也可以自己来定义,但配置时,指定的数量必须为整数。目前资源配置主要分成request 和 limit两种类型,一个是需要的数量,一个是资源的界限。CPU、内存以及临时存储都是在 container 下的 Resource 字段里进行一个声明。
2024-11-19 11:33:33
885
原创 07、应用编排与管理:Job 和 DaemonSet
所有的 job 都是一个 controller,它会 watch 这个 API Server,我们每次提交一个 Job 的 yaml 都会经过 api-server 传到 ETCD 里面去,然后 Job Controller 会注册几个 Handler,每当有添加、更新、删除等操作的时候,它会通过一个内存级的消息队列,发到 controller 里面。接着来看真正的 pods,pods 总共出来了 8 个 pod,每个 pod 的状态都是完成的,然后来看一下它的 AGE,就是时间。
2024-11-13 20:09:23
1069
原创 06、应用编排与管理:Deployment
首先,我们来看一下背景问题。如下图所示:如果我们直接管理集群中所有的 Pod,应用 A、B、C 的 Pod,其实是散乱地分布在集群中。
2024-11-11 15:31:22
817
原创 05、k8s---应用编排与管理:核心原理
Kubernetes 的资源对象组成:主要包括了 Spec、Status 两部分。其中 Spec 部分用来描述期望的状态,Status 部分用来描述观测到的状态。此外K8s 有另外一个部分,即元数据部分(metadata)。, 用来描述资源的注解;, 用来描述多个资源之间相互关系的。这些元数据在 K8s 运行中有非常重要的作用。
2024-11-04 15:01:52
809
原创 04、理解 Pod 和容器设计模式
比如我们前面举的例子,其实就干了一个事儿,这个 Init Container,它就是一个 Sidecar,它只负责把镜像里的 WAR 包拷贝到共享目录里面,以便被 Tomcat 能够用起来。其它有哪些操作呢?
2024-11-01 17:08:28
714
原创 02、容器概念
在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括系统自带的服务和用户的应用进程。那么,这些进程都有什么样的特点?这样的三个特点会带来什么问题呢?针对上述的三个问题,如何为进程提供一个独立的运行环境呢?那么,应该如何定义这样的进程集合呢?其实,所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个,它将系统的其他资源。
2024-10-21 16:48:41
619
原创 01、k8s---云原生
实际上,云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。因此,云原生其实是一套指导进行软件架构设计的思想。按照这样的思想而设计出来的软件:首先,天然就“生在云上,长在云上”;其次,能够最大化地发挥云的能力,使得我们开发的软件和“云”能够天然地集成在一起,发挥出“云”的最大价值。所以,云原生的最大价值和愿景,就是认为未来的软件,会从诞生起就生长在云上。
2024-10-14 16:59:06
217
原创 Cannot contact any KDC for realm EXAMPLE.COM
gss_init_sec_context(..., gss_server_name, gss_mech_krb5, ...)获取到 gss_server_name的凭据(st)的时候与 KDC 通信报错Cannot contact any KDC for realm EXAMPLE.COM。当我修改 hosts 指定域名对应的 ip,就不会报错。修改 hosts 后不会报错,说明域名解析有问题。ldd 命令查看我编译的 c代码链接库有问题,需要关联。,应用程序就是用它进行域名解析。
2024-09-13 20:54:39
816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅