视频来源:B站《2021年末倾力打造Kubernetes入门至精通2022年幸福的开胃菜》 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:Kubernetes基础自学系列汇总COCOgsta的博客CSDN博客 Operator是何物 KubernetesOperator是一种封装、部署和管理Kubernetes应用的方法。我们使用KubernetesAPI(应用编程接口)和kubectl工具在Kubernetes上部署并管理Kubernetes应用相关地址信息 Prometheusgithub地址:https:github。comcoreoskubeprometheus 组件说明MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据NodeExporter:用于各node的关键度量指标状态数据KubeStateMetrics:收集kubernetes集群内资源对象数据,制定告警规则Prometheus:采用pull方式收集apiserver,scheduler,controllermanager,kubelet组件数据,通过http协议传输Grafana:是可视化数据统计和监控平台构建记录gitclonehttps:github。comcoreoskubeprometheus。gitcdrootkubeprometheusmanifests 修改grafanaservice。yaml文件,使用nodepode方式访问grafana:vimgrafanaservice。yamlapiVersion:v1kind:Servicemetadata:name:grafananamespace:monitoringspec:type:NodePort添加内容ports:name:httpport:3000targetPort:httpnodePort:30100添加内容selector:app:grafana 修改prometheusservice。yaml,改为nodepodevimprometheusservice。yamlapiVersion:v1kind:Servicemetadata:labels:prometheus:k8sname:prometheusk8snamespace:monitoringspec:type:NodePortports:name:webport:9090targetPort:webnodePort:30200selector:app:prometheusprometheus:k8s 修改alertmanagerservice。yaml,改为nodepodevimalertmanagerservice。yamlapiVersion:v1kind:Servicemetadata:labels:alertmanager:mainname:alertmanagermainnamespace:monitoringspec:type:NodePortports:name:webport:9093targetPort:webnodePort:30300selector:alertmanager:mainapp:alertmanagerHorizontalPodAutoscaling HPA可以根据CPU利用率自动伸缩RC、Deployment、RS中的Pod数量kubectlrunphpapacheimagewangyanglinuxhpa:latestrequestscpu200mexposeport80 创建HPA控制器kubectlautoscaledeploymentphpapachecpupercent50min2max10 增加负载,查看负载节点数目dowgetqOhttp:phpapache。default。svc。cluster。done资源限制Pod Kubernetes对资源的限制实际上是通过CGROUP来控制的,CGROUP是容器的一组用来控制内核如果运行进程的相关属性集合。针对内存、CPU、和各种设备都有对应的CGROUP 默认情况下,Pod运行没有CPU和内存的限额。这意味着系统中任何Pod将能够执行该节点所有的运算资源,消耗足够多的CPU和内存。一般会针对某些应用的Pod资源进行资源限制,这个资源限制是通过resources的requests和limits来实现spec:containers:image:wangyanglinuxmyapp:v1name:authresources:limits:cpu:4memory:2Girequests:cpu:250mmemory:250Mi requests要分配的资源,limits为最高请求的资源,可以理解为初始值和最大值资源限制名称空间 一、计算资源配额apiVersion:v1kind:ResourceQuotametadata:name:computeresourcesnamespace:sparkclusterspec:hard:requests。cpu:20requests。memory:100Gilimits。cpu:40limits。memory:200Gi 二、配置对象数量配额限制apiVersion:v1kind:ResourceQuotametadata:name:objectcountsnamespace:sparkclusterspec:hard:pods:20configmaps:10persistentvolumeclaims:4replicationcontrollers:20secrets:10services:10services。loadbalancers:2 三、配置CPU和内存limitrangeapiVersion:v1kind:LimitRangemetadata:name:memlimitrangenamespace:examplespec:limits:default:默认限制值memory:512Micpu:2defaultRequest:默认请求值memory:256Micpu:0。5max:最大的资源限制memory:800Micpu:3min:最小限制memory:100Micpu:0。3maxLimitRequestRatio:超售值memory:2cpu:2type:ContainerContainerPodPersistentVolumeClaim