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 --repli.. 2024. 2. 23. 쿠버네티스 DNS 기능 이해 쿠버네티스Core DNSLocal DNSkubectl get pod -o wide -n kube-systemNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEScoredns-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.7.. 2024. 2. 22. 쿠버네티스 트러블슈팅의 기본 프로세스 쿠버네티스 디버깅 프로세스 작업 순서는 다음과 같다. apply -> get -> describe -> logs -> get event 1. yaml 파일을 이용해 오브젝트를 생성(apply)하고, 생성한 오브젝트 리스트는 get 명령어로 확인한다.2.만약 파드가 정상적으로 생성되지 않으면 상세한 설정 정보를 describe 명령어로 확인한다.3. 이후 어플리케이션 관련 에러는 로그 명령어(logs)로 확인하고 쿠버네티스 클러스터 관련 메시지는 이벤트 명령어(get event)로 확인한다. 2024. 2. 15. 클러스터 설치 - kubeadm ver 목표: 쿠버네티스 클러스터 설치vm 2개를 준비한다. ubuntu1개는 마스터 노드, 1개는 워커 노드로 사용 예정 1.호스트 이름 변경sudo hostnamectl set-hostname "master-node"exec bashsudo hostnamectl set-hostname "worker-node1"exec bash2.hosts 파일 업데이트192.168.0.27 master-node192.168.0.62 worker-node13.모든 노드에 IPv4 브리지 설정cat overlaybr_netfilterEOFsudo modprobe overlaysudo modprobe br_netfilter# sysctl params required by setup, params persist across reb.. 2023. 12. 12. kubectl 명령어로 익히는 쿠버네티스의 주요 오브젝트 쿠버네티스의 주요 오브젝트에 대해서 알아보려고 한다. 파드, 디플로이먼트, 네임스페이스 등 run, create: 파드와 디플로이먼트 생성get, exec: 생성된 파드 현황 조회 및 파드 내 bash 스크립트 실행(파드 접속)scale, delete: 파드의 수량 증가/감소 및 오브젝트 삭제create, namespace: 네임스페이스 생성위 내용이 주요 오브젝트이다. 쿠버네티스 오브젝트쿠버네티스 API 서버로 생성하는 영속성을 가지는 모든 실체를 말한다.애플리케이션을 실행하고, 필요한 추가 리소스를 지정하고, 고가용성 관련 설정을 하는 등 일련의 모든 쿠버네티스 작업은 다양한 오브젝트와 해당 오브젝트 옵션의 조합으로 실행한다. 2023. 11. 28. 이전 1 2 다음