Kubernetes에서 sysctl 사용 본문
반응형
컨테이너 내에서 sysctl 값을 설정하는 것은 컨테이너의 네임스페이스에 영향을 미치는 커널 파라미터를 변경하는 것입니다.
안전한 sysctl은 컨테이너의 네임스페이스에 독립적으로 설정할 수 있지만, 안전하지 않은 sysctl은 노드 전체에 영향을 줄 수 있으므로 클러스터 관리자 권한으로 설정해야 합니다.
자세한 설명:
- sysctl : 리눅스 커널의 파라미터를 런타임에 수정할 수 있는 인터페이스입니다.
- 컨테이너 네임스페이스 : 컨테이너를 호스트 시스템과 격리시키는 역할을 하며, 각 컨테이너는 자체적인 네임스페이스를 갖습니다.
- 안전한 sysctl : 컨테이너 네임스페이스에 한정되어 적용되며, 기본적으로 활성화되어 있습니다.
- 안전하지 않은 sysctl : 노드 전체에 영향을 미칠 수 있으며, 기본적으로 비활성화되어 있습니다.
- 안전하지 않은 sysctl 설정 : 안전하지 않은 sysctl 값을 설정하려면 클러스터 관리자 권한으로 노드에 직접 설정하거나, 권한 있는 컨테이너(예: initContainer)를 사용하여 설정할 수 있습니다.
컨테이너에서 sysctl 값 설정 방법:
- 안전한 sysctl 설정:
- Pod YAML 파일에서 securityContext 설정을 추가하고, sysctl 필드를 사용하여 설정할 sysctl 값을 지정합니다.
- 예시 코드:
securityContext:
sysctls:
- name: "net.ipv4.tcp_tw_reuse"
value: "1"
- 안전하지 않은 sysctl 설정: ◦
- 클러스터 관리자 권한으로 노드에 직접 설정하거나, 권한 있는 컨테이너를 사용하여 설정합니다.
- 권한 있는 컨테이너를 사용하는 경우, 해당 컨테이너가 Pod의 모든 컨테이너에 영향을 미치는 sysctl 값을 설정하도록 합니다.
주의사항:
- sysctl 값 변경은 시스템에 영향을 미칠 수 있으므로, 변경 전에 영향을 파악하고 신중하게 설정해야 합니다.
- 특히 안전하지 않은 sysctl은 시스템의 안정성에 영향을 줄 수 있으므로, 사용 시 주의해야 합니다.
- 클러스터 관리자 권한이 필요한 경우에는 클러스터 관리자와 협의하여 설정해야 합니다.
참고
- https://cloud.ibm.com/docs/containers?topic=containers-kernel&locale=ko
- https://kubernetes.io/ko/docs/tasks/administer-cluster/sysctl-cluster/
- https://tech.ktcloud.com/269
- https://docs.redhat.com/ko/documentation/openshift_container_platform/4.9/html/nodes/nodes-containers-sysctls
- https://somaz.tistory.com/416#:~:text=%EC%9C%84%EC%99%80%20%EA%B0%99%EC%9D%B4%20%EC%84%A0%EC%96%B8%EB%90%9C%20sysctl%20%EA%B0%92%EB%93%A4%EC%9D%80%20%ED%95%B4%EB%8B%B9%20Pod%EC%9D%98,%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%9C%BC%EB%A9%B0%2C%20%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%20%EA%B4%80%EB%A6%AC%EC%9E%90%20%EA%B6%8C%ED%95%9C%EC%9C%BC%EB%A1%9C%20%EB%85%B8%EB%93%9C
반응형
'Linux Server > Container' 카테고리의 다른 글
Kubernetes(K8s) 기본 명령어 정리 (0) | 2024.03.12 |
---|---|
도커(Docker) 명령어 정리 (0) | 2024.03.05 |
Comments