본문 바로가기

Kubernetes6

K8s from scratch - 6. 인그레스 노드포트 서비스는 포트를 중복 사용 할 수 없기때문에 1개의 노드포트에 1개의 디플로이먼트만 적용이 가능합니다. 만약 여러개의 디플로이먼트를 사용하게된다면 그만큼 노드포트 서비스를 실행시켜야하고, 이러한 방법은 자원의 낭비입니다. 때문에 쿠버네티스에서는 인그레스를 사용합니다. 인그레스 인그레스는 고유한 주소를 제공하여 사용 목적에 따라 다른 응답을 제공하고 L4/L7 로드밸런서와 보안인증서를 처리하는 기능을 제공합니다. 인그레스를 사용하려면 인그레스 컨트롤러가 필요합니다. 본 문서에서는 쿠버네티스에서 지원하는 NGINX 인그레스 컨트롤러를 구성해보도록 하겠습니다. NGINX 인그레스 컨트롤러 NginX인그레스 컨트롤러는 다음 단계로 작동하게 됩니다. 유저는 노드마다 설정된 노드포트를 통하여 노드포트 서비.. 2023. 10. 25.
K8s from scratch - 5. 외부와의 연결담당 (서비스) 쿠버네티스에서는 외부에서 쿠버네티스 클러스터에 접속하는 방법을 서비스라고합니다. 서비스를 소비를 위한 도움을 제공한다 는 관점으로 바라본다면 쿠버네티스가 외부에서 쿠버네티스 클러스터에 접속하기 위한 서비스를 제공한다고 볼 수 있습니다. 가장 간단하게 연결하는 노드포트 노드포트 서비스를 설정하면, 모든 워커노드의 특정 포트를 열고, 이를 통해 오는 모든 요청을 노드포트 서비스로 전달하게 됩니다. 노드포트 서비스는 해당 태스크를 처리 할 수 있는 파드로 요청을 전달하게 됩니다. 노드포트 서비스로 외부에서 접속하기 디플로이먼트 파드를 생성하겠습니다. ubuntu@master001:~$ k create deployment np-pods --image=sysnet4admin/echo-hname deployment.. 2023. 10. 25.
K8s from scratch - 4. 노드 유지관리 및 보수 노드 자원 보호하기 최근에 문제가 생긴 노드에 파드를 할당하면 문제가 생길 가능성이 높습니다. 하지만 모든 개발/프로덕션 환경이 그렇듯 사용할 수 있는 자원을 활용하지 않는것또한 자원의 낭비입니다. 때문에 해당 노드를 어쩔수 없이 사용해야하는 경우가 생기는데 어떻게 조치해야할까요? 어떻게 문제가 생길 가능성이 있는 노드임을 쿠버네티스에 알려줄까요? 쿠버네티스에서는 이런경우에 문제가 cordon기능을 사용합니다. 현재 배포된 파드가 없기때문에 파드를 생성해보도록 하겠습니다. apiVersion: apps/v1 kind: Deployment metadata: name: echo-hname labels: app: nginx spec: replicas: 3 selector: matchLabels: app: ng.. 2023. 10. 25.
K8s from scratch - 3. 파드 생성 및 삭제, Self-Healing 파드를 생성하는 방법 이번 포스트부터, kubectl 을 k로 지정한 alias를 사용하겠습니다. 또한 명령어의 단축어를 사용하도록하겠습니다. 예를들어, po는 pods의 단축어입니다. kubectl run명령을 사용하면 쉽게 파드를 생성할 수 있습니다. 다음 명령에서 run 다음에 나오는 nginx는 파드의 이름이고, —image=nginx는 생성할 이미지 이름입니다. ubuntu@master001:~$ k run nginx-pod --image=nginx pod/nginx-pod created ubuntu@master001:~$ k get po NAME READY STATUS RESTARTS AGE nginx-pod 1/1 Running 0 2s ubuntu@master001:~$ create 기능을.. 2023. 10. 25.