Windows11 + docker desktop k8s 에 SCDF UI 설치

2023. 9. 13. 21:29·CloudNative/Orchestration & Management

 

scdf 설치에 앞서 windows 에 istio 까지 기본 설정해본다

 

k8s

k8s는 도커데스크탑으로 일단 해결. 간단스👌해서 따로 설치 방법은 적지 않는다. 

 

helm

헬름은 환경변수로 설정해주면 끝이다.

https://github.com/helm/helm/releases 로 이동해서 최신 릴리즈의 windows amd 64 binary를 다운받는다

 

Releases · helm/helm

The Kubernetes Package Manager. Contribute to helm/helm development by creating an account on GitHub.

github.com

그리고 다운 받은 경로를 환경변수에 등록한다.

굳👍

 

 

istio

istio는 operator로 설치한다. 뭐든지 간단한게 좋다. 

먼저 istioctl 부터 설치한다. helm과 마찬가지로 binary로 설치하고 환경변수로 등록한다.

Istio의 가이드대로 https://github.com/istio/istio/releases/tag/1.19.0 로 이동해서 istio wind amd64 버전을 다운받아 압축을 해제하고 해당 경로를 환경변수로 등록한다.

 

Release Istio 1.19.0 · istio/istio

Artifacts Release Notes

github.com

터미널에서 테스트

istio 가이드대로 터미널에서 istioctl operator init 을 실행하여 설치. (https://istio.io/latest/docs/setup/install/operator/ 참조)

 

Istio Operator Install

Instructions to install Istio in a Kubernetes cluster using the Istio operator.

istio.io

gateway-vs.yaml 을 아래 내용으로 만들어놓고 apply 한다. (2부에서 버츄얼서비스를 붙이려고 이름을 scdf로 했다)

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: scdf-gateway
  namespace: default
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*'
    port:
      name: http
      number: 8080
      protocol: HTTP

이제 scdf 를 설치해보자

https://dataflow.spring.io/docs/installation/kubernetes/helm/

 

Documentation | Spring Cloud Data Flow

 

dataflow.spring.io

공식 가이드로 이동해서 설치 방법을 보니 미리 준비한 helm 설치방법이 보인다. 따라하자. 

이름을 좀 바꾼다는게 나도 모르게 그대로 my-release로 설치해버렸다. helm unsintall 도 귀찮아서 my-release로 한다.

helm install my-release oci://registry-1.docker.io/bitnamicharts/spring-cloud-dataflow

※ 간혹 server와 skipper 가 pending 되는 현상이 보일수 있다. 이런 저런 방법으로 scdf를 몇번 설치를 해봤을때 공통된 원인은 SCDF 설치하면 기본으로 파드가 4개는 생성되는데 SCDF Server, SCDF Skipper, DB,  MQ 또는 Kafka이다. DB와 MQ/Kafka에서 볼륨을 필요로 하는데, 대부분 pending 원인은 DB와 MQ의 PVC에 바인드 할 PV가 생성되지 않은 경우이니 이럴땐 PV를 생성해준다.

 

설치가 잘되었나 확인해본다.

PS D:\> kubectl get po,svc
NAME                                                            READY   STATUS    RESTARTS       AGE
pod/my-release-mariadb-0                                        2/2     Running   8 (30m ago)    7d8h
pod/my-release-rabbitmq-0                                       2/2     Running   8 (30m ago)    7d8h
pod/my-release-spring-cloud-dataflow-server-599bbd6bcb-ljdkv    2/2     Running   13 (29m ago)   7d8h
pod/my-release-spring-cloud-dataflow-skipper-75c47dc7b8-ph9gj   2/2     Running   13 (29m ago)   7d8h

NAME                                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                 AGE
service/details                                    ClusterIP   10.101.222.125   <none>        9080/TCP                                34d
service/kubernetes                                 ClusterIP   10.96.0.1        <none>        443/TCP                                 54d
service/my-release-mariadb                         ClusterIP   10.111.37.122    <none>        3306/TCP                                7d8h
service/my-release-rabbitmq                        ClusterIP   10.102.132.254   <none>        5672/TCP,4369/TCP,25672/TCP,15672/TCP   7d8h
service/my-release-rabbitmq-headless               ClusterIP   None             <none>        4369/TCP,5672/TCP,25672/TCP,15672/TCP   7d8h
service/my-release-spring-cloud-dataflow-server    ClusterIP   10.100.78.17     <none>        8080/TCP                                7d8h
service/my-release-spring-cloud-dataflow-skipper   ClusterIP   10.97.133.154    <none>        80/TCP                                  7d8h

이제 scdf 버츄얼서비스를 생성한다. scdf-vs.yaml을 아래 내용으로 생성하고 apply 한다.

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: scdf
  namespace: default
spec:
  gateways:
  - scdf-gateway
  hosts:
  - '*'
  http:
  - route:
    - destination:
        host: my-release-spring-cloud-dataflow-server
        port:
          number: 8080

배포까지 완료됐으면 이제 브라우저에서 dashboard로 이동해 정상으로 뜨는지 확인한다.

http://localhost/dashboard 로 이동해보자. 이런 페이지가 뜬다면 잘 연결된 것이다. 

 

 

다음으로 2부에서는 스프링부트 어플리케이션을 이미지로 만들어서 scdf에 어플리케이션으로 등록하는 부분가지 정리해보자.

728x90

'CloudNative > Orchestration & Management' 카테고리의 다른 글

Openshift service mesh gatway, virtualservice, serviceEntry  (1) 2024.11.10
Openshift service mesh (istio)  (0) 2024.11.09
metallb  (1) 2024.04.12
'CloudNative/Orchestration & Management' 카테고리의 다른 글
  • Openshift service mesh gatway, virtualservice, serviceEntry
  • Openshift service mesh (istio)
  • metallb
yunapapa
yunapapa
working on the cloud
    250x250
  • yunapapa
    supermoon
    yunapapa
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 개발 (20)
        • java (17)
        • web (2)
        • MSX (1)
        • Go (0)
      • CloudNative (50)
        • App Definition & Developeme.. (17)
        • Orchestration & Management (4)
        • Runtime (3)
        • Provisioning (7)
        • Observability & Analysis (14)
        • event review (5)
      • AWS (7)
      • 환경관련 (17)
      • 취미생활 (0)
        • 맛집 (0)
        • 게임 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • CNCF Past Events
    • Kubernetes Korea Group
  • 공지사항

  • 인기 글

  • 태그

    helm
    gitlab
    dop-c02
    istio
    Pinpoint
    kubernetes
    AWS
    APM
    Java
    devops
    k8s
    티스토리챌린지
    오블완
    OpenShift
    springboot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
yunapapa
Windows11 + docker desktop k8s 에 SCDF UI 설치
상단으로

티스토리툴바