분류 전체보기48 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. K8s from scratch - 2. 쿠버네티스 구성 요소 쿠버네티스 클러스터를 이루는 구성 요소들은 파드 형태로 이루어져 있습니다. K8s Cluster Architecture 마스터노드 (Control-Plane) kubectl 쿠버네티스 클러스터에 명령을 내림. 마스터노드에 있을 필요는 없지만 통상적으로 API서버와 통신하므로 API서버가 위치한 마스터노드에 구성하였습니다. api-server 클러스터의 중심역할을 하는 통로입니다. 상태값을 저장하는 etcd와 주로 통신합니다. etcd 구성요소들의 상태값이 모두 저장되는곳입니다. 분산저장이 가능한 키-밸류 저장소이므로 복제본을 둔다면 etcd에서 장애가 나더라도 가용성을 확보할 수 있습니다. controller-manager 클러스터의 오브젝트 상태를 관리합니다.워커노드에 통신이 안되는경우 상태 체크와 복.. 2023. 10. 25. 이전 1 ··· 5 6 7 8 9 10 11 12 다음