[Home-K8S] #22 FluxCD 계층과 분리 / 다중 클러스터 리소스 공유와 설정 분리
FluxCD - yaml 앞서 fluxcd 를 이용해서 helm chart 를 구성했습니다. 그 외에 일반적인 yaml
zookeeper를 k8s에 설치하는 방법은 k8s 공식 문서에서도 제공하고 있습니다.

똑같이 진행하면 되지만, k8s를 local에 구성해서 사용하는 분들은 잘 되지 않을 수 있습니다.
기본적으로 cloud에서 사용하는 k8s 서비스에서는 volume을 제공해주고, 기본 storageclass도 잡혀 있습니다. 그런데 local에서 구성하게 되면 default storageclass가 없어서 Volume이 생성되지 않습니다.
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi
volume을 생성해서 붙여줘야 하는데, pv를 만들어서 넣어줘도 되지만, local-host-provisioner를 구성해서 사용해도 됩니다. 다음 포스팅에 작성하겠습니다.
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- zk
topologyKey: "kubernetes.io/hostname"zk Pod가 있는 노드에는 Pod를 생성하지 않습니다.
zookeeper는 분산된 서비스에서 정보를 공유하고 상태를 체크하는 저장소입니다.
서비스가 본인의 상태나 구성 등을 zookeeper에 key-value 기반으로 저장할 수 있습니다.
이러한 상태 저장으로 각 서버들이 내용을 공유하는 방법도 있지만,
다중 노드에서 리더를 채택하는 과정으로 사용됩니다.
리더 선출을 사용하는 방법을 Python 코드르 사용해서 다음 포스트에서 보여드리겠습니다.
Comments