This commit is contained in:
zhangqx2010
2017-09-30 21:45:14 +08:00
116 changed files with 4002 additions and 1409 deletions
+8 -8
View File
@@ -8,7 +8,7 @@ title: Webhook Mode
---
{% capture overview %}
WebHook 是一 HTTP 回调:某些事情发生时的一个 HTTP POST 请求;通过 HTTP POST 发送的一个简单事件通知。一个继续 web 应用实现的 WebHook 会在特定事件发生时把消息发送给特定的 URL 。
WebHook 是一 HTTP 回调:某些条件下触发的 HTTP POST 请求;通过 HTTP POST 发送的简单事件通知。一个基于 web 应用实现的 WebHook 会在特定事件发生时把消息发送给特定的 URL 。
{% endcapture %}
{% capture body %}
@@ -28,8 +28,8 @@ WebHook 是一个 HTTP 回调:当某些事情发生时的一个 HTTP POST 请
clusters:
- name: name-of-remote-authz-service
cluster:
certificate-authority: /path/to/ca.pem # 用于确认远程服务的CA.
server: https://authz.example.com/authorize # 远程服务的查询 URL. 必须 'https'.
certificate-authority: /path/to/ca.pem # 对远程服务进行身份认证的CA
server: https://authz.example.com/authorize # 远程服务的查询 URL. 必须使用 'https'
# users 代表 API 服务器的 webhook 配置.
users:
@@ -38,7 +38,7 @@ users:
client-certificate: /path/to/cert.pem # webhook plugin 使用的 cert。
client-key: /path/to/key.pem # cert 所对应的 key。
# kubeconfig 文件必须有上下文. 需要提供一个给 API 服务器.
# kubeconfig 文件必须有 context 。 需要提供一个给 API 服务器
current-context: webhook
contexts:
- context:
@@ -52,8 +52,8 @@ contexts:
在做认证决策时,API 服务器会 POST 一个 JSON 序列化的 api.authorization.v1beta1.SubjectAccessReview 对象来描述这个动作。这个对象包含了描述用户请求的字段,同时也包含了需要被访问资源或者请求特征的具体信息。
需要注意的是 webhook API 对象对于 [versioning compatibility rules](/docs/api/) 和其他 Kuberntes API 来说是同一个主题
实施人员应该了解 beta 对象的松耦合承诺,同时确认请求的 "apiVersion" 字段以确保能被正确地反序列化。
需要注意的是 webhook API 对象与其他 Kubernetes API 对象一样都同样都服从 [版本兼容规则](/docs/api/)
实施人员应该了解 beta 对象的更宽松的兼容性承诺,同时确认请求的 "apiVersion" 字段以确保能被正确地反序列化。
此外,API 服务器还必须启用 `authorization.k8s.io/v1beta1` API 扩展组(`--runtime-config=authorization.k8s.io/v1beta1=true`)。
@@ -80,7 +80,7 @@ contexts:
```
远程服务被预期能填写请求和反馈的 SubjectAccessReviewStatus 字段,无论是允许访问还是拒绝访问。
反馈内容的 "spec" 字段是被忽略的,也是可以被省略的。一个允许的反馈的返回值会是
反馈内容的 "spec" 字段是被忽略的,也是可以被省略的。当请求是被允许的时候,返回的响应如下例所示
```json
{
@@ -131,7 +131,7 @@ contexts:
非资源类的路径包括:`/api`, `/apis`, `/metrics`, `/resetMetrics`,
`/logs`, `/debug`, `/healthz`, `/swagger-ui/`, `/swaggerapi/`, `/ui`, and
`/version`。 客户端需要访问 `/api`, `/api/*`, `/apis`, `/apis/*`, 和 `/version` 以便
能发现服务器上有什么资源和版本。对于其他非资源类的路径访问在没有 REST api 访问限制的情况下拒绝。
能发现服务器上有什么资源和版本。对于其他非资源类的路径访问在没有 REST API 访问限制的情况下拒绝。
更多信息可以参考 uthorization.v1beta1 API 对象和