在openshift 4.4.17集群中有无法解释的行为:openshift部署(在openshift-身份验证名称空间中)具有replicas=2,第一个pod运行时:
openshift.io/scc: anyuid第二个吊舱进入CrashLoopBackOff状态,分配给它的scc如下所示:
openshift.io/scc: nginx-ingress-scc (that is a customized scc for nginx purposes)按文件分列:
默认情况下,openshift-身份验证和openshift身份验证-运算符命名空间中的pods运行在anyuid中。
我想集群中有些地方发生了变化,但我不知道错误在哪里。
Oauth-penshift部署处于默认配置中:
serviceAccountName: oauth-openshift
namespace: openshift-authentication
$ oc get scc anyuid -o yaml
users:
system:serviceaccount:default:oauth-openshift
system:serviceaccount:openshift-authentication:oauth-openshift
system:serviceaccount:openshift-authentication:default
$ oc get pod -n openshift-authentication
NAME READY STATUS RESTARTS AGE
oauth-openshift-59f498986d-lmxdv 0/1 CrashLoopBackOff 158 13h
oauth-openshift-d4968bd74-ll7mn 1/1 Running 0 23d
$ oc logs oauth-openshift-59f498986d-lmxdv -n openshift-authentication
Copying system trust bundle
cp: cannot remove '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem': Permission denied
$ oc get pod oauth-openshift-59f498986d-lmxdv -n openshift-authentication -o=yaml|grep serviceAccount
serviceAccount: oauth-openshift
serviceAccountName: oauth-openshift
$ oc get pod oauth-openshift-59f498986d-lmxdv -n openshift-authentication -o=yaml|grep scc
openshift.io/scc: nginx-ingress-sccAuth操作员:
$ oc get pod -n openshift-authentication-operator
NAME READY STATUS RESTARTS AGE
authentication-operator-5498b9ddcb-rs9v8 1/1 Running 0 33d
$ oc get pod authentication-operator-5498b9ddcb-rs9v8 -n openshift-authentication-operator -o=yaml|grep scc
openshift.io/scc: anyuid
The managementState is set to Managed发布于 2020-12-28 15:25:37
首先,您应该检查SCC优先级是否是自定义的。例如,anyuid scc的优先级是10,默认情况下它是最高的。但是,如果其他SCC (在这种情况下,nginx-ingress-scc)配置的优先级超过10,那么SCC就会意外地被oauth所选择。这可能会引起这个问题。
发布于 2020-12-28 15:21:05
问题是定制scc (nginx-ingress scc)的优先级高于10,即任意者的优先级。现在解决了。
https://stackoverflow.com/questions/65475081
复制相似问题