在 Kubernetes 中将 ConfigMap 作为卷挂载:如何计算 defaultMode 的值?

Jes*_*sta 7 kubernetes

在部署元素内的Kubernetes字段中定义defaultMode可能会变得非常棘手。

它需要三位小数,对应于二进制 UNIX 权限。

例如,要使用权限 r------ 挂载 ConfigMap,您需要指定 256。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: foo
  namespace: foo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: foo
  template:
    metadata:
      labels:
        app: foo
    spec:
      containers:
        - image: php-fpm:latest
          volumeMounts:
            - name: phpini
              mountPath: /usr/local/etc/php/conf.d/99-settings.ini
              readOnly: true
              subPath: 99-settings.ini
      volumes:
        - configMap:
            defaultMode: 256
            name: phpini-configmap
            optional: false
          name: phpini
---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: foo
  namespace: foo
  name: phpini-configmap
data:
  99-settings.ini: |
    ; Enable Zend OPcache extension module
    zend_extension = opcache
Run Code Online (Sandbox Code Playgroud)

Jes*_*sta 15

使用下表:

UNIX 八进制 UNIX可读 二进制等价物 默认模式
400 r-------- 100000000 256
第440章 r--r----- 100100000 288
第444章 r--r--r-- 100100100 第292章
600 读写----- 110000000 第384章
600 rw-r----- 110100000 第416章
660 RW-RW---- 110110000 第432章
660 RW-RW-R-- 110110100 第436章
第666章 RW-RW-RW- 110110110 第438章
700 读写x----- 111000000 第448章
第770章 rwxrwx--- 111111000 504
第777章 RWXRWXRWX 111111111 511

一种更直接的方法是使用像这样的base8 到 base10 转换器