PaaS 221

Github Actions) Workflow 자동실행 조건에 Tag와 Branch 모두 걸기

이놈의 Workflow가 하나의 Commit의 일부이다 보니까, 여기저기 Branch에서 조건만 맞으면 돌아간다.. Tag조건이 원래 아래와 같은데 이게 문제가.. Branch안따지고 걍 Tag push하면 돌아간다는거다.. on: push: tags: - 'v*' 그래서 Tag를 붙이는 Target이랑 같이 And 조건을 걸면 훨씬 안정적인데, 이게 쉽지 않다. 결국 Release condition으로 가야한다. on: workflow_dispatch: release: types: [published] jobs: deploy: if: github.event.release.target_commitish == 'prod' uses: ./.github/workflows/deploy-application.ya..

PaaS/CI CD 2024.02.20

Github Actions) 성능제고를 위한 방안 cache

의존성 다운로드가 있을때는 Cache가 상당히 효과가 있다. https://github.com/actions/cache GitHub - actions/cache: Cache dependencies and build outputs in GitHub Actions Cache dependencies and build outputs in GitHub Actions - actions/cache github.com - name: Load cached node_modules uses: actions/cache@v3 with: path: node_modules key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package.json') }} 이러한 프로세스 후에 npm in..

PaaS/CI CD 2024.02.20

KeyCloak) 사용자에게 OTP 인증을 요구하기

1) 적용할 Realm의 [Authentication] - [Required actions]에서 Set as default actions Configure OTP를 활성화 한다. 2) 설정이 필요하다면 [Authentication] - [Policies] - [OTP Policy] 를 수정한다. 3) 간단히 테스트해보기 위해 새로운 User를 등록하는데, Required user actions에 Configure OTP가 등록되어 있는지 확인한다. 4) 로그인 해보면 OTP인증을 요구하고 있음을 확인할 수 있다.

PaaS/기타 2024.02.04

KeyCloak) SSL없이 설치하기 On-Premise

OS: Centos 7 사전 준비사항 - JDK 17이 필요하다. KeyCloak 설치 # wget https://github.com/keycloak/keycloak/releases/download/23.0.6/keycloak-23.0.6.zip # unzip keycloak-23.0.6.zip KeyCloak Startup 스크립트 작성 및 구동 #!/bin/bash export KEYCLOAK_ADMIN=admin export KEYCLOAK_ADMIN_PASSWORD=password ./keycloak-23.0.6/bin/kc.sh start-dev& KeyCloak SSL Disable 설정 #!/bin/bash keycloak-23.0.6/bin/kcadm.sh config credentials..

PaaS/기타 2024.02.04

Github Actions) AutoScaling Runner Controller 아키텍처 설명

공식가이드 : https://docs.github.com/ko/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/quickstart-for-actions-runner-controller 공식설명서 : https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller#about-actions-runner-controller 기존 Runner 방식과 다른점은 Workflow가 동시에 발생하더..

PaaS/CI CD 2024.01.28

간단히 istio + kiali 설치하기 Operator 사용

설치 요소 istio kiali prometheus Istio 를 Bastion Host에 설치한다. $ curl -L https://istio.io/downloadIstio | sh - $ cp istio-1.18.1/bin/istioctl /usr/local/bin/ $ istioctl profile list $ istioctl install --set profile=demo -y istio 사이드카를 붙이고 싶은 namespace에 라벨링을 한다. $ kubectl label namespace development istio-injection=enabled 이제 Kiali 를 Operator로 설치해보자. $ wget https://raw.githubusercontent.com/istio/istio..

Provider별 Ingress Class의 개발 상태

NGINX : https://kubernetes.github.io/ingress-nginx/examples/ Github Repo : https://github.com/kubernetes/ingress-nginx 역시 원조 답다.. 기능도 많고 문서화도 잘되어 있고.. 못하는게 없음 AWS : https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.5/guide/ingress/annotations/ AWS는 역시.. 정말 문서화가 잘되어 있다. 참고로 Canary 배포도 가능함. alb.ingress.kubernetes.io/actions.forward-single-tg: > {"type":"forward","targetGroupARN": "..

PaaS/Kubernetes 2024.01.22

Deployment를 배포한 후 Rollback이 필요할때

1. Deployment Roll-out 기록 확인 kubectl rollout history deployment/{Deployment 명} 2. 해당 revision의 세부 정보 확인 kubectl rollout history deployment/{Deployment 명} --revision={조회할 revision} 3. Roll-Back kubectl rollout undo deployment/{Deployment 명} 직전 버전으로 롤백 kubectl rollout undo deployment/{Deployment 명} --to-revision={revision} 특정 버전으로 롤백 하려면 --to-revision 옵션을 이용해 원하는 버전을 명시해줌. kubectl annotate deploym..

PaaS/Kubernetes 2024.01.18