# Ingress Migrator ### Container Image Build ```shell git clone https://git.jhcloud.kr/sa_8001/ingress_migrate_annotations.git cd ingress_migrate_annotations podman build -t sa8001/ngtoha:v3.1.7 . ``` ### Deploy ```shell kubectl apply -f ./yaml -n {NAMESPACE_NAME} ``` ### 결과 ```shell [root@p-jhbyun-master covert]# kubectl get all -n testapp NAME READY STATUS RESTARTS AGE pod/ingress-migrator-web-6777bb7cb7-k9kj7 1/1 Running 0 63s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ingress-migrator-web NodePort 10.97.101.243 80:30922/TCP 63s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/ingress-migrator-web 1/1 1 1 63s NAME DESIRED CURRENT READY AGE replicaset.apps/ingress-migrator-web-6777bb7cb7 1 1 1 63s ``` ### UI ![메인화면](./image/main.png) - 메인 화면, 변환 대상 인그레스 클레스 네임, 변경할 인그레스 클레스 네임, 네임스페이스 입력 - From ingressClassName : default 값 nginx - To ingressClassName: default 값 haproxy - Namespace : 미입력시 모든 네임스페이스 대상 ![결과](./image/preview.png) - 각 `Yaml 이름` 클릭시 미리 보기 가능 - `View Migration Report` 클릭시 변환 결과 확인 - `Download Result ZIP` 클릭시 변환된 Yaml 다운로드 - `Download Backup ZIP` 클릭시 원본 Yaml 다운로드 - `Replace Converted YAML` 변환된 Yaml을 사용하여 ingress 재배포 - `Rollback from Backup` 원본 Yaml을 사용하여 ingress 재배포 ![변환](./image/coverted.png) - 변환된 Yaml 내용 확인 가능 - 내용 수정 후 `Save` 클릭시 저장 - `Cancel` 클릭시 취소 및 뒤로가기 ![백업](./image/original.png) - 백업된 원본 Yaml 내용 확인 - 원본은 `수정 불가능` ![리포트](./image/report.png) - 리포트를 통해서 변환된 내용 확인 가능 - 해당 내용은 변환된 각 Yaml에도 있음 ![배포](./image/replace.png) - 변환된 Yaml을 통해서 재배포 후 결과 출력 ![롤백](./image/rollback.png) - 백업된 원본 Yaml을 통해서 재배포 후 결과 출력