
Kubernetes
文章平均质量分 92
结合实践,用大白话记录每一个kubernetes知识点
jiam明
从事互联网行业,工龄5年,Linux运维岗位
展开
-
k8s篇-存储插件(flexvolume与CSI)
存储插件 --- csi 和 flexvolume原创 2022-09-02 17:24:10 · 3537 阅读 · 0 评论 -
k8s篇-Pod健康检测
一、POD健康检查机制POD 有 2 种探测类型:存活性探测 (pod.spec.containers.livenessProbe) 与 就绪性探测(pod.spec.containers.readinessProbe)。就绪和存活探测可以在同一个Pod容器上并行使用。livenessProbe:检测容器是否处于running状态(即Pod的状态是否为running)。若liveness探测到Pod不健康时,会通过kubelet杀掉该pod,并根据重启策略来判断是否重启这个pod。若未配原创 2021-11-12 11:22:28 · 5670 阅读 · 1 评论 -
k8s篇-应用持久化存储2(存储快照与拓扑调度)
一、存储快照快照功能:能对线上的数据进行快速的复制、迁移等,及对重要数据误操作之后进行快速恢复。K8s中通过CSI Snapshotter controller来实现存储快照的功能。Snapshot原理:创建snapshot过程,与pvc&pv设计类似 PVC -------> StorageClass -------------> PV VolumeSnapshot -------> VolumeSnapshotClass ------>原创 2021-11-05 17:53:23 · 1977 阅读 · 1 评论 -
k8s篇-应用持久化存储(PV和PVC)
一、Volume一般来说,容器一旦被删除后,容器运行时内部产生的所有文件数据也会被清理掉,因此,Docker提供了 Volume 这种方式来将数据持久化存储。实际上,这个 Volume 也只是宿主机上本地磁盘中的一个目录,也就是说,volume方式是将容器里面的数据都保存到宿主机上。除此之外,还能保存到外部存储上。在k8s中,支持多种类型的Volume:本地存储(emptyDir / hostPath)、外部存储(如NFS)。1、emptyDir若pod使用了emptyDir类型的.原创 2021-11-05 15:23:12 · 11341 阅读 · 1 评论 -
k8s篇-Pod配置管理
在kubernetes中,一个Pod容器要运行,可能会用到多种配置信息,比如应用配置文件、环境变量、命令行参数、账号密码、token等信息,以及Pod运行时所需要的CPU和内存资源,还有Pod在集群中的身份认证问题等等。在k8s中这些都是如何管理起来的?主要有以下几种方式:ConfigMap:可变配置(环境变量、配置文件、命令参数等) Secret:敏感信息(账号密码、Token等) ServiceAccount:身份认证 Spec.Containers.Resources.limits/re原创 2021-11-03 14:31:10 · 1528 阅读 · 0 评论 -
k8s篇-网络-Ingress对象详解
为什么需要 Ingress:Ingress 也是为了解决在集群之外访问集群内部的Service服务的问题。实际上,将service的type设置为NodePort或LoadBalancer,也能实现将集群内部的服务暴露给外部访问。NodePort和LoadBalancer类型的Service访问流程如下: .————————————————————————————————————————————————原创 2021-10-12 16:45:51 · 5255 阅读 · 0 评论 -
k8s篇-集群内的DNS原理与配置
CoreDNS是一个DNS解析的组件,作为集群内的DNS服务器,为集群内部提供域名解析服务。比如当集群内Pod要访问某个service name时,就会用到coredns的解析服务。DNS解析原理:当部署好coredns后,集群中会有一个名为kube-dns的service,以及这个service下还有两个名为CoreDNS的Pod后端。$ kubectl get svc kube-dns -n kube-systemNAME TYPE CLUSTER-IP原创 2021-09-28 15:06:49 · 16311 阅读 · 3 评论 -
k8s篇- Service对象详解
一、Service介绍为什么需要Service:每个Pod被创建后,都会有它自己的IP,但由于Pod有生命周期,经常会被创建与销毁,一旦重新创建POD,该POD的IP就会发生变化。所以这些POD应用需要对外提供一个统一的访问入口,即固定IP,外部才能正常访问。Service定义:Service可对Pod进行分组。我们可以将多个POD划分到同一个逻辑组中,并统一向外提供服务,这个逻辑组就是一个service。通常POD是通过Label Selector加入到指定的service中。Se原创 2021-10-03 12:05:22 · 1171 阅读 · 1 评论 -
k8s篇-理解POD本质(实现原理与设计模式)
这一篇文章是我自己看了大神张磊《深入剖析Kubernetes》的内容后,加上了一点点自己理解,将最精华部分,按自己理解方式,整理成的一篇文章,这个也花了不少时间。我相信我所写内容还是比较直白好理解的,如不是,我会继续改进!一、为什么需要 Pod1、容器的基本概念容器的本质上是一个进程,是一个视图被隔离,资源受限的进程。容器里面 PID=1 的进程就是应用本身,管理容器等于直接管理应用本身。放到Kubernetes中去理解就是,Kubernetes 是云时代的操作系统,容器镜像就是这个原创 2021-08-31 16:41:56 · 1752 阅读 · 0 评论 -
k8s篇-POD调度详解(亲和性/污点容忍/优先级调度)
一、Kubernetes调度过程说白了,一个调度过程就是把pod放到合适的node上。 Kube-ApiServer <------⑴------> Controllers (Validate/Admit) | ↑ ⑶| ↑_ _ _ ⑵_ _ _ _ Kube-Scheduler (Bind NodeName) _____|____ / \ ↓ ↓(Kube原创 2021-08-27 16:39:03 · 3526 阅读 · 0 评论 -
k8s篇-POD资源管理
一、Kubernetes调度过程说白了,一个调度过程就是把pod放到合适的node上。 Kube-ApiServer <------⑴------> Controllers (Validate/Admit) | ↑ ⑶| ↑_ _ _ ⑵_ _ _ _ Kube-Scheduler (Bind NodeName) _____|____ / \ ↓ ↓(Kube原创 2021-08-27 10:13:06 · 758 阅读 · 0 评论