当前位置:首页 >> 中医美容 >> 使用 Kubecost 和 Kyverno 对云原生工作负载进行成本集中管理

使用 Kubecost 和 Kyverno 对云原生工作负载进行成本集中管理

发布时间:2023-03-05

接收者适用Kubecost REST API 磁盘在Config Map。我们将在下面详细简述这些接口。

首先,在各自的 namespace 当中侦察Kubecost和Kyverno。

出于演示的目的,我们将有一个名为 Nginx 的demo namespace 行驶 Nginx Web 免费器的副本。

Kubecost也可以适用Nirmata侦察为除此以外接口 DevSecOps应用于软件(在这种情况下, Kubecost适用OpenEBS-hostpath磁盘类同步进采取行动态卷创设)。该链接包含在参考资料部分当中。

六、Demo接口

所有特别文件都存放在Nirmata git repo。

1.收集开发人员 – kubecost-collector.py

a. 作为 Kubernetes cron作业在后台行驶的 Python 开发人员从 Nginx namespace 的Kubecost REST API Endpoint收集生产成本接收者。>/model/allocation

b. 不定期新增configmap namespace-cost configmap当中存在的生产成本接收者

2.ConfigMap

a. Kyverno namespace 当中的ConfigMap ,其当中包含 Nginx namespace 的生产成本接收者

3.Kyverno Policy

a. Kyverno手段监控磁盘在 namespace-configmap 当中的数据库以明白生产成本数值的变化

b. 如果 Nginx namespace 的总生产成本高于阻抗,则创设报告收场。

上述接口可以从参考资料部分的Github页面浏览。

七、Demo 指导系统所设计

1.创设一个 Nginx namespace 并侦察 Nginx replicas。

副本

kubectl create namespace nginx

Kubectl create deploy nginx -—image = nginx -—replicas=10

我们假设Kyverno在 Kyverno namespace 当中行驶,并且Kubecost浏览器界面已触发并行驶以向我们提供生产成本接收者。

2.适用cm.yaml在 namespace Kyverno当中创设

副本

configmap namespace-cost

kubectl create -f cm.yaml -n kyverno

3.创设新增namespace-cost当中的ConfigMap所需的RBAC 人力资源( ServiceAccount 、 ClusterRole 、 ClusterRoleBindings ) 。

副本

kubectl create -f rbac.yaml

4.将采集开发人员 kubecost-collector.py 副本到 Kubernetes 战斗群。

A. 将kubecost-collector放入文件夹后,适用Dockerfile构建Docker镜像。确保适用***kubecost*** cost-analyzer REST API Endpoint 新增开发人员。

副本

mkdir

cp Dockerfile

cp kubecost-collector.py

docker build -t kubecost-collector

一旦上述命令完毕了kubecost -collector镜像是否存在的解析。

副本

dockerimages kubecost-collector

REPOSITORY TAG IMAGE ID CREATED SIZE

kubecost-collector latest 47a05cdc11bf 16 minutes ago 205MB

B. kubecost -collector作为 Kubernetes cron job行驶kubectl create -f cron.yaml

解析在消除办法 2 当中创设的 cm 的生产成本现今已新增为非零数值,因为kubecost -collector准备从kubecost REST API Endpoint利用可实现数值。

副本

-collector准备从kubecost REST API Endpoint利用可实现数值。

Data

====

nginx

----

0.481581

BinaryData

====

5.创设Kyverno战斗群手段

副本

namespace-cost

kubectl apply -f policy.yaml

在应用于先前在手段当中所设合适的生产成本阻抗。由于指导增益是最近的,它早先可能不具非常低的生产成本。

6.解析namespace-cost手段是否始终保持 READY 状态。

副本

kubectl get cpol

NAME BACKGROUND ACTION READY

namespace-cost true audit true

该手段某种程度立即通过,因为新创设的Nginx namespace 的行驶生产成本将低于加倍的阻抗。

副本

kubectlget cpolr

NAME PASS FAIL WARN ERROR SKIP AGE

clusterpolicyreport 1 0 0 0 20 3m8s

7.将Nginx replicas更高到更高的数值,使总生产成本数值高于policy.yaml当中加倍的阻抗。

或者,您也可以在Nginx namespace 而不是nginx Web 免费器副本当中行驶 CPU/内存密集型指导增益。

8.随着 namespace Nginx的生产成本变高,手段将收场。适用kubectl检查手段报告以利用polr 。可以适用Nirmata Policy Reports UI 同步进行解析。

副本

kubectlget cpolr

NAME PASS FAIL WARN ERROR SKIP AGE

clusterpolicyreport 0 1 0 0 20 5m8s

以上故障可以通过描述发送给详细接收者。

副本

kubectl describe cpolr clusterpolicyreport | grep "Result: +fail" -B10

Timestamp:

Nanos: 0

Seconds: 1644935662

Message: The namespace running cost not within defined threshold

Policy: namespace-cost

Resources:

API Version: v1

Kind: Namespace

Name: nginx

UID: f1d06aa0-6fdf-44ab-a935-c5b8cf903e2e

Result: fail=

八、总结

当 namespace 少于生产成本阻抗时,浏览器可以向各个设计团队发出远程控制,并基于特定事件对其规避采取行动。Kyverno提供并不相同的游戏规则(Mutate, Validate, Generate)来对浏览器定义的现有和新指导增益规避采取行动,甚至基于手段当中定义的前提条件(Generate)创设新人力资源。

原文链接:

原文简述

王志军(besterjun),51CTO社区编辑,国内某名曰厂商消除办法开发者,占有10多年指导方面,经常性从事消除办法核心所设计、凝免费、密封、网络运维等特别指导。全心投入于名曰原生、凝免费、密封等技术领域。占有丰富的多名曰分离名曰核心规划、所设计和落地方面,已希望多家企业急于上名曰。

沈阳哪个医院做人流好
济南妇科医院哪家看的好
南京看白癜风哪间医院好
天津看妇科去哪家医院
南京看白癜风哪家比较好
标签:
友情链接: