• 3D를 2D로 만드는 기술 중 하나
  • 가장 대중방법중 하나로, 다른 방법으로는 ray tracing 방식이 있다.
  • rasterization은 존재하는 모든 오브젝트에 좌표를 할당한다
  • 픽셀, 또는 비트맵으로 만든다고도 볼 수 있다.
  • 특정 픽셀이 해당되냐 아니냐를 외적등의 계산으로 구한다.
  • 참고 : 3D 가 만들어지는 방법
    • 3D는 (x,y,z) 로 이루어진 점 3개로 이루어짐
      • 실제로는 vertex(좌표) 와 index(좌표 인덱스 3개 모음)으로 이루어짐
      • 점 3개, 즉 삼각형의 모임이 3D 모형이 됨

쿠버네티스 서비스란

  • 쿠버네티스 네트워크이다.
  • api 서비스이다.
  • service는 쿠버네티스에 동일한 레이블을 가진 파드들을 하나의 ip로 묶어서 관리를 요청한다.
    • 쿠버네티스는 동일한 레이블을 갖고 있는 pod를 하나의 virtual ip로 묶는다.
    • virtual ip는 로드밸런스 ip가 된다.
    • 즉 이러한것이 만들어지도록 요청하는것이 쿠버네티스 서비스이다.

서바스 타입

  • cluster ip

    • 기본 cluspte의 역할로 로드밸런서 ip를 만듦

    • 예제

      kind: Service
      metadata:
      name: ${name}
      spec:
      type: ClusterIP
      clusterIP: ${ip}
      selector:
      app: ${app}
      ports:
      - protocol: TCP
      port: ${virtual ip port}
      targetPort: ${pod port}
  • node port

    • cluster ip 기능에 추가로 포트까지 지원함

    • 즉 로드밸런서 ip에 포트까지 붙일 수 있도록 지원

    • 외부에서 들어올수 있는 노드의 포트가 열림

    • 워커 노드가 1,2,3이 있고 각각에 pod가 하나씩 있을때

      • 2번 워커노드의 열린 포트로 클라이언트가 요청을 하면

      • 해당 워커노드가 로드밸런싱을 하여 1,2,3번의 내부 pod 중 하나로 요청을 보내준다.

        kind: Service
        metadata:
        name: ${name}
        spec:
        type: NodePort
        clusterIP: ${ip}
        selector:
        app: ${app}
        ports:
        - protocol: TCP
        port: ${virtual ip port}
        targetPort: ${pod port}
        nodePort : ${node port}
  • loadbalaner

    • 클러스터 Ip 에 추가로 실제 로드밸런서 장비의 포트와 virtual 로드밸런서 포트를 연결
    • 물리 로드밸런서가 node port 로 요청을 전달
  • external Name

    • 네이밍 서비스를 만든다.
    • dns 서비스를 클러스터 내부안에서 지원해준다.
    • 보통 외부 서버로 요청을 연결하는 경우에 사용한다.
  • 확인해보기

    • ip : lb ip
    • endpoints : 실제 연결되는 ip
  • kubectl describe svc clusterip-service

  • 서바스 중단

  • kubectl delete service -all

헤드리스 서비스

  • clusterip가 없는 서비스로 단일 진입점이 따로 필요 없을때 사용됨
  • 하지만 endpoint로는 묶어줌
  • pod들의 endpoint를 dns resolving service 쓸 수 있도록 함
  • 즉 pod하나하나에 대한 dns를 core dns에 등록하여 각각 쓸 수 있음
    apiVersion: v1
    kind: Service
    metadata:
    name: ${name}
    spec:
    type: ClusterIP
    clusterIP: None #이부분으로 사실상 헤드리스 서비스 명시!
    ###kube-procy
  • 쿠버네티스의 백엔드를 구현
  • 즉 clusert ip를 쓰면, 실제로는 실제 각 노드별로 iptables가 있어서, 이게 요청을 받으면 각 내부 pod중 한개로 전달하는 방식이다.
  • 그래서 실제 노드에서 iptables확인해보면 iptables가 찍힌다.
  • node port를 쓰는 경우 해당 포트를 리슨함

'쿠버네티스' 카테고리의 다른 글

ha 쿠버네티스(multimaster 쿠버네티스)  (0) 2022.04.05
job/cronjob  (0) 2022.04.04
StatefulSet  (0) 2022.04.04
daemonset  (0) 2022.04.04
ReplicaSet  (0) 2022.04.04
  • 여러대의 control plane으로 구성
  • 세대중에 한대가 다운되더라도 운영 가능(고 가용성)
  • 보통 홀수로 이용
  • 로드밸런서가 control plane을 선택하여 요청을 보냄(즉 worker노드가 마스터로 무언갈 보낼때 로드밸런서를 통해 감)
  • 여러대의 conrol plane 간에는 동기회를 진행
  • nginx로 로드밸런싱을 하는경우 upstream stream_backend를 이용

'쿠버네티스' 카테고리의 다른 글

쿠버네티스 서비스  (0) 2022.04.17
job/cronjob  (0) 2022.04.04
StatefulSet  (0) 2022.04.04
daemonset  (0) 2022.04.04
ReplicaSet  (0) 2022.04.04

+ Recent posts