본문 바로가기

전체 글29

MetalLB를 이용한 로드밸런서 타입 서비스 구축 노드포트 타입 서비스는 외부 클라이언트에서 접속했을 때 특정 도메인이 아닌 특정 노드가 실제로 사용하는 IP 주소를 지정해서 접속한다. 하지만 노드 IP는 변경될 수 있고, 80, 443 등 기본 포트가 아닌 특수 포트 30000 ~ 32767 중 하나의 포트를 사용해야 하므로 실제 서비스에 적응하기는 어렵다. 이를 해결하기 위해 쿠버네티스는 부하분산이 가능한 로드밸런서 타입의 서비스를 제공한다. NodePort: 100.2.3.4:30000 접속 Load-Balancer: http(s)://www.myweb.com 접속 *퍼블릭 클라우드에서는 로드밸런서를 사용하면 추가 비용이 발생하기 때문에 주로 Ingress를 사용해 비용을 절감한다. 대표적인 LB 솔루션은 MetalLB와 Porter가 있다. (둘.. 2024. 2. 23.
kube-proxy 부하분산 설정의 이해 모든 쿠버네티스 서비스는 기본 설정으로 부하분산을 지원한다. 쿠버네티스의 모든 노드에서 실행 중인 kube-proxy 파드는 노드 내에서 실행 중인 모든 파드의 네트워크 트래픽을 처리한다. kube-proxy는 쿠버네티스 서비스와 연동해서 파드의 모든 인그레스(Ingress), 이그레스(egress) 통신을 처리한다. kube-proxy는 기본 설정으로 IPVS(IP Virtual Server) 모드로 동작한다. kube-proxy 모드 관련 설정은 kube-proxy 설정 파일인 컨피그맵에서 확인 가능하다. kubectl describe cm -n kube-system kube-proxy ... mode: ipvs ... #파드의 수량을 5개로 k scale deployment nginx-hello -.. 2024. 2. 23.
GitOps 참고글 https://www.samsungsds.com/kr/insights/gitops.html 2024. 2. 23.
ubuntu 22.04 install 1. custom layout storage - boot 1024mb - swap 4096mb - / all 2. network $ cat /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: enp0s3: dhcp4: true enp0s8: addresses: - 192.168.137.60/24 nameservers: addresses: [8.8.8.8, 8.8.4.4] enp0s9: dhcp4: true version: 2 적용 netplan apply - enp0s3: nat (dhcp) - enp0s8: host network (static ip) - en.. 2024. 2. 22.
쿠버네티스 DNS 기능 이해 쿠버네티스 Core DNS Local DNS kubectl get pod -o wide -n kube-system NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES coredns-787d4945fb-dvd6h 1/1 Running 3 (16d ago) 73d 10.10.77.148 master-node coredns-787d4945fb-smzwr 1/1 Running 3 (16d ago) 73d 10.10.77.149 master-node etcd-master-node 1/1 Running 1 (16d ago) 56d 192.168.0.27 master-node kube-apiserver-master-node 1/1 Running.. 2024. 2. 22.
쿠버네티스 서비스(service) 사용하기 (1) 쿠버네티스 서비스에서는 파드 간 연결을 가리켜 파드를 노출(expose)한다. 라고 표현한다. 쿠버네티스 서비스는 동적으로 각 파드 간 연결을 제공한다. = 서비스 디스커버리한다. 쿠버네티스는 파드의 연결을 제공(Serve)한다는 의미로 서비스라는 용어를 쓴다. 클러스터 내부 혹은 외부 연결에 따라 서비스 타입을 다음과 같이 구분한다. 클러스터 내부에서 파드와 파드를 연결: 클러스터IP (Cluster IP), 헤드리스(Headless) 클러스터 외부에서 클러스터 내부의 파드를 연결: 노드포트 (NodePort), 로드밸런서(LoadBalancer) 서비스는 쿠버네티스 리소스의 한 종류 다이나믹하게 종료되고 생성되는 파드를 자동으로 발견(Service Discovery)한다. 변경이 잦은 IP 주소가 아.. 2024. 2. 22.