
共享内核的“副作用”:用ebpf解析Docker与K8s中的时间管理机制
背景 最近要上线一个应用,需要修改时间相关的配置 照常打包上线后,在容器内使用date -s 2077-08-02修改时间 发现宿主机的TLS握手失败,宿主机的时间也被修改了 这个时候才想起容器是共享宿主机内核的,并且是共享同一个内核时钟的 我们起个Debian容器实验下(需要开privileged模式) 1 docker run -d --name debian debian:12-slim --priviliage sleep infinity k8s的Pod也是类似的,不过我们这里为了方便就用Docker了 1 2 3 4 5 6 7 8 9 10 11 12 13 apiVersion: v1 kind: Pod metadata: name: debian-privileged-pod spec: containers: - name: debian-container image: debian:12-slim securityContext: # 设置为 true,等同于 Docker 的 --privileged 标志 privileged: true command: ["sleep"] args: ["infinity"] ...



