소개 Multipass vm 운영 중 그동안 몰랐던 VPN 사용시 생기는 네트워크 문제를 처음으로 인지하게 되어 기록으로 남겨 놓을려고 합니다. 현상 회사 업무 중에는 VPN 사용을 하고 있습니다. Agent 기반의 SSL VPN 을 사용하고 있는데요. 그리고 개인적인 테스트 환경을 위해 VM 구성을 Multipass 를 이용하고 있습니다. 그런데 이전 VPN 을 사용하지 않는 개인 랩탑 환경에서는 몰랐다가 […]
tfenv 이용한 Terraform Version 관리
소개 동일 환경에서 다양한 Terraform Version 을 사용하고 싶을때가 있습니다. 가령 여러 Terraform Project 를 하거나, 특정 Terraform Version 에서 Test 가 필요할 경우가 있을 수 있죠. 이럴 경우 tvenv 이라는 Terraform Version Management 를 이용할 수 있습니다. tfenv 란? tfenv 란 Terraform 의 여러 Version 을 관리할 수 있도록 하는 버전 관리 툴이며 특징은 […]
Android APK Download 방법들 (안드로이드 앱 APK 다운로드)
소개 데스크탑에서 Android APK 파일이 필요할 경우, 다운로드 할 수 있는 방법을 정리합니다. APK Mirror 사이트를 주로 이용하였었는데, 이 사이트에 없을 경우도 있어 Google Play 링크를 이용하여 APK 다운로드 할 수 있는 방법도 있어 추가하였습니다. 안드로이드 APK 다운로드 방법들 1. APK Mirror 사이트 이용 apkmirror site 를 통해 원하는 앱을 다운로드 가능합니다. 접속 후, 원하는 […]
ArgoCD 설치 및 github action 배포 환경 구성
소개 이전까지는 어플리케이션 배포를 위한 CI/CD Pipeline 구성을 Github-Action(self-hosted) 을 이용하여 모두 구성하였었습니다. 이번에는 ArgoCD 를 이용하여 GitOps 기반으로 자동 배포 파이프라인을 고도화 해보려 합니다. GitOps 를 위해 ArgoCD 를 구축하였고, 이전 포스트까지 구현하였던 인프라와 어플리케이션 기반으로 ArgoCD 로 전환한 절차를 정리해 봅니다. ArgoCD 란? ArgoCD 는 GitOps 기반으로 kubernetes 에 서비스를 배포하기 위한 도구입니다. […]
Github Self-hosted runner 구축 후 배포 Pipeline 만들기
소개 로컬환경 multipass에 kubernetes 을 구축하였었습니다. 그리고 kubernetes 환경에 application 을 배포하기 위한 CI/CD pipeline 은 github action 을 사용하고 있는데요. 로컬환경에 구성한 kubernetes 인 만큼 kubernetes API 의 외부 노출을 피하고 싶어, github self-hosted runner 를 구축해보았습니다. Github Self-hosted runner 란? github action 은 기본적으로 SaaS 형태로 github 에서 제공해주는 github-hosted runner 머신 위에서 […]
Github Self-hosted runner 의 TLS handshke timeout 네트워크 에러 해결
소개 로컬환경에 구축한 multipass + kubernetes 환경에 github self-hosted runner 을 구축하면서 만난 네트워크 문제의 해결 과정에 대해 정리해보려합니다. kubernetes 환경에서 github ARC(Actions Runner Controller) 를 통해 self-hosted runner 를 구축하였는데요. self-hosted runner 는 잘 구축이 되어 Action workflow 를 돌려도 그런데로 잘 구동이 되었습니다. 그런데 Action workflow 구동 과정에서 network 관련 error 가 너무 […]
로컬 k8s 에서 ngrok ingress controller 로 서비스 인터넷 노출하기 (expose kubernetes services to internet for test)
소개 로컬환경에서 github webhook 테스트와 같이 잠시 외부 인터넷 노출이 필요한 테스트용 서비스가 있을시 ngrok 을 자주 사용을 하고 있습니다. 로컬 환경에 대해서 인터넷 노출을 위해 별도의 고정 Public IP, DNAT, DNS 설정 등이 필요 없이 간편하게 ngrok 임시 도메인을 통해 외부에서 접속이 가능해서인데요. 그동안은 주로 localhost 에서 특정 포트를 리스닝하는 서비스를 만들고 바로 ngrok […]
Granted – AWS 간편 Role 전환 툴 추천 (AWS Role Switch tool)
소개 AWS 의 Multi Account 환경에서 CLI 나 콘솔을 통해 여러 계정에 접속하여 멀티뷰를 봐야할 때가 실무에서는 많습니다. AWS SSO 를 이용할 경우 SSO 페이지를 통해 쉽게 콘솔에서의 account 및 role 전환이 가능하긴 합니다만, 동시에 여러 account 의 role 을 보고 싶을때는 세션을 공유안하는 브라우저를 여러개 띄워야 한다거나 하는 번거로움이 많이 존재합니다. AWS 에서는 인증시 […]
Poetry virtualenvs (venv) 프로젝트 내에 위치 설정 방법
소개 저는 Python 패키지, 가상환경 매니저로서 Poetry 를 사용하고 있습니다. Python 에서는 의존성 관리 측면에서 항상 좀 부족한 면이 있다는 생각을 하였는데, Poetry 를 사용함으로서 많이 해소가 되었던 것같습니다. 오늘은 이 Poetry 에서 지원하는 virtualenvs 생성 폴더를 default 폴더가 아닌 프로젝트 내에 설정이 되도록 설정하는 방법을 공유하고자 합니다. 요약 설정 1. poetry config 확인 2. […]
Node.js Syslog 전송을 위한 Syslog Client 구현
소개 최근 AWS Lambda를 이용하여 AWS에서 발생되는 각종 로그들을 Syslog Format 으로 전송하고 통합하기 위해 Syslog Client 를 구현하고 있습니다. 이에 사전에 분석해본 Syslog Format 을 기반으로 Node.js를 통한 Syslog Client를 구현해 보았습니다. Syslog Format Syslog Client 구현을 위해 사용한 Syslog Format은 RFC5424 에 명시되어있는 포맷을 이용 하였습니다. Node.js 로 Syslog Client 구현 Syslog 는 […]