스키마 레지스트리 UI를 EKS환경에서 사용할 수 있도록 구성한다
해당 문서에서는 schema registry ui를 SRU
로 명명한다
EKS에서 구동하기 위한 docker 이미지가 있어야 한다. 해당 이미지는
landoop
이라는 사람? 명칭? 기업?이 제공하고 있는 이미지를 사용한다
💡 현재 날짜 기준 (2022. 01. 21) 가장 최신 버전이 `0.9.5` 이다.
landoop/schema-registry-ui:0.9.5
도커에서 SRU을 구동시킬때 필요한 옵션은 다음과 같다
이전에 작업된 EKS SR의 서비스명(dev-schema-registry-service)을 입력한다
단, 로컬환경에서의 연결은 /etc/hosts를 변경해서 사용해야한다 ( 로컬호스트끼리 안됨 )
REST API를 사용하기 위한 허용 메소드 옵션인듯 하다. 설정하지 않으면 연결 실패
REST API를 행위를 허용하는 것으로 추측
이미지를 구동하는 웹서버인 CADDY 옵션 설정, 현재 쿠버네티스에서는 시간 초과를 적용하지 않는 옵션
CORS 문제가 있거나 방화벽을 통과하고 서버를 공유하려는 경우 PROXY
옵션을 추가 해야한다. 같은 대역대 에서 SR과 SRU의 연동시 필수 옵션이다
스키마 레지스트리가 자체 서명된 SSL 인증서를 사용하는 경우 PROXY_SKIP_VERIFY=true
환경 변수를 사용하여 백엔드 TLS 인증서를 확인하지 않도록 프록시에 지시할 수 있습니다
docker run -p 8000:8000 \
-e SCHEMAREGISTRY_URL=http://kubernetes.docker.internal:8081 \
-e SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_METHODS=GET,POST,PUT,OPTIONS,HEAD \
-e SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_ORIGIN='*' \
-e PROXY=true \
-d landoop/schema-registry-ui:latest
apiVersion: apps/v1
kind: Deployment
metadata:
name: schema-registry-ui
namespace: dev
labels:
app: schema-registry-ui
spec:
replicas: 1
selector:
matchLabels:
app: schema-registry-ui
template:
metadata:
labels:
app: schema-registry-ui
spec:
containers:
- name: schema-registry-ui
image: landoop/schema-registry-ui:0.9.5
imagePullPolicy: Always
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: 500m
memory: 1024Mi
env:
- name: SCHEMAREGISTRY_URL
value: "http://dev-schema-registry-service"
- name: SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_METHODS
value: "GET,POST,PUT,OPTIONS,HEAD"
- name: SCHEMA_REGISTRY_ACCESS_CONTROL_ALLOW_ORIGIN
value: '*'
- name: PROXY
value: "true"
- name: PROXY_SKIP_VERIFY
value: "true"
- name: CADDY_OPTIONS
value: "timeouts none"
ports:
- containerPort: 8000