본문 바로가기

AWS4

[EKS] Gatekeeper 안녕하세요? K8S에서 Cluster를 관리 혹은 사용하다 보면, 코드 변경 없이 third party 소프트웨어의 K8S 리소스 값을 변경해야 하거나 일괄로 설정을 적용해야 할 때가 있습니다. Gatekeeper 를 사용하면 이와 같은 상황을 쉽게 해결 할 수 있습니다. Gatekeeper? Gatekeeper는 K8S는 OPA(OpenPolicyAgent)에서 만든 프로젝트로서 K8S의 자원에 대해서 Policy 설정을 할 수가 있습니다. Helm 설치 설치 방법은 변경될 수 있기 때문에, 공식 Github을 참조하시는 것이 좋습니다. https://github.com/open-policy-agent/gatekeeper/blob/master/charts/gatekeeper/README.md gat.. 2024. 4. 15.
DockerHub 이미지를 Private Registry에 업로드 안녕하세요? Container Image를 Pull로 가져와서 Image Build를 CI/CD 로 구성하는 작업들을 많이 하는데요. 이러한 작업을 할 때, 일반적으로 Pull로 가져오는 이미지들은 대부분 DockerHub로부터 가져옵니다. DockerHub에서는 사용자가 Image를 Pull 하는 부분에 대해서 아래와 같은 제한 정책을 가지고 있습니다. 대부분의 작업 환경은 Docker Pull을 하더라도 이미지가 이미 다운로드 되어 있다면, DockerHub로부터 Pull을 하지 않기 때문에, 아래 제한에 쉽게 걸리지는 않습니다. 저 같은 경우에도, 아래와 같은 제한이 있다는 것을 최근에 알게 됐습니다. Kubernetes를 라지 클러스터로 관리할 경우 DaemonSet을 사용할 경우 아래 제한은 .. 2024. 2. 19.
[EMR on EKS] spark timezone 설정 안녕하세요? EMR on EKS에서 spark job을 제출하다보면 timezone이 기본적으로 UTC로 설정되어 있는 것을 확인할 수 있습니다. timezone이 UTC로 되어 있더라도 python, scala 등의 코딩 시 timezone을 KST로 설정해도 충분하지만, 일일히 모든 datetime에 다 설정을 하는 것이 여간 귀찮은 것이 아닙니다. 그렇기 때문에, 여기서는 os level에서 기본 timezone을 변경하여 코드의 수정 없이 timezone을 바꿀 수 있는 방법에 대해서 알아보겠습니다. EMR one EKS 우선, 여기서는 EMR on EKS에 대한 기본 설명 및 설치과정에 대해서는 생략하도록 하겠습니다. EMR on EKS spark custom image spark conf에 .. 2024. 2. 1.
Containerd와 AWS ECR login 방법 안녕하세요? AWS EKS를 사용하다 보면, 간혹 워커 노드에 접속해서 디버깅을 할 때가 있습니다. EKS는 1.24 버전 부터는 Dockershim을 더이상 지원하지 않고 Containerd만을 지원하도록 되었습니다. (https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/dockershim-deprecation.html) 그런데, 저는 Docker만 주로 사용했고, Containerd의 ctr cli는 잘 몰라서 많은 부분을 고생했는데요. (이러한 부분을 고려해서, nerdctl이라는 것도 있는데요. 이부분은 추가로 다루도록 하겠습니다.) 관련해서, ctr cli에서 AWS ECR(Elastic Container Registry)에 로그인해서 이미지를 다.. 2024. 1. 31.