库贝盾牌烧瓶前端。
kube_shields的Python项目详细描述
#库贝盾
在Kubernetes群集中重定向到shields.io的服务。使用 带有服务帐户令牌和ca.crt注入的kubernetes api /var/run/secrets/kubernetes.io/serviceaccount/在正在运行的容器中。
#配置
##其他防护罩
Kube Shields可以在有公共通道或没有公共通道的情况下运行。这是由 是否设置了other_shields环境变量。您可以启用 通过将此值设置为DNS名称或IP对所有终结点的公共访问 另一个集群中另一个kube屏蔽的地址。如果你只有一个集群 如果希望它具有公共访问权限,请将该值设置为“无”。如果库贝盾 服务器没有设置其他屏蔽env var,它将只进行通信 到其他共享同一密钥的kube-shields服务器。
##屏蔽站点名称
盾形站点名只用于/路径,因此只需要 如果还设置了other_shields变量。它将显示在主屏幕上 HTML作为页面标题,并用于屏蔽的悬停文本。
##内部机密
必须在所有Kube Shield服务器上设置。默认情况是使用 python包本身,这是不安全的。你应该生成一个文件 用作共享机密并将intra_secretenv var更新为 文件路径。如果你的护盾内流量是未加密捕获的,则有可能 给你足够的时间强行破解你的密匙。这可以通过 使用长键和/或定期旋转。
#自动发现
任何与kube shield服务运行在同一集群中的kubernetes pod 也可以通过其他对象(如复制控制器)自动创建 否则将找到守护程序并为其生成运行状况检查。支票 相对简单,只返回准备好的容器数量与总数, 任何不一致的结果都是红色而不是绿色。它也检查 每一个吊舱看它是否每隔一天重新启动一次。如果是的话, 结果是黄色的。
#定制支票
定制支票应该很简单。您可以使用 您要申请支票的POD的名称。在该文件中,创建所有 您需要的helper函数,但一定要在它们前面加上一个.这个 不以下划线开头的函数将用作 那个豆荚。返回格式可以是原始值,也可以返回dict 使用键label、status和color。
注意:不要命名名为健康的自定义检查,它将不可访问。
#API
##/
/仅当设置了其他屏蔽时才可用。/将返回带有 所有集群中所有服务及其检查的列表。没有 在库比盾牌的任何地方缓存,记住这一点。
##/<;pod>;/<;check>;/
端点用于检索特定的pod和check的结果屏蔽。 自动生成的检查在检查名称health下可用。 您的自定义检查在其函数名下可用。
##/a/<;名称>;/<;检查>;/
a端点用于聚合相似命名的pod,只要它们有 检查,进入相同的屏蔽结果。名称部分是 吊舱名称。例如,端点/a/foo/health/可用于组合 将podsfoo bar、foo baz和foo的输出转换为一个屏蔽。
##/服务/
通常只与内部屏蔽通信一起使用,返回所有 去离子范围服务。如果其他屏蔽 未设置。
##/services/<;name>;/
通常也只在盾内通信中使用,它返回一个json 可用于命名服务或404的所有检查的列表。