Seldon Core는 Kubeflow의 구성 요소로 포함되어 있습니다. 별도로 설치가 필요 없이 사용할 수 있습니다. 물론 Kubeflow 없이 독립적으로 설치해서 사용할 수도 있습니다.
Seldon Core 설치
Kubeflow와 함께 Seldon Core 설치
Selcon Core은 Kubeflow를 설치할때 기본적으로 설치됩니다. Kubeflow 매니페스트에 Selcon Core를 설치하는 부분이 포함되어 있습니다. Kubeflow와 함께 설치되는 KFServing의 경우 KFServing 컨트롤러는 kubeflow
네임스페이스에 배포됩니다.
Seldon Core를 사용하려면, 모델 서버를 생성할 네임스페이스가 다음과 같은지 확인해야합니다.
kubeflow-gateway
라는 Istio 게이트웨이 가 있어야 합니다.[serving.kubeflow.org/inferenceservice=enabled](<http://serving.kubeflow.org/inferenceservice=enabled>)
레이블이 추가 되어 있어야 합니다.
Kubeflow의 대시보드나 프로필 컨트롤러(Profile Controller)를 사용하여, 사용자 네임스페이스를 만드는 경우에는 Seldon Core에서 모델을 배포할 수 있도록 serving.kubeflow.org/inferenceservice: enabled
레이블이 자동으로 추가됩니다. 만약 네임스페이스를 직접 생성하는 경우에는 해당 네임스페이스에 serving.kubeflow.org/inferenceservice: enabled
레이블을 추가해야만, Selcon Core를 정상적으로 사용할 수 있습니다.
다음은 my-namespace
네임스페이스에 레이블을 추가하는 예제입니다.
kubectl label namespace my-namespace serving.kubeflow.org/inferenceservice=enabled
Kubeflow와 함게 설치된 Seldon Core는 istio를 사용하고 있습니다. Istio는 Seldon Core가 새롭게 배포한 대상들을 자동으로 연결할 수 있는 수신 게이트웨이를 제공합니다. kubeflow-gateway
라는 Istio 게이트웨이를 사용합니다.
다음은my-namespace
라는 네임스페이스에 kubeflow-gateway
라는 게이트웨이를 만드는 예제입니다.
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: kubeflow-gateway namespace: my-namespace spec: selector: istio: ingressgateway servers: - hosts: - '*' port: name: http number: 80 protocol: HTTP
독립형 Seldon Core 설치
독립형 Seldon Core는 Helm 3를 이용하여 간단히 설치할 수 있습니다.
먼저 Seldon Core를 설치할 네임스페이스를 생성합니다.
kubectl create namespace seldon-system
helm과 seldon-charts를 이용하여 Seldon Core를 설치합니다.
helm install seldon-core seldon-core-operator \\ --repo <https://storage.googleapis.com/seldon-charts> \\ --set usageMetrics.enabled=true \\ --namespace seldon-system \\ --set istio.enabled=true