DevOps, 클라우드/Container
-
[Kubernetes] Cluster API 맛만 보기DevOps, 클라우드/Container 2024. 12. 2. 20:17
어쩌다가진짜 이전에 스쳐 지나가면서 들었던 Cluster API가 갑자기 생각났다.그냥 그랬다.그래서 그냥 진짜 개념만 맛만 보려고 공식 독스랑 훑어봤다. Cluster API는 무엇인가요?오퍼레이터 패턴으로 Cluster를 설치하는 방식이라고 한다.중앙에 관리 클러스터를 배치하고 해당 클러스터에 Cluster API Controller를 배포한다.이 Cluster API Controller는 추상 클래스와 유사한 역할을 한다.근데 왜? Cluster는 벤더 매니지드 클러스터 일 수도 있고, 직접 구축한 온프렘 클러스터일 수도 있고, 로컬 클러스터일 수도 있기 때문이다. 어떻게 쓰나요?# EKS 예시apiVersion: cluster.x-k8s.io/v1beta1kind: Clustermetadata:..
-
[컨테이너] 파드 네트워킹 살짝 열어보기DevOps, 클라우드/Container 2024. 11. 17. 20:47
CNI에 이어서 [컨테이너] 처음 열어보는 CNI 스펙CNI 유지성으로 사용하기지금까지 여러 도구를 사용하면서 공식 문서를 수 차례 참고하고 열어보았지만, CNI는 그렇게 진지하게 대했던 적은 없었던 것 같다. Cilium에서 eBPF가 어쨌고, Calico에서 BGwww.floodnut.com 지난 포스팅에서는 처음으로 CNI 스펙에 관련된 내용을 보면서, 어떤 인터페이스를 구현해야 하는지 확인했다.이번에도 파드 네트워킹이나 네트워크 인터페이스 흐름이 어떻게 되는지 얕고 난잡하게 알아보자. 파드 네트워크 구성 파드 네트워크 생성 흐름을 살짝 확인해보자. Kubelet이 파드를 노드에 스케줄링하면, 파드에서 네트워크 설정을 요청한다.그러면, Kubelet이 CNI를 통해서 파드의 네트워크를 설정한다. ..
-
[컨테이너] 처음 열어보는 CNI 스펙DevOps, 클라우드/Container 2024. 11. 9. 16:52
CNI 유지성으로 사용하기지금까지 여러 도구를 사용하면서 공식 문서를 수 차례 참고하고 열어보았지만, CNI는 그렇게 진지하게 대했던 적은 없었던 것 같다. Cilium에서 eBPF가 어쨌고, Calico에서 BGP, Bird, Felix 어쨌고, 또 AWS VPC CNI는 또 어떻고...이런 제반사항들을 그저 이론으로만 접하고 있었다고 생각한다. 물론 이런 이론조차도 작은 트러블 슈팅에는 도움이 되었지만, 그래도 앞으로는 CNI를 좀 더 유지성하게 써보기 위해서 '조금만 더' 다이브 해보려고 한다. CNI 스펙CNI를 준수하는 컨테이너 오케스트레이션은 꼭 쿠버네티스만 있는 것은 아니다.AWS ECS, Apache Mesos도 역시 CNI를 준수하고, Containerd나 CRI-O와 같은 런타임 역시 ..
-
[HomeLab] K8S 노드에 Label 추가하기DevOps, 클라우드/Container 2024. 7. 21. 03:22
파드가 죽어요현재 가지고 있는 쿠버네티스 클러스터에는 4개의 워커 노드가 있다.3대의 arm64 노드와 1대의 x86 노드를 사용하고 있다. 이전에 Envoy를 테스트하면서 v1.11 이미지를 사용했다.현재는 1.31 버전이 최신 버전임을 확인할 수 있다. [서비스메시] Istio, Envoy서비스 메시, Istio와 Envoy서비스 메시는 주로 분산 아키텍처에서 각 소프트웨어 컴포넌트 간의 네트워킹을 관리한다.특히 쿠버네티스 환경에서 마이크로서비스 간의 상호 연결을 관리하고, 그에www.floodnut.com 여기서 생겼던 문제가 4대의 노드 중 arm64 노드에 파드가 생성되면 아키텍처 차이로 파드가 계속 죽는다.exec format error 컨테이너 이미지최근에야 멀티 아키텍처를 지원하는 컨테이너..
-
[HomeLab] Tailscale 을 쿠버네티스에 배포하기DevOps, 클라우드/Container 2024. 7. 5. 00:52
서론인터넷에서 내 클러스터로 들어오는 인바운드는 모두 허용할 수 없었다.외부에 노출시킬 서비스를 제외하고는 VPN 등을 통해서 접근하게 해야했다.기존에는 Tailscale을 통해 각 노드에 직접 접근했으나 Calico와의 충돌 문제가 있었다. Tailscale은 쿠버네티스에 배포할 수 있다.이게 무슨 소리냐면 VPN 대역에서만 접근할 수 있는 Tailscale 서비스를 클러스터에 배포할 수 있다는 뜻이다.내 사설망에 일종의 VPN Ingress-Controller가 생기는 셈이다.배포 유형은 3가지를 지원한다고 한다.프록시Tailscale 프록시를 통해서 쿠버네티스 서비스와 통신할 수 있도록 해준다.다만, 통신하려는 '서비스' 외에 다른 쿠버네티스 리소스에 접근하거나 제어할 수 없다.사이드카특정 파드에 ..