DevOps/Kubernetes 16

파드가 노드에 배포되는 단계

Kubernetes에서 파드가 배포되는 과정은 스케줄러에 의해 관리되며, 파드를 클러스터 내의 적합한 노드에 배치하는 절차입니다. 이 과정은 네 단계(Scheduling Procedure)로 나뉘고, 각 단계는 특정 플러그인(Plugins for each Stage)을 통해 처리됩니다. 1. Scheduling Queue (스케줄링 큐)파드를 생성하면, 해당 파드는 먼저 스케줄링 큐에 들어갑니다. 이 큐는 아직 할당되지 않은 파드들의 대기열 역할을 하며, 파드가 실행 가능한 상태가 될 때까지 유지됩니다.관련 플러그인:PrioritySort: 파드의 우선순위를 기준으로 큐에서 대기 중인 파드를 정렬합니다. 우선순위가 높은 파드가 먼저 처리되도록 보장합니다.2. Filtering (필터링)스케줄러는 큐에서 ..

DevOps/Kubernetes 2024.10.15

테인트 톨러레이션 그리고 노드 어피니티

테인트와 톨러레이션테인트는 노드에 적용되고, 톨러레이션은 파드에 적용됩니다. 톨러레이션의 옵션에는 세 가지가 있습니다: NoSchedule, PreferNoSchedule, NoExecute입니다.1. NoSchedule: 이 옵션이 설정된 노드에는 특정 조건을 만족하지 않는 파드가 스케줄링되지 않습니다. 즉, 노드에 설정된 테인트와 일치하지 않는 파드는 해당 노드에 배치될 수 없습니다.  2. PreferNoSchedule: 이 옵션은 노드가 파드를 가능한 한 스케줄링하지 않도록 선호하지만, 필수는 아닙니다. 즉, 특정 조건을 만족하지 않더라도 파드는 해당 노드에 스케줄링될 수 있습니다.3. NoExecute: 이 옵션은 노드에서 실행 중인 파드가 특정 조건을 만족하지 않을 경우, 해당 파드를 강제로 ..

DevOps/Kubernetes 2024.10.15

Audit Policy 설정 방법

1.  감사 정책 파일 생성로그로 기록하고 싶은 감사 정책 파일을 작성해야합니다. 이 때 파일 내 group 부문에 무엇을 적어야 할지에 대해 잠시 알아보겠습니다. group에는 공식문서 Kubernetes v1.20 [stable] 기준 4가지 그룹이 있습니다. 아래와 같으니 리소스 명시하실 때 그룹을 잘 지정해서 명시하시길 바랍니다. core- pods, services, configmaps, sercrets, namespaces, persistentvolumes, persistentvolumeclaims, nodes, namespaces, endpoints apps- deployments, replicasets, statefulsets batch- jobs, cronjobs networking.k8..

DevOps/Kubernetes 2024.10.10

Cluster Role + RoleBinding / Role + ClusterRoleBinding

ClusterRole + RoleBinding의 조합ClusterRole: 클러스터 전체에서 작동하는 권한을 정의합니다. 특정 네임스페이스가 아닌 클러스터 전체에서 리소스에 접근할 수 있는 권한을 설정할 수 있습니다. RoleBinding: 특정 네임스페이스 내에서 사용자를 ClusterRole과 연결하는 역할을 합니다.특징이 조합을 사용하면 ClusterRole에서 정의된 클러스터 전반에 걸친 권한을, 특정 네임스페이스 내에서만 적용할 수 있습니다. ClusterRole에 "Pod를 읽을 수 있는 권한"이 있다고 해도, RoleBinding을 통해 그 권한을 특정 네임스페이스에만 제한해서 적용할 수 있습니다.Role + ClusterRoleBinding의 조합Role: 특정 네임스페이스 내에서만 작동하..

DevOps/Kubernetes 2024.10.10

Ingress 외에 Ingress Controller가 필요한 이유?

Ingress 역할Ingress 리소스는 단순히 트래픽을 어떻게 처리할지 정의한 규칙입니다. Ingress Controller 역할Ingress Controller는 Ingress 리소스에서 정의한 규칙을 실제로 구현하고 실행하는 역할을 하는 컨트롤러입니다. 요약외부의 트래픽을 내부로 전달하고, 필요한 로드 밸런싱, 리버스 프록싱, SSL/TLS 처리 등을 수행할 수 있습니다.

DevOps/Kubernetes 2024.10.09