我使用的是OKD4,我正在尝试使用ConfigMap将/etc/php.ini挂载到我的荚中。为此,我将在我的项目中创建以下K8S对象。
Configmap (以前创建为部署):
- apiVersion: v1
kind: ConfigMap
data:
php.ini: |-
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
metadata:
name: php-ini部署对象:
- kind: Deployment
apiVersion: apps/v1
metadata:
name: privatebin
labels:
app: privatebin
spec:
replicas: 1
selector:
matchLabels:
app: privatebin
template:
metadata:
creationTimestamp: null
labels:
app: privatebin
deploymentconfig: privatebin
spec:
containers:
- name: privatebin
image: <my container registry>/privatebin:${IMAGE_TAG}
volumeMounts:
- name: config-volume
mountPath: php.ini
livenessProbe:
exec:
command:
- /bin/sh
- -c
- "[ -f /run/nginx.pid ] && ps -C nginx >/dev/null 2>&1 && ps -C php-fpm >/dev/null 2>&1"
initialDelaySeconds: 10
periodSeconds: 5
readinessProbe:
httpGet:
scheme: HTTP
path: /
port: 8080
initialDelaySeconds: 10
periodSeconds: 5
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: "250m" # parameterize in tekton pipeline
memory: "368Mi" # parameterize in tekton pipeline, maybe using template
requests:
cpu: "100m" # parameterize in tekton pipeline, maybe using template
memory: "256Mi" # parameterize in tekton pipeline, maybe using template
securityContext:
runAsUser: 1000
fsGroup: 1000
fsGroupChangePolicy: "OnRootMismatch"
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- name: config-volume
configMap:
name: php-ini
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%由于某些原因,我的吊舱不见了,有以下错误:
ReplicaSet也用类似的错误超时:状态:条件:
为什么我不能挂载ConfigMap?是因为部署中的安全上下文吗?
提前谢谢你,
发布于 2021-10-09 14:50:50
(该错误与configmap无关,但当您解决了错误时,可能需要稍微调整configmap,以便将文件准确地放到要让它降落的目录中。)
OKD是OpenShift,所以它使用SCC (而不是PSP)。
默认情况下,您可以访问名称空间中的“受限”SCC。在错误中抛出的UID来自名称空间注释(oc get名称空间FOO -o yaml)将显示它们。
修复:
发布于 2021-10-08 13:36:16
您的集群安装了一个拒绝您的规范的pod安全策略。您可以使用kubectl get psp获取psp,然后使用kubectl describe psp <name>检查设置。看看volumes和runAsUser的设置。
https://stackoverflow.com/questions/69496550
复制相似问题