본문 바로가기

개발/AWS EKS6

[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.
[K8S] Ephemeral Container 안녕하세요? Kubernetes 기반에서 앱을 개발하다 보면, 로컬에 있는 IDE에서 Kubernetes에서 동작하고 있는 container에 연결해서 리모트 디버깅을 해야 할 경우가 있습니다. Java에서는 JMX를 enable해서 포트만 오픈하면 상대적으로 쉽게 접근이 가능합니다만, Python에서는 이러한 리모트 디버깅을 할려면 별도의 debuging 패키지를 설치해서 실행해야만 합니다. 이러한 특정 경우를 위해서 디버깅용 서비스를 항상 띄우는 것은 굉장히 비효율적입니다. 그렇기 때문에, Kubernetes에서는 이렇게 임시적으로 POD에 임시 container를 붙이기 위한 Ephemral Container라는 기능을 제공해줍니다. https://kubernetes.io/docs/concept.. 2024. 3. 7.
[EKS] Knative volume support - PVC 안녕하세요? Knative를 사용하다가 pvc를 Knative의 ksvc에서 사용을 해야 해서 알아봤습니다. Knative에서 pvc를 mount를 하기 위해서는 설정을 변경해야만 합니다. pvc 이외의 configmap 등의 volume 유형에 대해서는 바로 사용이 가능합니다. Knative operator를 사용하는 경우에, 아래 처럼 features에 pvc 설정을 추가하면 됩니다. apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: ... config: features: # 아래 두 설정을 추가하면 됩니다. kubernete.. 2024. 3. 6.
DockerHub 이미지를 Private Registry에 업로드 안녕하세요? Container Image를 Pull로 가져와서 Image Build를 CI/CD 로 구성하는 작업들을 많이 하는데요. 이러한 작업을 할 때, 일반적으로 Pull로 가져오는 이미지들은 대부분 DockerHub로부터 가져옵니다. DockerHub에서는 사용자가 Image를 Pull 하는 부분에 대해서 아래와 같은 제한 정책을 가지고 있습니다. 대부분의 작업 환경은 Docker Pull을 하더라도 이미지가 이미 다운로드 되어 있다면, DockerHub로부터 Pull을 하지 않기 때문에, 아래 제한에 쉽게 걸리지는 않습니다. 저 같은 경우에도, 아래와 같은 제한이 있다는 것을 최근에 알게 됐습니다. Kubernetes를 라지 클러스터로 관리할 경우 DaemonSet을 사용할 경우 아래 제한은 .. 2024. 2. 19.