![](https://img-blog.csdnimg.cn/direct/d95fb91a38594c2a9d88eb6f8c6d0051.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kubernetes
文章平均质量分 87
Kubernetes笔记实验记录
树下一少年
目前停更。
博客内容有疑问/指正之处敬请发送至邮箱:sulibao2003@163.com。
展开
-
构建Helm chart和chart使用管道与函数简介
上一篇文章说到,我们可以通过helm将众多已经初步配置好的yaml文件下载来整合使用,甚至还可以自己定义好需要的安装参数用于下载完成后直接使用而不需要过多更改,现在仍然可以在这些功能上继续推进。原创 2024-03-18 21:16:26 · 604 阅读 · 1 评论 -
Helm的资源安装和基本使用
Usage:completion 为指定的shell生成自动补全脚本create 创建一个指定了名称的chartdependency 管理chart依赖env Helm客户端环境信息get 下载release,可接all、hooks、manifest、notes、valuesall-获取所有已安装的release的信息。名称、状态、版本等hooks-获取指定 release 的 pre-install、post-install、pre-delete 和 post-delete 钩子的信息。原创 2024-03-17 15:35:54 · 1714 阅读 · 0 评论 -
k8s安全控制、授权管理介绍
两者最终都是面向kubernetes的单独位于kubernetes外的用户账号kubernetes管理账号,为pod中的服务进程在访问kubernete时提供身份标识我是以kubeadm安装的kubernetes,主要是用到rbac的角色访问控制。原创 2024-03-09 23:13:45 · 1426 阅读 · 2 评论 -
k8s中storageClass存储介绍
Kubernetes根据用户提交的PVC请求,找到一个对应的StorageClass, Kubernetes就会调用该StorageClass声明的存储插件,创建出需要的PV供存储使用。创建出来的PV时以namespace-pvcname-pvname的格式存储于NFS共享目录中,PV被回收时会被标记为archived-namespace-pvcname-pvname。链接:https://pan.baidu.com/s/1u9zxreO-qHniowfkptV4QQ。(2)Pod创建和删除测试。原创 2024-03-09 15:11:06 · 1976 阅读 · 0 评论 -
k8s中的PV和PVC存储介绍
称为持久化卷,是对底层的共享存储的一种抽象。一般情况下PV由 kubernetes管理员进行创建和配置,关联于底层具体的共享存储技术,并通过插件完成与共享存储的对接。持久卷声明,是用户对于存储需求的一种声明。用户向kubernetes系统发出的一种资源需求申请(可以是访问模式,存储空间,存储类别的需求),kubernetes再进一步去申请PV。原创 2024-03-07 21:29:44 · 1718 阅读 · 0 评论 -
记一次busybox-mountPath简单但容易忽略的问题open /proc/self/fd: no such file or directory
Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error closing exec fds: open /proc/self/fd: no such file or directory: unknown原创 2024-03-07 20:41:27 · 449 阅读 · 0 评论 -
Ansible+Shell+Containerd部署k8s
Ansible+Shell部署K8s,以下各部分脚本和剧本分开书写(便于理解),如有需要可以自行修改合并执行,代码篇幅较长,需要仔细修改自己的主机参数等。原创 2024-02-20 13:59:55 · 872 阅读 · 1 评论 -
LoadBalancer将服务暴露到外部实现负载均衡Openelb-layer2模式配置介绍
OpenELB是一个开源的企业级负载均衡器,它为 Kubernetes 集群提供了强大的负载均衡功能。OpenELB 通过与 Kubernetes API 交互来获取服务和端点信息,并与 Kubernetes的内部组件(如 etcd)进行通信,以获取集群状态信息。这使得 OpenELB 能够动态地感知到整个集群的状态和服务变化。他可以根据 Kubernetes 中服务和端点的变化动态地更新负载均衡策略,确保流量(VIP流量)能够按照需求正确地路由到后端 Pod。之后的文章会讲述几类负载均衡器如何使用。原创 2023-12-04 21:54:37 · 2374 阅读 · 0 评论 -
k8s中批量处理Pod应用的Job和CronJob控制器、处理守护型pod的DaemonSet控制器介绍
他主要是用于批量地去执行一次性任务,确保在pod上让指定的任务能够正确完成,我们可以在配置中指定期望其完成的数量,执行成功后会记录下成功的数量,执行完成后pod会标识为completed(该pod的主进程已经完成并退出)。他是在借助Job的情况下,按照指定的时间节点去循环重复执行任务。在 CronJob 对象中定义时间表(schedule),该时间表指定了作业运行的时间间隔或特定的运行时间。原创 2023-11-29 23:00:05 · 1266 阅读 · 0 评论 -
k8s中kubectl命令式对象、命令式对象配置、声明式对象配置管理资源介绍
一.kubernetes资源管理简介二.三种资源管理方式优缺点比较三.命令式对象管理介绍1.kubectl命令语法格式2.资源类型(1)通过“kubectl api-resources”来查看所有的资源(2)每列含义(3)常用资源介绍编辑3.kubectl命令支持命令(1)获取命令帮助(2)常用命令介绍编辑4.常用命令示例四.命令式对象配置介绍五.声明式对象配置1.kubectl apply2.操作多个文件内的资源原创 2023-10-29 20:30:50 · 472 阅读 · 0 评论 -
通过docker为容器引擎部署k8s集群环境(含harbor镜像仓库)
k8s环境部署配置链接:https://pan.baidu.com/s/1rRIqV-GO6ETe4N9glNs2cg。链接:https://pan.baidu.com/s/1TRUyPxbBZRcyyyqojquhBw。执行完脚本无误后执行以下命令。原创 2023-09-01 15:06:01 · 5616 阅读 · 4 评论 -
Kubernetes组件和架构简介
Kubernetes组件和架构简介一.概念简介1.含义:2.主要功能:3.相关概念:二.组件和架构介绍1.master:集群的控制平面,管理集群2.node:集群的数据平面,为容器提供工作环境3.kubernetes简单架构图解原创 2023-09-25 22:17:57 · 645 阅读 · 2 评论 -
通过cri-o部署k8s集群环境
通过cri-o部署k8s集群环境二.下载cri-o包(所有节点做)1.在线下载2.本地下载三.配置文件(所有节点做)1.修改crio配置文件2.修改kubelet参数(所有节点做)3.重启crio和kubelet四.master节点初始化(master节点做)五.node节点加入(node节点做)六.添加网络插件(master节点做)1.应用calico.yaml2.查看验证原创 2023-10-08 18:16:53 · 1491 阅读 · 0 评论 -
k8s上Pod全自动调度、定向调度、亲和性调度、污点和容忍调度详解
默认情况下,Pod调度到哪个节点都是右Scheduler组件进行调度,对于在工作和学习中需要指定设备运行特定pod时就显得不实用,此时我们家就需要合理利用几个调度规则,主要包括全自动调度、定向调度、亲和性调度、污点调度、容忍调度等主要功能是自动部署一个容器的多个副本,以来持续保持使用者指定的副本数量(replicas)原创 2023-11-24 13:25:41 · 1622 阅读 · 0 评论 -
LoadBalancer将服务暴露到外部实现负载均衡purelb-layer2模式配置介绍
PureLB是一种负载均衡器,它的工作原理主要是用于在网络中分发和管理传入的请求,以便将请求有效地分配给后端服务。原创 2023-12-04 22:01:45 · 1585 阅读 · 0 评论 -
通过containerd部署k8s集群环境及初始化时部分报错解决
通过containerd部署k8s集群环境报错/proc/sys/net/bridge/bridge-nf-call-iptables does not exist/etc/kubernetes/kubelet.conf already exists/etc/kubernetes/bootstrap-kubelet.conf already exists/etc/kubernetes/pki/ca.crt already existsPort 10250 is in use原创 2023-09-27 20:13:47 · 2629 阅读 · 0 评论 -
LoadBalancer将服务暴露到外部实现负载均衡metallb-layer2模式配置介绍
MetalLB(Metal Load Balancer)是 Kubernetes 中一个开源的负载均衡器,它通过为 Kubernetes 集群中的服务分配外部 IP 地址,将流量从集群中的 Pod 重定向到合适的服务上。相比于 Kubernetes 默认的负载均衡机制,MetalLB 提供了更加灵活和可定制的负载均衡方案。MetalLB旨在通过提供网络负载均衡器来纠正不平衡实现与标准网络设备集成,尽可能器保障裸机集群上的外部服务也同样“正常工作”。原创 2023-12-05 22:28:25 · 1888 阅读 · 0 评论 -
k8s中ConfigMap、Secret创建使用演示、配置文件存储介绍
在Kubernetes中,ConfigMap是一种用于存储配置数据的对象,它提供了一种将配置数据与容器分离的方式,使得容器的配置可以独立于容器镜像进行管理和修改。将配置信息存储在Secret中,可以将容器镜像与配置数据分离,并在部署时注入到容器中,从而使容器的配置更加灵活和安全。这些证书可以被挂载到Pod中,并用于与其他服务进行安全的HTTPS通信。(2)多个容器共享配置数据:将多个容器所需的公共配置数据存储到ConfigMap中,从而避免了重复存储和管理配置数据的问题,同时也方便了对配置的修改和更新。原创 2023-12-17 14:06:43 · 1306 阅读 · 0 评论 -
k8s中Service负载均衡和Service类型介绍
之前我们讲到的pod创建,里面有服务需要被集群内部访问或被外界访问,这样情况我们就需要借助service来为应用提供统一入口地址,他主要提供网络服务,将请求按负载均衡算法分发到各个容器。在访问时,pod的IP地址时会变化的,显然在pod提供稳定服务时不能通过IP地址去访问。原创 2023-12-02 20:13:27 · 2275 阅读 · 0 评论 -
k8s中EmptyDir、HostPath、NFS三种基本存储方式介绍
在此前我们所看到的service、pod等的演示实验中的其资源经常被删除重建,数据经常清除,那么我们需要一个东西去解决持久化保存容器数据的问题。Volume创建出来是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,k8s通过Volume实现在同一个Pod中不同容器之间的数据共享以及数据的持久化存储。原创 2023-12-13 22:14:26 · 1578 阅读 · 0 评论 -
ingress介绍和ingress通过LoadBalancer暴露服务配置
工作原理了类似于nginx,等于是在ingress里建立许多规则,在通过controller监听规则变化,生成对应的配置,实现对服务的反向代理配置,为外部提供服务,并动态更新。如果要把ingress部署在公有云,那用这种方式比较合适。用Deployment部署ingress-controller,创建一个type为 LoadBalancer的 service关联这组pod。公有云为LoadBalancer的 service自动创建一个负载均衡器,这时把域名解析指向地址,就实现了集群服务的对外暴露。原创 2023-12-07 21:35:17 · 2527 阅读 · 0 评论 -
k8s中Pod控制器简介,三种处理无状态pod应用ReplicaSet、Deployment、HPA控制器、处理有状态pod应用StatefulSet控制器介绍
(1)之前我们提到kubernetes的最小管理单元室pod,也讲到过有自主式pod和控制器管理pod(推荐)两种。pod控制器结余用户管理和pod中间,利用pod控制器来告知pod自己的期望需求,同时还包含有编排pod的多种策略。这里我们主要介绍ReplicaSet(无状态)、Deployment(无状态)、Horizontal Pod Autoscaler(通常无状态)、DaemonSet(守护型)、Job(批处理)、Cronjob(批处理)、StatefulSet(有状态)七个控制器。原创 2023-11-28 10:27:55 · 1513 阅读 · 0 评论 -
k8s上对Pod的管理部分详解
pod中包含若干个容器,大体可以分为两大类主要通过yaml/json文件或kubectl run创建pod,但是pod的形式又可以分为两大类#可以以此形式来一层一层获取可配置项#必选项,版本号,如V1kind: Pod#必选项,资源类型,pod等metadata:#必选项,元数据部分name: xxx#Pod名称#Pod所属的命名空间,默认为"default"labels:#自定义标签列表#自定义标签内容spec:#必选项,Pod中容器的详细定义#必选项,Pod中容器列表。原创 2023-11-11 18:57:25 · 551 阅读 · 1 评论 -
k8s关于pod的metadata、spec.containers、spec.volumes的属性介绍(yaml格式)
一.metadata常用属性二.spec.containers子属性介绍explain pod.spec.containers给出的参考1.command示例2.env和envFrom示例3.ports部分详解4.resources部分详解5.startupProbe格式6.terminationMessagePath和terminationMessagePolicy格式7.volumeDevices格式8.volumeMounts格式三.spec.volumes子属性介绍原创 2023-11-12 22:14:30 · 1779 阅读 · 0 评论 -
k8s中label标签、deployment控制器、service、ipvs管理简介
一.label管理1.label的作用和特点2.标签的查询和筛选(1)等式型(2)集合型3.命令行打标签用法示例(1)为资源对象添加多个标签(2)更该原有标签(3)删除标签4.配置文件打标签用法示例二.deployment控制器1.pod控制器简介2.deployment控制器三.service管理1.kubernetes内部可访问的service2.kubernetes外部可访问的service3.删除service四.ipvs管理原创 2023-10-30 20:37:25 · 1119 阅读 · 0 评论 -
k8s上Pod生命周期、重启策略、容器探测简介
主要是设置来感知生命周期事件,在特定的周期阶段执行用户特定的操作,又分为启动后(post start,指容器创建之后就执行的部分,此处执行失败会重启容器)和结束前(pre stop,指容器终止运行之前执行的部分,此处执行失败会导致删除容器失败)两种。钩子函数定义方式。原创 2023-11-18 16:46:47 · 1122 阅读 · 1 评论