![](https://img-blog.csdnimg.cn/direct/5affa73f46e74600b8a0ad65b1829890.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
k8s
文章平均质量分 78
kubernetes
繁华依在
欢迎关注我的专栏,大家一起学习。
展开
-
二十四、k8s 资源管理
与LimitRange 相似,ResourceQuota也被设置在命名空间中。1、先创建一个命名空间2、创建yaml文件,用于设置计算资源的配额和对象资源数量的配额metadata:spec:hard:pods: "4"pods 0 4。原创 2024-02-23 09:24:18 · 1571 阅读 · 0 评论 -
二十三、node、Label、namespace管理
接下来,需要为每个工作组分别定义一个Context,即运行环境,这个环境将属于某个特定的命名空间通过 kubectl config set-context 命令定义Context,并将Context 置于之前创建的命名空间中1、先创建两个命名空间,development为开发、production为生产2、创建一个集群名称:3、创建Context:创建以后会在:~/.kube/config中生成一个context4、通过 kubectl config view 查看已经定义的Context。原创 2024-02-21 09:22:12 · 696 阅读 · 0 评论 -
二十二、Pod安全设置详解
k8s可以为pod设置应用程序运行所需的权限或者访问控制等安全设置,涉及多种Linux Kernel安全相关的系统参数,这些安全设置被称为Security Context,在pod或者Conntainer级别通过securityContext字段进行设置。原创 2024-02-19 15:55:43 · 1205 阅读 · 0 评论 -
二十一、Pod的安全策略
为了更精细的控制pod启动或者更新时的安全管理,kubernetes从1.5版本开始引入podSecurityPolicy资源对象对pod安全策略进行管理。podSecurityPolicy是集群范围内的资源对象,不属于命名空间范围。原创 2024-02-16 16:11:51 · 513 阅读 · 0 评论 -
二十、K8S-1-权限管理RBAC详解
在RBAC API中,通过如下步骤进行授权在定义角色时会指定此角色对于资源的访问控制规则Role:角色,包含一组权限的规则,没有拒绝规则,只是附加运行,namespaces隔离,只作用于命名空间。授权特定命名空间的访问权限ClusterRole:和Role的区别,Role只作用于命名空间内,ClusterRole作用于整个集群,也就是所有Namespace。原创 2024-02-10 17:17:21 · 1801 阅读 · 0 评论 -
十九、k8s如何优先删除利用率低的Pod
查看所有pod的controller.kubernetes.io/pod-deletion-cost注解,发现 controller.kubernetes.io/pod-deletion-cost 注解已经被添加。使用kubectl scale命令缩容nginx-deployment,发现controller.kubernetes.io/pod-deletion-cost数值低的pod优先被删除。同一应用的不通Pod可能其利用率是不同的。在对应用执行缩容时,希望移除利用率较低 的Pod.原创 2024-02-07 13:00:00 · 262 阅读 · 0 评论 -
十八、K8S-亲和性和反亲和性
kubernetes的默认调度以预选、优选、选定机制完成将每个新的Pod资源绑定至为其选出的目标节点上,不过,它只是pod对象的默认调度器,默认情况下调度器考虑的是资源足够,并且负载尽量平均。在使用中,可以自定义调度器插件,并在定义pod资源配置清单时通过spec.schedulerName指定即可。原创 2024-02-05 13:00:00 · 1342 阅读 · 0 评论 -
十七、K8S-污点(Taint)和容忍度(toleration)
节点亲和性,是pod的一种属性,它使pod被吸引到一类特定的节点Taint(污点)与节点亲和性相反,它使节点能够排斥一类特定的podTaint(污点)和toleration(容忍福)互相配合,可以用来避免pod被分配到不合适的节点上每个节点都可以应用一个或多个taint,这表示对于那些不能容忍这些taint的pod,是不会被运行在该节点上。如果将toleration应用于pod上,则表示这些pod可以被调度到具有匹配taint的节点上。原创 2024-02-03 11:45:00 · 1444 阅读 · 1 评论 -
十六、K8S-Job(批处理)和Cronjob:定时任务
spec.startingDeadlineSeconds 字段是可选的。它表示任务如果由于某种原因错过了调度时间,开始该任务的截止时间的秒数,过了截止时间,CronJob 就不会开始该任务的实例(未来的任务仍在调度之中)。原创 2024-02-01 13:15:00 · 2475 阅读 · 0 评论 -
十五、K8S-持久卷PV和PVC
在用户定义好PVC之后,系统将根据PVC对存储资源的请求,在已存在的pv中选择一个满足PVC要求的pv,一旦找到,就将该pv于用户定义的PVC绑定,用户的应用就可以使用这个PVC了。对于大多数卷而言,不需要手工设置,都自动完成了设置,对于Local类型的PV,需要手工设置。删除pvc以后--——>k8s会创建一个回收的pod——>根据pv 的回收策略进行pv的回收——>回收完之后——>pv的状态就会变成可被绑定的状态,其他的Pending状态的pvc匹配到了这个PV,就能和这个pv进行绑定。原创 2024-01-30 20:30:00 · 1097 阅读 · 0 评论 -
十四、K8S存储Volumes
卷的核心是包含一些数据的目录,Pod 中的容器可以访问该目录。容器中的文件是在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题,首先,当 容器崩溃时,kubelet将重新启动容器。容器中的文件将会丢失----因为容器会以干净的状态重建,其次,当在一个pod中同时运行多个容器时,常常需要在这些容器之间共享文件,kubernetes抽象出Volume对象来解决这两个问题。Volume是k8s抽象出来的对象,用于解决Pod中的容器运行时,文件存放的问题以及多容器数据共享的问题。原创 2024-01-28 17:00:00 · 1040 阅读 · 0 评论 -
十三、K8S-cm、secret使用SubPath和热更新
4、将目录B内的文件b挂载到容器内指定的目录A,容器的目录A内容不会被覆盖,而且容器目录A还存在挂载来的文件b;2、使用subPath既可以将卷的子目录挂载到容器的指定目录,也可以将文件挂载到容器内指定的目录下的文件。1、subPath是在挂载的卷的子路径,而不是被挂载的容器目录的子路径(volumeMounts)。ConfigMap和Secret的更新方式是一样的 再此只做ConfigMap的更新。3、将目录B挂载到容器内指定的目录A,容器的目录A下的所有内容会被目录B覆盖。原创 2024-01-26 13:30:00 · 357 阅读 · 0 评论 -
十二、K8S-配置管理ConfigMap、Secret
如果引用Secret数据的应用,会随着secret资源对象内保存的数据的更新,而实时更新,那么应该使用volumes挂载的方式引用资源,因为环境变量的方式引用不会实时更新数据。ConfigMap和Secret的区别:原创 2024-01-24 13:30:00 · 1156 阅读 · 0 评论 -
十一、K8S-ingress
当你在Kubernetes集群中运行多个应用程序时,每个应用程序都有自己的服务。为了让外部用户访问这些应用程序,就好像他们访问网站一样,我们需要一种方法来管理流量的分配和路由。这就是Ingress的作用。想象一下,您的Kubernetes集群就像一个大型的公寓楼,每个公寓是一个应用程序。而Ingress就是大楼的大门,允许外部人员进入。大门上有一个保安,他会检查来访者的目的地,并根据他们的要求告诉他们去哪里。Ingress就是这个保安,他知道应该将来自某个网址的请求引导到特定的应用程序。原创 2024-01-22 12:45:00 · 1127 阅读 · 0 评论 -
十、K8S-Service
服务之间的调用,要使用Service名称调用,不要使用IP地址调用,因为PodIP是随机的,每次重启会重新生成IP地址,可以新建一个Service,通过Service名称来访问应用。这样做的好处就是内部服务访问外部服务的时候是通过别名来访问的,屏蔽了外部服务的真实信息,外部服务对内部服务透明,外部服务的修改基本上不会影响到内部服务的访问,做到了内部服务和外部服务解耦合。Service 可以理解为逻辑上的一组Pod,一种可以访问Pod的策略,而且其他Pod可以通过这个Service访问到这个代理的Pod。原创 2024-01-20 10:00:00 · 902 阅读 · 0 评论 -
九、K8S-label和label Selector
matchLabels用于定义一组Label,与直接写在Selector中作用相同:matchExpression用于定义一组基于集合的筛选条件,可用的条件运算符包括:In、NotIn、Exists和DoesNotExist。注意:job、deployment、replicaset、daemonset不仅仅支持基于等式的匹配,也支持基于集合的匹配。如第三个步骤,创建的deployment,matchlabels用于匹配一组的标签,与直接在selector中的作用相同。原创 2024-01-18 22:30:00 · 816 阅读 · 0 评论 -
八、K8S metrics-server
改名:mv high-availability.yaml metrics-server.yaml。修改kube-apiserver.conf,添加如下内容。查看API-server日志报错如下。是因为缺少认证的证书文件,创建文件。原创 2024-01-16 22:00:00 · 459 阅读 · 1 评论 -
七、HorizontalPodAutoscaler(HPA)
Horizontal Pod Autoscaler,中文就是水平自动伸缩可以基于CPU利用率自动扩缩,Replicationcontroller、Deployment、ReplicaSet、和StatefulSet中的pod 的数量除了CPU利用率、内存占用外,也可以积极与其他应用程序提供的自定义度量指标来执行自动扩缩Pod 自动扩缩不适用于无法扩缩的对象,比如 DaemonSet。Pod 水平自动扩缩特性由 Kubernetes API 资源和控制器实现。资源决定了控制器的行为。原创 2024-01-14 15:00:00 · 1457 阅读 · 1 评论 -
六、K8S-DaemonSet(DS)
DS的主要作用,是在kubernetes集群里,运行一个daemon pod。DS只管理POD 对象,然后通过nodeAffinity和Toleration这两个调度器的小功能,保证每个节点上有且只有一个pod。创建完成之后就可以看到在每个节点上有一个pod。DaemonSet:简称DS,守护进程控制器。原创 2024-01-13 10:45:00 · 508 阅读 · 1 评论 -
五、K8S-StatefulSet(STS有状态服务)
RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是管理所有有状态的服务,比如MySQL、MongoDB集群等。StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。原创 2024-01-12 22:00:00 · 1199 阅读 · 3 评论 -
四、K8S-Deployment(无状态服务)
这就是所谓的金丝雀发布。金丝雀发布采取先发布,再删除的方式,保证pod的总量不低于期望值,并且在更新部分pod 后暂停更新,当确认新pod版本运行正常后,在进行其他版本pod 的更新。kubernetes最小的调度单元是Pod,kubernetes主要的功能就是管理多个Pod,Pod中也可以包含一个或者多个容器,他是通过Deployment和ReplicaSet(rs)来管理Pod的。RollingUpdate:滚动更新,就是杀死一部分,就启动一部分,在更新过程中,存在两个版本的pod。原创 2024-01-10 22:30:00 · 980 阅读 · 0 评论 -
三、POD详解
而设置的存活探针检检测方式为执行 shell 命令,用 cat 命令输出 healthy 文件的内容,如果能成功执行这条命令一次(默认successThreshold:1),存活探针就认为探测成功,由于没有配置(failureThreshold、timeoutSeconds),所以执行(cat /tmp/healthy)并只等待1s,如果1s内执行后返回失败,探测失败。我们在请求创建pod时,天剑不满足,调度没有完成,没有任何一个节点能满足调度条件,已经创建了但是没有适合它运行的节点叫做挂起。原创 2024-01-09 20:30:00 · 1878 阅读 · 0 评论 -
二、kubectl常用命令
【代码】二、kubectl常用命令。原创 2024-01-08 19:30:00 · 414 阅读 · 0 评论 -
一、二进制方式 安装部署K8S
1、集群架构2、资源规划角色IP主机名组件etcdk8s-node-1k8s-node-1kubeletkube-proxydockeretcdk8s-node-2k8s-node-2kubeletkube-proxydockeretcd。原创 2024-01-07 14:03:55 · 1394 阅读 · 1 评论