Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.7.2.2. 创建 Admission Webhook

首先部署外部 webhook 服务器,并确保它正常工作。否则,根据 webhook 是否被配置为 fail openfail closed,否则操作将会被无条件接受或拒绝。

  1. 在 YAML 文件中配置一个 mutatingvalidating 准入 Webhook 对象。
  2. 运行以下命令来创建对象:

    $ oc create -f <file-name>.yaml

    创建准入 webhook 对象后,OpenShift Container Platform 需要几秒钟才能遵守新配置。

  3. 为准入 Webhook 创建前端服务:

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        role: webhook 1
      name: <name>
    spec:
      selector:
       role: webhook 2
    1 2
    触发 Webhook 的任意格式的标签。
  4. 运行以下命令来创建对象:

    $ oc create -f <file-name>.yaml
  5. 将准入 webhook 名称添加到您要由 Webhook 控制的 pod:

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        role: webhook 1
      name: <name>
    spec:
      containers:
        - name: <name>
          image: myrepo/myimage:latest
          imagePullPolicy: <policy>
          ports:
           - containerPort: 8000
    1
    触发 Webhook 的标签。
注意

有关如何为库构建您自己的安全且可移植的 webhook 准入服务器和通用的-admission- apiserver 的示例,请参阅 kubernetes-namespace- reservation 项目