检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
命令检查是一种强大的检查方式,该方式要求用户指定一个容器内的可执行命令,集群会周期性地在容器内执行该命令,如果命令的返回结果是0则检查成功,否则检查失败。 对于上面提到的TCP端口检查和HTTP请求检查,都可以通过执行命令检查的方式来替代: 对于TCP端口探测,可以使用程序对容器的端口尝试
生效资源类型:Pod 参数: repos:字符串数组 作用 容器镜像必须以指定字符串列表中的字符串开头。 策略实例示例 以下策略实例定义容器镜像必须以“openpolicyagent/”开头。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind:
exemptImages:字符串数组 作用 约束PodSecurityPolicy中的“readOnlyRootFilesystem”字段。 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1
allowedGroups:数组 allowedUsers:数组 作用 拒绝白名单外的资源更新ServiceAccount。 策略实例示例 以下策略实例展示了策略定义生效的资源类型,pararmeters中定义了允许的组列表allowedGroups和允许的用户列表allowedUsers。 # IMPORTANT:
"ingress-nginx-private" - "ingress-nginx-public" 符合策略实例的资源定义 Servie类型非LoadBalancer,符合策略实例。 apiVersion: v1 kind: Service metadata: name: my-service-allowed
match: kinds: - apiGroups: [""] kinds: ["Pod"] excludedNamespaces: ["kube-system"] 符合策略实例的资源定义 Pod的automountServiceAccount
match: kinds: - apiGroups: [""] kinds: ["Pod"] 符合策略实例的资源定义 示例中allowPrivilegeEscalation的值为false,符合策略实例。 apiVersion: v1 kind: Pod
参数: exemptImages:字符串数组 作用 禁止PodSecurityPolicy中的“privileged”字段为true。 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind:
volumes:数组 作用 约束PodSecurityPolicy中的“volumes”字段类型。 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters的volumes字段定义了允许的类型列表。 apiVersion: constraints.gatekeeper
生效资源类型:Service 参数: allowedIPs:字符串数组 作用 限制服务externalIP仅为允许的IP地址列表。 策略实例示例 服务的externalIP仅允许allowedIPs中定义的IP。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind:
- apiGroups: ["extensions", "networking.k8s.io"] kinds: ["Ingress"] 符合策略实例的资源定义 ingress配置的hostname不是空白或通配符类型,符合策略实例。 apiVersion:
作用 约束PodSecurityPolicy中的“allowedProcMountTypes”字段。 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中指定了procMount的值为Default。 apiVersion: constraints.gatekeeper
- apiGroups: ["rbac.authorization.k8s.io"] kinds: ["ClusterRole"] 符合策略实例的资源定义 示例中ClusterRole的生效对象中没有endpoints,符合策略实例。 apiVersion:
exemptImages:字符串数组 作用 约束容器镜像tag。 策略实例示例 以下策略实例展示了策略定义生效的资源类型,pararmeters中表示不允许容器镜像tag为latest。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sDisallowedTags
cpu: "100m" memory: "1Gi" 不符合策略实例的资源定义 没有配置内存的Limit,CPU和内存的Request,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-disallowed
match: kinds: - apiGroups: [""] kinds: ["Service"] 符合策略实例的资源定义 Servie类型非Nodeport,符合策略实例。 apiVersion: v1 kind: Service metadata:
字符串 作用 约束PodSecurityPolicy中的“hostPath”字段的参数。 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中的allowedHostPaths指定了字段的值。 apiVersion: constraints.gatekeeper
image: nginx 不符合策略实例的资源定义 示例中的container.seccomp.security.alpha.kubernetes.io/nginx注解的value没在设定的值列表中,不符合策略定义。 apiVersion: v1 kind: Pod metadata:
推荐级别:L3 生效资源类型:Pod 参数:无 作用 限制PodSecurityPolicy中的“hostPID”和“hostIPC”字段。 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1
(Forbidden)怎么办? 问题描述 在使用集群联邦的过程中,执行kubectl命令,出现如下所示的报错信息。 可能原因 可能是由于集群联邦内成员集群的资源对象ClusterRole或者ClusterRoleBinding被删除。集群联邦内若有一个及以上的成员集群出现上述情况,就会导致kubectl命令请求中断并返回该错误。