# kustomize

kustomize 설치 및 사용
flux는 kustomize를 이용해서 편하게 gitops를 할수있다. ArgoCD에 비해서 kustomize에 최적화되어있는 툴이라고 생각하면 편함 그러면 kustomize가 어떤 것이고, 어떤 내용을 포함하고있는지 먼저 알아야함..!! kustomize란? => "Differenet varitions Of YAML" kustomize 공식문서 kustomize ppt 메루카리엔지니어 쿠버네티스 리소스(yaml파일)을 변경하지 않고 필드를 재정의하여 새로운 쿠버네티스 리소스를 생성하는 도구 yaml + kustomize ==> 필드가 재정의된 yaml > "Differenet varitions Of YAML" 참고 : helm vs kustomize 여러팀이 helm을 다르게 원한다는것...!

AWS Security Workshop - EKS로 웹 애플리케이션 구축(2)
1편은 여기로 이어서 진행 합니다 6. Fargate 배포하기 컨테이너에 적합한 서버리스 컴퓨팅 엔진 AWS ECS, EKS에서 모두 동작 pod를 배포하기 위해서는 pod가 실행될때 하나 이상의 fargate profile을 정의해야 함 fargate 생성 및 확인 
[kubernetes] commonLabels 은 모든 리소스에 동일한 레이블을 추가한다.
Label과 Selector란? label 은 쿠버네티스 오브젝트(파드 등)에 첨부된 키와 값의 쌍이다. 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 예를들어 어떤 service가 Deployment를 식별하기 위해서는 deployment에 label 존재하며, 이 label이 Service 명세에 selector 항목에 적혀있어, Service는 Deployment를 식별하게된다. 어떤 문제를 마주했나? frontend deployment와 backend deployment를 하나의 Kustomize로 묶고 있었다. Kustomize 없이 배포했을 때는 아무런 문제가 없었는데, kubectl apply -k . 커맨드
Prometheus & Grafana with kustomize in Argo CD
metric-server install Edit metrics-server deployments.apps monitoring namespace 생성 Prometheus & Grafana clone kustomize로 Argo CD에 배포 kustomization.yaml monitoring ns 의 prometheus IP를 Grafana에 등록 후 모니터링
Blue/Green Deployment with kustomization in Argo CD
Argo-rollouts Install Argo-rollouts Plugin Install kustomization.yaml ingress.yaml ingress.yaml로 ALB 생성 확인 bluegreen.yaml remark > - apps/v1 대신 argoproj.io/v1alpha1을 사용 > - Deplyment 대신 Rollout을 사용 > - autoPromotioEnabled 옵션은 Blue/Green 배포를 자동으로 진행할 것인지 여부. false 옵션을 사용해 수동으로 지정 Blue/Green 전환 
온프레미스로 쿠버플로 1.4 인프라 구축하기!
안녕하세요! 오늘은 문제가 많은 AWS(EKS) 인프라를 기반으로 구축하는 Kubeflow 1.2 버전이 아닌, 온프레미스 환경에서(Minikube를 이용합니다!) Kubeflow 1.4버전을 구축해보도록 하겠습니다. 개요 minikube에 Kubeflow 1.4.1을 설치한다. Kubeflow 설치 방식이 버전 1.2까지는 kfctl를 사용하였으나, 1.3부터는 kustomize를 사용한다. 이전에 AWS 상에 쿠버플로를 구축하였을 때 계속 kfctl을 사용하신 것 기억하시나요? ✓ kfctl is a CLI for deploying and managing Kubeflow, Latest release: 1.2.0(21 Nov 2020), https://github.com/kubeflow/kfctl ▷ Kubeflow 1.2 in On-prem 구성 ▷ Kubeflow 1.2 in Minikube 구성 ✓ Kubef
[K8S] Kustomize / Helm
Kustomize와 Helm을 이용하면 GitOps를 할 때 유용하게 사용할 수 있다. 👉 Kustomize Kustomize는 kubernetes resource customizing tool로 객체(object)를 선언적으로 관리하는 것을 편하게 하는 도구이다. Kubernetese resource에 약간의 변화를 일으킬 때 사용한다. ✏️ 사용 시 이점 manifest 관리 작업에 용이 → 배포 자동화 관리 과정이 쉬워짐(ex. argoCD) secret, config map 만드는 것이 편해짐 container 이미지 변경, replica 변경 가능 namespace override commonLabels 사용 가능 → 서로 다른 환경들을 구분하여 관리하는 것이 용이해짐 ✏️ 사용하는 파일들 kustomization.yaml 기본 format👇 base & overay

Kustomize로 K8S 리소스 관리하기
시작하기 전에 이번 글에서는 Kubernetes 리소스의 Raw 파일인 YAML 파일들을 관리하는 방법을 알아보려고 합니다. 사용자에 따라 YAML 파일을 관리하는 방법은 다양합니다. 리소스 별로 생성한 YAML 파일을 작업서버 내에 Application 별로 나눠놓거나, 배포 환경 별로 나눠놓는 등 기준을 가지고 분류하고 서버내의 스토리지에 저장하거나 원격 스토리지(git, cloud, external/internal NAS 등)에 저장합니다. 때로는 YAML파일들을 Application별로 Template화 하여 관리하기도하며, 한개의 YAML 파일에 여러개의 리소스를 정의하거나 Helm이나 자체적인 Template을 만들어서 사용하기도 합니다. 지금부터 다룰 Kustomize는 이런 YAML파일을 Custo

[GitOps]ArgoCD에 Vault 적용하기
개요 GitOps 환경을 구성하기 위해 kubernetes 설정 파일을 git 저장소에 올려서 ArgoCD와 연동을 했었습니다. 하지만 configmap이나 secret 을 git 저장소에 올리기에는 보안상 문제가 있다고 생각했습니다. 물론 private한 저장소를 사용하는 방법을 사용하면 외부에 공유가 되지는 않지만 그래도 소스코드에 DB 패스워드 같은 정보가 들어있는게 부담이 되었습니다. ArgoCD에서도 비밀관리에 대한 다양한 방법을 여기에 제시해 놓았습니다. 이 중 IBM에서 만든 HashiCorp Vault를 이용한 argocd-vault-plugin 방식이 마음에 들어 적용해 보았습니다. Vault >[Vault](https:/

[GitOps]ArgoCD와 Kustomize를 이용해 kubernetes에 배포하기
Kustomize + ArgoCD Kustomize >Kustomize는 kustomization 파일을 통해 쿠버네티스 오브젝트를 사용자가 원하는 대로 변경하는(customize) 독립형 도구이다. 애플리케이션의 새 버전의 이미지가 배포가 되면 kubernetes 환경에서 새 버전의 이미지로 설정을 변경해서 적용을 시켜야합니다. kustomize의 edit set image를 활용하면 이미지 태그만 변경해서 적용할 수 있습니다. kubernetes의 manifests 수정하는 여러 방법중에 저는 simple하게 kustomize를 선택했습니다. kustomize에 edit set image로 애플리케이션 image의 버전을 수정해서 저장소에 commit 하려고 합니다. 기타 사용법은 이곳에 잘 나와있으니 참고하시면 됩