전체 글30 [NCloud] NKS 노드에 InitScript 설정하기 NKS 에서 운영 중인 클러스터의 시스템로그를 백업해야했는데, 여러 방법을 찾아보다가 Initscript를 Daemonset으로 실행시키는 방법이 있어서 공유합니다. https://guide.ncloud-docs.com/docs/k8s-k8suse-init-script네이버 클라우드 플랫폼의 Ncloud Kubernetes Service는 InitScript를 통해 미리 작성해 둔 스크립트를 실행하여 노드의 초기 환경 관리를 진행할 수 있습니다. InitScript는 DaemonSet으로 생성되어 각 노드에 스케줄링됩니다.주의InitScript는 DaemonSet으로 동작하므로 CRI(Container Runtime Interface), Kubelet의 설정에는 관여하지 않아야 합니다.InitScript.. 2024. 7. 6. K8S 클러스터에서 노드를 업그레이드할 때 안의 파드들은 어떻게 해야 될까? 하나의 클러스터 안에 여러 개의 노드가 있을 때, 그 중 하나의 노드를 maintenance(유지보수) 목적으로 down 시켜야 하는 시나리오를 생각해 봅시다. 위의 그림처럼 하나의 클러스터 안에 4개의 노드가 있고 각각의 노드 안에 여러 개의 pod가 있다고 가정합니다. (그림은 마지막 단계의 그림입니다. 처음에는 왼쪽부터 순서대로 [0 | 파랑, 초록 | 파랑, 보라 | 빨강, 검정] 의 pod 들이 각각의 노드 안에 있다고 가정합니다.) 파랑같이 여러 개가 존재하는 파드는 replicaset에 의해 관리되는 파드이고, 초록, 보라, 빨강, 검정 같이 한 개씩만 존재하는 색상의 파드는 단일 파드입니다. 하나의 레플리카셋에 있는 pod는 같은 애플리케이션을 서비스 합니다. 우리는 왼쪽에서 두 번째 노드.. 2024. 1. 26. Static Pods 일반적으로 파드는 컨트롤 플레인에 의해 스케쥴링되고 관리됩니다. kubelet은 worker node에서 동작하는 컨트롤러로 master node의 api server, kube scheduler와 상호작용하여 해당 노드에 어떤 리소스를 배치할지 정합니다. 그럼 만약 ectd, kube-apiserver, kube-scheduler가 없으면 어떻게 될까요? kubelet은 단독으로 pod 생성과 관리가 가능합니다. api server가 없으므로 kubelet은 로컬 내 디렉토리를 설정하고 해당 디렉토리 안의 pod definition file을 사용하여 pod를 생성 및 관리합니다. 이렇게 kubelet이 api server의 개입 없이 단독으로 생성하고 관리하는 pod를 static pod라고 합니다... 2024. 1. 19. Daemon Sets Daemon Set은 클러스터의 모든 노드 또는 특정 노드 그룹에 하나의 pod 를 실행하도록 하는 컨트롤러입니다. 데몬셋은 모든(또는 일부) 노드가 파드의 사본을 실행하도록 합니다. 노드가 클러스터에 추가되면 파드도 추가되며, 노드가 클러스터에서 제거되면 해당 파드는 garbage로 수집되어 자동 삭제됩니다. 데몬셋을 삭제하면 데몬셋이 생성한 파드들이 정리됩니다. Deployment와 유사하지만 다른 점은 특정 노드 또는 모든 노드에 항상 실행되어야 할 특정 파드를 관리해야 한다는 것이다. 보통 컨트롤 플레인에 해당하는 컴포넌트(kube-apiserver, etcd, scheduler, kube-proxy 등등)를 데몬셋으로 관리합니다. DaemonsSet Use Case 일반적으로 monitoring.. 2024. 1. 19. 이전 1 2 3 4 5 6 7 8 다음