2023年6月30日发(作者:)
KubernetesYAML⽂件全字段详解Kubernetes YAML ⽂件全字段详解Deployment yaml其中主要参数都在podTemplate 中,DaemonSet StatefulSet 中的pod部分⼀样。apiVersion: v1kind: Deploymentmetadata: name:
replicas: 2
selector: matchLabels: #管理的有该label 的pod
image: imagePullPolicy: Alway # Alway,IfNotPresent,Never
command: args: workingDir: #指定容器的⼯作⽬录 resources: #容器运⾏的资源申请和限制 requests: #申请 cpu: memory: limits: #最⼤限制 cpu: memory: ports: #容器应⽤运⾏暴露的port - name: containerPort: protocol: env: # 指定容器运⾏的环境变量 - name: value: volumeMounts: # 挂载外部⽂件到容器 - name:
dnsPolicy: ClusterFirst # dns策略 restartPolicy: Always #Always,Never,Failure 重启策略,总是、永不、失败后重启 schedulerName: default-scheduler # 默认调度策略 securityContext: {} #pod上下⽂权限 terminatinoGracePeriodSeconds: 30 # 默认30 ,优雅关闭时间
securityContext Pod 权限控制⾯已授权容器的运⾏为容器添加默认的⼀组能⼒为容器去掉某些能⼒容器能够请求添加某些能⼒控制卷类型的使⽤主机⽹络的使⽤主机端⼝的使⽤主机 PID namespace 的使⽤主机 IPC namespace 的使⽤主机路径的使⽤容器的 SELinux 上下⽂⽤户 ID配置允许的补充组分配拥有 Pod 数据卷的 FSGroup必须使⽤⼀个只读的 root ⽂件系统readOnlyRootFilesystemPod
安全策略 由设置和策略组成,它们能够控制 Pod 访问的安全特征。这些设置分为如下三类:hostPortshostPIDhostIPC字段名称privilegeddefaultAddCapabilitiesrequiredDropCapabilitiesallowedCapabilities基于布尔值控制 :这种类型的字段默认为最严格限制的值。基于被允许的值集合控制 :这种类型的字段会与这组值进⾏对⽐,以确认值被允许。基于策略控制 :设置项通过⼀种策略提供的机制来⽣成该值,这种机制能够确保指定的值落在被允许的这组值中。RunAsUserMustRunAs - 必须配置⼀个
range。使⽤该范围内的第⼀个值作为默认值。验证是否不在配置的该范围内。MustRunAsNonRoot - 要求提交的 Pod 具有⾮零
runAsUser 值,或在镜像中定义了
USER 环境变量。不提供默认值。RunAsAny - 没有提供默认值。允许指定任何
runAsUser 。SELinuxMustRunAs - 如果没有使⽤预分配的值,必须配置
seLinuxOptions。默认使⽤
seLinuxOptions。验证
seLinuxOptions。RunAsAny - 没有提供默认值。允许任意指定的
seLinuxOptions ID。SupplementalGroupsMustRunAs - ⾄少需要指定⼀个范围。默认使⽤第⼀个范围的最⼩值。验证所有范围的值。RunAsAny - 没有提供默认值。允许任意指定的
supplementalGroups ID。FSGroupMustRunAs - ⾄少需要指定⼀个范围。默认使⽤第⼀个范围的最⼩值。验证在第⼀个范围内的第⼀个 ID。RunAsAny - 没有提供默认值。允许任意指定的
fsGroup ID。控制卷通过设置 PSP 卷字段,能够控制具体卷类型的使⽤。当创建⼀个卷的时候,与该字段相关的已定义卷可以允许设置如下值:1. azureFile2. azureDisk3. flocker4. flexVolume5. hostPath6. emptyDir7. gcePersistentDisk8. awsElasticBlockStore9. gitRepo10. secret11. nfs12. iscsi13. glusterfs14. persistentVolumeClaim15. rbd16. cinder17. cephFS18. downwardAPI19. fc20. configMap21. vsphereVolume22. quobyte23. projected24. portworxVolume25. scaleIO26. storageos27. * (allow all volumes)对新的 PSP,推荐允许的卷的最⼩集合包括:configMap、downwardAPI、emptyDir、persistentVolumeClaim、secret 和 projected。主机⽹络HostPorts , 默认为
empty。HostPortRange 列表通过
min(包含) and
max(包含) 来定义,指定了被允许的主机端⼝。允许的主机路径AllowedHostPaths 是⼀个被允许的主机路径前缀的⽩名单。空值表⽰所有的主机路径都可以使⽤。许可包含
PodSecurityPolicy 的
许可控制,允许控制集群资源的创建和修改,基于这些资源在集群范围内被许可的能⼒。许可使⽤如下的⽅式为 Pod 创建最终的安全上下⽂: 1. 检索所有可⽤的 PSP。 1. ⽣成在请求中没有指定的安全上下⽂设置的字段值。 1. 基于可⽤的策略,验证最终的设置。如果某个策略能够匹配上,该 Pod 就被接受。如果请求与 PSP 不匹配,则 Pod 被拒绝。Pod 必须基于 PSP 验证每个字段。services yaml后续补充...endpoints yaml后续补充...ingress yaml后续补充...RBAC yaml后续补充...HPA yaml后续补充...ConfigMap, Secret yaml后续补充...PV、PVC、StorageClass yaml后续补充...
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688056270a72230.html
评论列表(0条)