
# 管理内核参数配置
CCE Autopilot是云容器引擎服务推出的Serverless版集群，同物理机系统内核隔离且互不影响。对于资深业务部署场景，内核参数调优是比较通用的方式。在安全范围内，CCE Autopilot服务允许客户根据Kubernetes社区推荐的方案，通过Pod的安全上下文（Security Context）对内核参数进行配置，极大提升用户业务部署的灵活性。如果您对securityContext概念不够熟悉，更多信息可阅读[Security Context](https://kubernetes.io/zh/docs/tasks/configure-pod-container/security-context/)。
在 Linux 中，最通用的内核参数修改方式是通过sysctl接口进行配置。在Kubernetes中，也是通过Pod的sysctl安全上下文（Security Context）对内核参数进行配置，如果您对sysctl概念不够熟悉，可阅读[在 Kubernetes 集群中使用 sysctl](https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/sysctl-cluster/)。安全上下文（Security Context）作用于同一个Pod内的所有容器。
CCE Autopilot服务支持修改的非安全的sysctl参数范围如下：
```
kernel.shm*, 
kernel.msg*,    
kernel.sem, 
fs.mqueue.*, 
net.*
```
![](https://support.huaweicloud.com/usermanual-cce-autopilot/public_sys-resources/notice_3.0-zh-cn.png)
为了避免破坏操作系统的稳定性，请您在了解变更后果之后再修改sysctl参数。
有命名空间的sysctl参数，在未来的Linux内核版本中，可能会发生变化。
由于非安全的sysctl参数其本身具有不稳定性，在使用非安全的 sysctl 参数时可能会导致一些严重问题， 如容器的错误行为，用户需自行承担风险。
以下示例中，使用Pod SecurityContext来对两个sysctl参数kernel.msgmax和net.core.somaxconn进行设置。
```
apiVersion: v1
kind: Pod
metadata:
  name: sysctls-context-example
spec:
  securityContext:
    sysctls:
    - name: kernel.msgmax
      value: "65536"
    - name: net.core.somaxconn
      value: "1024"
  ...
```
进入容器确认配置生效：
```
kubectl exec -it podname -c container-1 -- /bin/sh
```
![](https://support.huaweicloud.com/usermanual-cce-autopilot/zh-cn_image_0000001841159402.png "点击放大")
