![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s单节master点
文章平均质量分 67
weixin_45396500
这个作者很懒,什么都没留下…
展开
-
[单master节点k8s部署]20.监控系统构建(五)Alertmanager
prometheus将监控到的异常事件发送给Alertmanager,然后Alertmanager将报警信息发送到邮箱等设备。可以从下图看出,push alerts是由Prometheus发起的。原创 2024-07-06 21:04:40 · 674 阅读 · 0 评论 -
[单master节点k8s部署]19.监控系统构建(四)kube-state-metrics
是一个Kubernetes的附加组件,它通过监听 Kubernetes API 服务器来收集和生成关于 Kubernetes 对象(如部署、节点和Pod等)的状态的指标。这些指标可供 Prometheus 进行抓取和存储,从而使你能够监控和分析Kubernetes集群的状态和性能。之前介绍过node-exporter和cAdvisor,但是他们收集的指标和kube-state-metrics是不同的。原创 2024-07-05 21:01:58 · 454 阅读 · 0 评论 -
[单master节点k8s部署]18.监控系统构建(三)Grafana安装
Grafana是一个跨平台的开源的度量分析和可视化工具。支持多种数据源,比如OpenTSDB,Prometheus,ElasticResearch,Cloudwatch等。原创 2024-07-05 19:33:42 · 433 阅读 · 0 评论 -
[单master节点k8s部署]17.监控系统构建(二)Prometheus安装
cAdvisor是用来获取容器内部信息的job,pormetheus通过上面job的服务发现,得到了所有node的cluster IP,但是这里Prometheus想通过kubernetes 的api代理来进行aAdvisor的访问,因为Prometheus是安装在pod里面,以pod的形式去运行的,因此需要创建sa,并对他做rbac授权。这些命令是容器启动时执行的,其中第一行Prometheus并不是一个命令,而是一个可执行文件的名称,首先检查这个文件是否存在在镜像中,然后执行的过程中传递参数。原创 2024-07-04 13:51:39 · 722 阅读 · 0 评论 -
[单master节点k8s部署]16.监控系统构建(一)Prometheus介绍
下图为Prometheus的结构,可以看到retrieval用来收集数据,要么是从例如sql、nginx等有自己exporter的服务里面收集,要么是从一些动态创建的jobs里面收集,这些生命周期较短的job会把自己的数据推送到pushgateway,然后统一由retrieval收集。gauge: 是一个可以增加也可以减小的类型,常用于度量当前的数值,如当前内存使用量、正在处理的任务数量或温度。Promthues 的性能瓶颈主要在于大量的采集任务,因此用户需要利用 Prometheus 联邦集群的特性,原创 2024-07-03 12:49:00 · 658 阅读 · 0 评论 -
[单master节点k8s部署]15.安全机制
用户访问集群需要认证、授权、准入三个步骤。apiserver是整个集群访问控制的唯一入口。原创 2024-07-02 20:01:44 · 927 阅读 · 0 评论 -
[单master节点部署]14.deamonSet和配置管理中心
k8s通过configMap实现了配置和镜像的分离,从而减少镜像的大小,增强镜像的可移植性和可复制性,而且方便配置的管理。现在修改mysql这个configMap的值,分别看看在mysql-config-envfrom和mysql-config-volume两个pod里面的值的更新状况。可以看到通过env字段中的configMapkeyRef字段,就可以把configmap中的值挂载到pod的环境变量中。configmap用于保存非机密性的配置,从而让相同的镜像可以部署在不同的运行环境中。原创 2024-07-01 12:32:27 · 274 阅读 · 0 评论 -
[单master节点k8s部署]13.statefulSet
statefulSet 为每一个pod提供一个稳定的、唯一的网络标识符,每个 Pod 通过 PersistentVolumeClaim (PVC) 获得自己的存储。即使 Pod 被重新调度到另一个节点,这个 PVC 也会被重新挂载到正确的 Pod 上,保证存储的稳定性。statefulset创建的pod是有序的,比如statefulset叫web,那么创建的两个pods叫做web_0 web_1. web_0删掉以后,新创建的还叫web_0。直接解析web_0的名称,也可以直接解析到pod地址。原创 2024-06-30 20:47:19 · 162 阅读 · 0 评论 -
[单master节点k8s部署]12.持久化存储
持久化存储需要定义pod的volume,在容器中使用volumemouts挂载存储。原创 2024-06-27 21:55:36 · 425 阅读 · 0 评论 -
[单master节点k8s部署]11.服务service
查看svc的端口,发现由于这个服务是nodePort类型的,所以80端口映射到外部的30721端口。写一个service的yaml文件,用来管理之前deployment创建的pod。发现这个service的endpoint对应着deployment创建的pod。原创 2024-06-26 12:42:43 · 248 阅读 · 0 评论 -
[单master节点k8s部署]10.deployment和pod扩缩容
在 Kubernetes 中,ReplicaSet是一个控制器资源,不是一个实际运行的 Pod 或容器。ReplicaSet控制器是 Kubernetes 控制平面的一部分,运行在 Kubernetes 主节点(Master 节点)上。它负责确保指定数量的 Pod 副本始终运行在集群中,并根据定义的规格(如标签选择器、模板等)管理这些 Pod。原创 2024-06-25 23:46:50 · 864 阅读 · 0 评论 -
[单master节点k8s部署]6.命名空间
随后在该namespace下创建多个pod,发现如果超出namespace限制,pod会创建失败。运行该pod后,发现是pending状态,因为目前没有找到符合yaml文件中设定的node。但是上面通过指定node名称来选择,比较单一,可以通过设置nodeselector字段。可以通过限制命名空间资源的方式来限制物理机的资源不被耗尽。通过指定node,可以将pod创建在特定的node上。随后重新创建pod,发现被调度到node1上。查看resourceQuota文件。查看哪些资源属于命名空间级别。原创 2024-06-23 16:07:16 · 164 阅读 · 0 评论 -
[单master节点k8s部署]4.集群扩容、calico配置
在 Kubernetes 集群中,Master 节点通常不用于运行用户容器或 Pod,因此即使 Master 节点上没有加载相应的镜像也不会影响容器的调度和运行,只要工作节点上有即可。在master节点上创建pod后,进入pod,在里面ping www.baidu.com,发现可以通信,说明网络是好的。将配置文件上传到master节点,见附件,然后apply calico的配置,随后查看节点状态,发现pod都正常运行。在两个node节点上安装镜像,在master节点上启动。三个节点也都运行正常。原创 2024-06-15 22:49:08 · 179 阅读 · 0 评论 -
[单master节点k8s部署]9.replicaset控制器
在写yaml文件的时候,如果kind:Pod, 那么删除运行的pod后,这个pod服务就会消失,这是自主的pod,而如果创建pod控制器,可以在删除pod后自主恢复。原创 2024-06-25 20:31:18 · 108 阅读 · 0 评论 -
[单master节点k8s部署]8.pod健康探测
k8s默认的健康检查机制是,每个容器都有一个监控进程,如果进程退出时返回码非零,则认为容器发生故障。原创 2024-06-25 12:32:24 · 706 阅读 · 0 评论 -
[单master节点k8s部署]7.pod亲和性/反亲和性
如果设置了反亲和性,那么有的时候因为一些其他默认规则的存在,pod就会面临无法调度到任何节点的困境,变成挂起状态,此时可以使用tolerations字段。常见的污点节点有:负载较高的节点,用于特殊用途的节点和维护节点等,比如不同的污点节点有不同的等级和value。其中的topologyKey的作用是通过查看这一标签判断两个node是否相同,如判断亲和性的时候,查看kubernetes.io/hostname标签,就会发现一个是node1,一个是node2。设置node亲和性的yaml文件。原创 2024-06-23 22:44:16 · 210 阅读 · 0 评论 -
[单master节点k8s部署]5.pod实验
如果在yaml文件的kind字段定义是一个pod资源,那么删除该pod后,是无法自恢复的,这对于弹性伸缩的云环境显然是不合适的,因此可以通过控制器来创建pod。在master上通过该yaml文件创建pod,其中涉及的tomcat镜像解压到node1上。此时会创建两个pod,而如果不小心删除一个,系统会创建一个新的pod,使得pod总数还是2。通过亲和性设置可以让pod默认创建在node1上,如果不行再选择其他节点。然后删除旧的pod,重新创建tomcat-test这个pod,运行成功。原创 2024-06-16 20:29:24 · 308 阅读 · 0 评论 -
[单master节点k8s部署]3.kubeadm下载以及集群启动
可以看到current-context 当前上下文是kubernetes-admin@kubernetes,而他在管理集群kubernetes,查看name 为kubernetes的集群,即为100.64.252.90的集群。可以看到coredns是pending状态,这是因为目前没有安装calico,没有办法为dns服务器分配ip,而其余的pod都是正常运行的,因为他们都是使用当前master的ip地址。得到执行成功的提示,如下,其中提示的如何使用cluster的三行命令要记录下来。原创 2024-06-15 21:07:35 · 264 阅读 · 0 评论 -
[单master节点k8s部署]2.配置源、ipvs、时间同步、docker等
IPVS 主要用于高性能的网络负载均衡。在 Kubernetes 中,IPVS 可以作为 kube-proxy 的一种模式被用来处理服务 (Services) 的流量分发。这种模式相比传统的 iptables 模式可以提供更好的性能。然后给这个脚本755权限,并查看是否加载了需要的ipvs模块。使用一个脚本来加载所有需要的ipvs模块。下载安装iptables,但先禁用。把时间同步做成定期计划任务。配置docker镜像源。原创 2024-06-15 14:56:14 · 134 阅读 · 0 评论 -
[单master节点k8s部署]1.centos配置
一个重装的centos配置k8s。原创 2024-06-15 12:56:02 · 207 阅读 · 0 评论