💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ### **Pod的SecurityContext** Pod的SecurityContext主要有如下字段可以设置(v1.19) ``` apiVersion: v1 kind: Pod metadata: name: nginx spec: securityContext: fsGroup: integer fsGroupChangePolicy: string runAsGroup: integer runAsNonRoot: boolean runAsUser: integer seLinuxOptions: seLinuxOptions seccompProfile: seccompProfile supplementalGroups: integer array sysctls: sysctl array windowsOptions: WindowsSecurityContextOptions ... ``` Container的SecurityContext比Pod的多了五个字段:allowPrivilegeEscalation、capabilities、privileged、procMount、readOnlyRootFilesystem ``` apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx securityContext: fsGroup: integer fsGroupChangePolicy: string runAsGroup: integer runAsNonRoot: boolean runAsUser: integer seLinuxOptions: seLinuxOptions seccompProfile: seccompProfile supplementalGroups: integer array sysctls: sysctl array windowsOptions: WindowsSecurityContextOptions allowPrivilegeEscalation: boolean capabilities: Capabilities privileged: boolean procMount: string readOnlyRootFilesystem: boolean ... ``` ### **设置Seccomp** 给Pod设置Seccomp的方法只有一种 1、就是在每个Pod或Container的SecurityContext字段进行配置 如下是一个示例: ``` apiVersion: v1 kind: Pod metadata: name: nginx spec: securityContext: seccompProfile: type: LocalHost # Unconfined, RuntimeDefault localhostProfile: profile/default.json ``` seccompProfile的type有三个值可选 * LocalHost:表示使用容器所在节点(主机)上的配置文件,localhostProfile字段表示文件在节点上的相对路径,可以通过kubelet的参数`--seccomp-profile-root`设置根路径(默认为`/var/lib/kubelet/seccomp`),那么上面的文件的绝对路径就是`/var/lib/kubelet/seccomp/profile/default.json` * Unconfined:允许所有的系统调用,不做任何限制 * RuntimeDefault:使用容器运行时的默认配置。参考[docker的默认配置文件](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json) ### **设置Capabilities** Capabilities可以在两处进行配置: 1、在Pod或Container的SecurityContext中进行配置 2、在PSP中进行配置。在PSP中也有一个字段defaultAddCapabilities,可以给符合要求的Pod添加Capabilities ### 设置Selinux ### 设置AppArmor