k8s实战教程
文章平均质量分 82
k8s从入门到放弃
os-lee
微信联系:lee-aigc
全栈架构:Golang,Java,Python,Vue。
业务范围:
1. llm大模型,知识中台,OCR,目标检测,游戏辅助
2. 微服务,云原生,devops技术方案
3. 毕业设计指导
展开
-
13.1.k8s集群的七层代理-ingress资源(进阶知识)
k8s服务对外暴露有三种方式 NodePort,LoadBalancer,IngressNodeport: 服务暴露需要在集群每个节点都开放一个同样的端口,通过nodtIp:nodePort来访问,如果服务数量多了,开放的端口就难以管理LoadBalancer: 大部分情况下只适用于支持外部负载均衡器的云提供商(AWS,阿里云,华为云等)使用。每个服务都会由云服务提供一个IP作为入口,转发相应的流量,但每个LoadBlancer Service都会产生费用,成本比较高。原创 2024-06-21 12:08:02 · 1097 阅读 · 0 评论 -
13.1.资源清单的管理工具-helm
需要借助k8s资源清单的管理工具,进行以业务为单位的资源清单管理,通过一些手段,来实现业务的升级、回滚等等操作在一个文件上(通过helm的values.yaml文件),一个文件就能够管理一套业务体系,进而压缩、减轻了运维压力实现高效管理业务的目的;原创 2024-06-19 21:08:32 · 1312 阅读 · 0 评论 -
12.1.k8s中的pod数据持久化-pv与pvc资源及动态存储StorageClass
我们之前学习过好几种存储卷用于数据的持久化,我们来回忆一下;1,emptyDir存储卷:与pod的生命周期相同,pod删除掉,数据也随之删除;2,hostpath存储卷:必须指定宿主机,不同宿主机的pod不能数据共享;3,nfs存储卷;原创 2024-06-18 21:09:53 · 850 阅读 · 0 评论 -
11.6.k8s实战-节点扩缩容
生产环境中,对于k8s已有环境进行扩容和缩容是比较常见的操作,比如现有k8s集群资源不足,就需要扩容节点,就是将物理机配置加入k8s集群node;或者说当前k8s集群工作不饱和,有大量空闲的机器资源,闲置浪费严重,所以需要缩容,就是将物理机配置退出k8s集群node;原创 2024-06-18 14:56:02 · 1325 阅读 · 1 评论 -
11.5.k8s中pod的调度-cordon,drain,delete
-ignore-daemonsets #daemonset资源不能被驱逐,需要排除,加这个选项参数排除;--delete-emptydir-data #如果无法驱逐成功,再加这个参数;原创 2024-06-17 21:54:57 · 629 阅读 · 0 评论 -
11.4.k8s中pod的调度-污点taint,污点容忍tolerations
污点:是标注在节点上的,当我们在一个节点上打上污点以后,k8s 会认为尽量不要将 pod 调度到该节点上,除非该 pod 上面表示可以容忍该污点,且一个节点可以打多个污点,此时则需要 pod 容忍所有污点才会被调度该节点。原创 2024-05-09 10:05:19 · 805 阅读 · 0 评论 -
11.3.k8s中pod的调度-亲和affinity,反亲和antAffinity
在K8S中,亲和性(Affinity)用来定义Pod与节点关系的概念,亲和性通过指定标签选择器和拓扑域约束来决定 Pod 应该调度到哪些节点上。与污点相反,它主要是尽量往某节点靠。在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性;原创 2024-05-10 10:07:06 · 511 阅读 · 0 评论 -
11.2.k8s中pod的调度-nodeSelector节点选择器
NodeSelector是Kubernetes调度器的一部分,是节点选择约束的最简单推荐形式。它允许开发者根据节点的标签,精确地控制Pod在集群中的调度位置。通过在Pod的定义中设置NodeSelector,可以确保Pod只会被调度到具有特定标签的节点上。我们先创建一个普通的deploy资源,设置为10个副本,查看创建的pod;那么我们有没有方法,让pod根据我们自己的想法,创建在我们想要的节点上呐?接下来,我们就学习,关于pod调度的节点选择器,nodeSelector。原创 2024-05-06 11:09:11 · 623 阅读 · 0 评论 -
11.1.k8s中pod的调度-介绍及nodeName节点选择器
调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。原创 2024-06-17 12:26:10 · 257 阅读 · 0 评论 -
10.3.k8s的附加组件-图形化管理工具dashboard
Dashboard是k8s集群管理的一个WebUI,它是k8s的一个附加组件,所以需要单独来部署;我们可以通过图形化的方法,创建、删除、修改、查询k8s资源;原创 2024-05-18 20:07:07 · 627 阅读 · 0 评论 -
10.2.k8s的附加组件-Metrics-server组件与hpa资源pod水平伸缩
Metrics-Server组件目的:获取集群中pod、节点等负载信息;hpa资源目的:通过metrics-server获取的pod负载信息,自动伸缩创建pod;参考链接:资源指标管道 | Kubernetes。原创 2024-05-18 16:30:59 · 769 阅读 · 0 评论 -
10.1.k8s的附加组件(coreDNS组件)
k8s主要有两种service发现机制:环境变量和DNS。没有DNS服务的时候,k8s会采用环境变量的形式,但一旦有多个service,环境变量会变复杂,为解决该问题,我们使用DNS服务。原创 2024-05-06 10:46:05 · 527 阅读 · 0 评论 -
9.5.k8s中的控制器资源-DaemonSet控制器
daemonset资源:简称ds资源;他可以实现与pod反亲和性同样的目的,每个节点分别创建一个相同的pod;原创 2024-05-17 19:16:13 · 175 阅读 · 0 评论 -
9.4.k8s的控制器资源(job控制器,cronjob控制器)
job控制器就是一次性任务的pod控制器,pod完成作业后不会重启,其重启策略是:Never;cronjob控制器,是基于job控制器,定期频率性执行任务;与linux系统中的crontab一样;原创 2024-05-05 08:58:52 · 475 阅读 · 1 评论 -
9.3.k8s的控制器资源(deployment部署控制器)
deployments资源,实际上就是用来专门部署业务代码的控制器,专门用于企业业务代码的升级和回滚。原创 2024-05-05 08:57:08 · 1383 阅读 · 2 评论 -
9.2.k8s的控制器资源(rs控制器replicasets)
replicaset副本控制器,简称:rs控制器;原创 2024-05-04 09:33:28 · 676 阅读 · 0 评论 -
9.1.k8s的控制器资源(rc控制器replicationcontrollers)
replicationcontrollers控制器资源,简称:rc控制器;简单理解,rc控制器就是控制相同的pod副本数量;使用rc控制器资源创建pod,就可以设定创建pod的数量;特点rc控制器创建的pod是按照标签进行副本数量控制的;rc控制器资源创建的pod,直接删除pod,还会重新拉起,只有删除rc资源,pod才会消失;修改rc资源,需要重新编rc资源清单,再次apply就可以修改了;原创 2024-05-04 09:32:24 · 354 阅读 · 0 评论 -
8.k8s中网络资源service
每当我们企业的业务pod迭代功能的时候,都会修改pod,修改后重新启动pod,ip就会变化,那么在生产环境当中,从用户到宿主机、从宿主机到pod,这一个访问流程,都是事先写好的,一旦pod修改后,ip产生变化,就需要重新配置,因此,k8s提供了service资源用于解决这一问题;原创 2024-05-03 16:27:18 · 1540 阅读 · 0 评论 -
7.k8s中的名称空间namespace
是一种资源隔离机制,将同一集群中的资源划分为相互隔离的组。命名空间可以在多个用户之间划分集群资源。原创 2024-05-02 21:52:15 · 715 阅读 · 0 评论 -
6.k8s中的secrets资源
secret资源就是将value的值使用base64编译后传输,当pod引用secret后,k8s会自动将其base64的编码,反编译回正常的字符串;因为,k8s拉取镜像与Docker拉取镜像是不同的方式,所以k8s需要创建一个属于自己的拉取镜像的方式;secrets资源,类似于configmap资源,只是secrets资源是用来传递重要的信息的;#指定镜像拉取的secret资源(secret的拉取镜像类型);# 登录pod资源查看env变量。# 编辑secrets资源清单。# 创建secret资源。原创 2024-05-01 23:30:38 · 1356 阅读 · 4 评论 -
5.k8s当中的ConfigMap资源
在Docker中,我们一般通过绑定挂载的方式将配置文件挂载到容器里。在Kubernetes集群中,容器可能被调度到任意节点,配置文件需要能在集群任意节点上访问、分发和更新。原创 2024-05-01 14:27:12 · 1127 阅读 · 0 评论 -
4.4.k8s中的静态pod(了解即可)
我们都知道,pod是kubelet创建的,那么创建的流程是什么呐?此时我们需要了解我们k8s中config.yaml配置文件了;他的存放路径:【/var/lib/kubelet/config.yaml】原创 2024-05-02 21:51:38 · 120 阅读 · 0 评论 -
4.3.k8s中pod的探针
Kubernetes(k8s)中的探针是一种健康检查机制,用于监测Pod内容器的运行状况。探针的设置,都是为了优化业务时,需要做的事情;属于后期工作;原创 2024-05-03 10:07:48 · 15 阅读 · 0 评论 -
4.2.k8s的pod-标签管理、镜像拉取策略、容器重启策略、资源限制、优雅终止
1.标签在k8s中极其重要,大多数资源的相互关联就需要使用标签;也就是说,资源的相互关联大多数时候,是使用标签进行关联的;2.其他作用,在k8s集群中,node节点的一些操作比如污点及污点容忍等,都需要使用到标签;原创 2024-04-06 20:00:40 · 1444 阅读 · 0 评论 -
4.1.k8s的pod-创建,数据持久化,网络暴露,env环境变量
Pod是包含一个或多个容器的容器组,是 Kubernetes 中创建和管理的最小对象。Pod是kubernetes中最小的调度单位原子单元,Kubernetes直接管理Pod而不是容器。其他所有资源都是围绕着为pod资源提供服务的,给pod提供服务的。同一个Pod中的容器总是会被自动安排到集群中的同一节点(物理机或虚拟机)上,并且一起调度。Pod可以理解为运行特定应用的“逻辑主机”,这些容器共享存储、网络和配置声明(如资源限制)。每个 Pod 有唯一的 IP 地址。IP地址分配给Pod。原创 2024-04-06 11:11:29 · 662 阅读 · 0 评论 -
3.3.k8s搭建-rancher RKE2
rke2搭建k8s集群,部署rancher,helm实战原创 2024-04-04 14:03:51 · 1181 阅读 · 0 评论 -
3.2.k8s搭建-kubeadm
k8s多种搭建方式汇总。原创 2024-04-06 10:05:20 · 1038 阅读 · 0 评论 -
3.1.k8s搭建-多种方式汇总
minikube可以在本地运行Kubernetes的工具,minikube可以在个人计算机(包括Windows,macOS和Linux PC)上运行一个单节点Kubernetes集群,以便您可以试用Kubernetes或进行日常开发工作Kubeadm是一个K8s部署工具,提供kubeadm init 和 kubeadm join两个操作命令,可以快速部署一个Kubernetes集群。原创 2024-04-04 20:50:03 · 507 阅读 · 0 评论 -
2.k8s架构
一个Kubernetes集群至少包含一个控制平面(control plane),以及一个或多个工作节点(worker node)。(Control Plane) : 控制平面负责管理工作节点和维护集群状态。所有任务分配都来自于控制平面。(Worker Node) : 工作节点负责执行由控制平面分配的请求任务,运行实际的应用和工作负载。原创 2024-04-04 20:10:20 · 843 阅读 · 0 评论 -
1.k8s简介
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。原创 2024-04-04 18:01:29 · 967 阅读 · 0 评论