service

    [NKS] NodePort / LoadBalancer 서비스 생성

    ⚠️ NKS(Naver Kubernetes Service) 환경에서 진행하였습니다. ⚠️ ▪︎ NodePort 타입으로 서비스 생성 및 접속 NodePort 타입으로 서비스를 생성해보자 ! apiVersion: v1 kind: Service metadata: name: cn-app-svc-n spec: selector: app: cn-app ports: - port: 8080 targetPort: 8080 type: NodePort 서비스 생성 확인 후 할당된 NodePort(31374) 확인 ! 노드의 IP 확인 음.. Node IP + NodePort로 접속을 시도했는데.. 과묵하구먼.. 🚨 트러블 슈팅 1. 포트 지정 문제 ? 처음에는 ‘파드에 포트를 잘못 지정해주고 타겟 포트랑 일치가 안돼서 그런..

    K8s Service 인증

    NCP K8s Service는 ncp-iam-authenticator를 통해서 IAM 인증을 제공한다. IAM 인증을 통해서 kubectl을 사용하기 위해 ncp-iam-authenticator를 설치하고 kubectl 설정 파일을 수정하여 이를 인증에 사용하도록 한다. ▪︎ ncp-iam-authenticator 설치 (for macOS) 1. Object Storage에서 ncp-iam-authenticator 바이너리를 다운로드 $ curl -o ncp-iam-authenticator 2. 바이너리에 실행 권한 추가 $ chmod +x ./ncp-iam-authenticator 3. $HOME/bin/ncp-iam-authenticator를 생성하고 $PATH에 추가 $ mkdir -p $HOME/..

    NKS Cluster 생성

    ▪︎ 신청 및 생성 Service - Kubernetes Service - Clusters 생성하기 요금 잘 계산한 후에 원하는 목적에 맞는 서버 스펙으로 노드풀 설정 인증키 생성 및 다운로드 클러스터 생성 스펙 리뷰 생성중 〰️ 생성하는 동안 사용자 로컬에서 클러스터 제어를 위한 kubectl 설치 # Homebrew 패키지 매니저를 사용하고 있는 macOS인 케이스 # kubectl 설치 $ brew install kubectl # 설치 버전 확인 $ kubectl version --client 생성 성공 !

    [Minikube] LoadBalancer Type 서비스 생성

    ⚠️ Local Minikube 환경에서 진행하였습니다. ⚠️ ▪︎ LoadBalancer cn-app-svc-l.yaml apiVersion: v1 kind: Service metadata: name: cn-app-svc-l spec: selector: name: cn-app ports: - port: 9002 targetPort: 8080 type: LoadBalancer 1️⃣ 매니페스트 파일로 서비스 배포하는 방법 kubectl apply -f cn-app-svc-l.yaml 2️⃣ 명령어로 서비스 배포하는 방법 kubectl expose deployment cn-app-dpy --type=LoadBalancer --name cn-app-svc-l 서비스 배포 후 확인해 보니 EXTERNAL-IP..

    [Minikube] NodePort Type 서비스 생성

    ⚠️ Local Minikube 환경에서 진행하였습니다. ⚠️ ▪︎ NodePort apiVersion: v1 kind: Service metadata: name: cn-app-svc-n spec: selector: app: cn-app ports: - port: 9001 targetPort: 8080 # 기본적으로 그리고 편의상 `targetPort` 는 `port` 필드와 동일한 값으로 설정 type: NodePort 1️⃣ 매니페스트 파일로 서비스 배포하는 방법 kubectl apply -f cn-app-svc-n.yaml 2️⃣ 명령어로 서비스 배포하는 방법 kubectl expose deployment cn-app-dpy --type=NodePort --name cn-app-svc-n NodeP..

    [Minikube] ClusterIP Type 서비스 생성

    ⚠️ Local Minikube 환경에서 진행하였습니다. ⚠️ ▪︎ ClusterIP apiVersion: v1 kind: Service metadata: name: cn-app-svc-c spec: selector: app: cn-app ports: - port: 9000 targetPort: 80 1️⃣ 매니페스트 파일로 서비스 배포하는 방법 kubectl apply -f cn-app-svc-c.yaml 2️⃣ 명령어로 서비스 배포하는 방법 kubectl expose deployment cn-app-dpy --type=ClusterIP --name cn-app-svc-c 대신 파드 생성 선언 시 or 명령어 뒤에 포트 설정(--port=**)을 해줘야 함 ClusterIP 타입으로 서비스를 배포한다...

    K8S Service Network - 실습

    ▪ 실습 ClusterIP NodePort • ClusterIP 3pod.yaml (목적지 파드) apiVersion: v1 kind: Pod metadata: name: webpod1 labels: app: webpod spec: nodeName: w1-k8s containers: - name: container image: traefik/whoami terminationGracePeriodSeconds: 0 --- apiVersion: v1 kind: Pod metadata: name: webpod2 labels: app: webpod spec: nodeName: w2-k8s containers: - name: container image: traefik/whoami terminationGracePe..

    K8S Service Network

    ▪︎ Service(서비스)란? 파드 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법 ▪ ServiceTypes(서비스 퍼블리싱) ClusterIP : 서비스를 클러스터-내부 IP에 노출시킨다. (ServiceTypes → default value) NodePort : 고정 포트(NodePort)로 각 노드의 IP에 서비스를 노출시킨다. LoadBalancer : 클라우드 공급자의 로드 밸런서를 사용하여 서비스를 외부에 노출시킨다. ExternalName : 해당 DNS Name에 대한 CNAME 레코드 반환 ▪ ClusterIP 클러스터 내부의 파드가 클러스터 내부의 다른 파드에 통신할 수 있는 서비스 제공 외부에서의 접근 불가능 모든 노드에 iptables rule 설정 파드에..