본문 바로가기

전체 글92

[FastAPI] FastAPI란 Python으로 Application Server를 구축할 때 사람들이 많이 이용하는 프레임워크에는 3가지가 있다. 무겁지만 오랜 기간 이용되어 큰 커뮤니티와 다양한 레퍼런스를 가지고 있어서 빠르게 개발이 가능한 Django, 간결하고 가벼운 구조를 가지고 있어서 마이크로 서비스 개발을 빠르게 할 수 있는 Flask, 비동기 처리와 데이터 검증에 최적화되어 타 프레임워크보다 높은 성능을 가진 FastAPI가 있는데, 그중에서 FastAPI에 대하여 알아볼 것이다. FastAPI 공식 홈페이지 : https://fastapi.tiangolo.com/ko/ FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for p.. 2023. 10. 6.
[Kubernetes] Secrets 암호화 쿠버네티스 환경에서 주로 yaml 파일의 선언형 자료를 이용하여 어플리케이션 단위를 관리하는데, 그 선언형 자료에서 공통적인 상수 값들은 주로 Configmap을 이용하고, 일반적으로 공개되지 않아야하는 값들은 Secret을 통하여 값을 배정하게 된다. 하지만 여기서 큰 문제가 발생한다. 쿠버네티스 클러스터에서 기본적으로 Secret 값은 암호화되지 않고 그저 Base64로 인코딩되어 저장된다는 것이다. https://kubernetes.io/ko/docs/concepts/configuration/secret/ 시크릿(Secret) 시크릿은 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트이다. 이를 사용하지 않으면 중요한 정보가 파드 명세나 컨테이너 이미지에 포함될 수 있다. 시크릿.. 2023. 9. 26.
[Spring-Boot] Swagger(OpenAPI) - Failed to load remote configuration (Reverse-Proxy) 사내 프로젝트를 진행하면서, 쿠버네티스 환경에서 각각의 Micro-Service에 요청을 하기 위하여 Kong Ingress Controller를 이용하였는데, 그 과정에서 Swagger 접속 시 발생한 에러에 관한 내용이다. 위의 사진을 보면, URI의 End-Point를 기반으로 서비스를 분기하여 각 파드에 요청을 보내는 것을 볼 수 있다. 운영하는 환경에서는 각 Pod에서 Spring-boot 기반의 애플리케이션 서버를 운영하고 있었는데, Springdoc의 Swagger에 접속하면 다음의 화면을 볼 수 있었다. 이와 관련하여 빠르게 네트워크 상의 문제라고 인지하였고, Springdoc의 공식 문서에서 관련된 자료를 찾았다. https://springdoc.org/#how-can-i-deploy-s.. 2023. 9. 14.
[Kubernetes] Ubuntu 환경에서 K9S 설치 1. K9S K9S란, Kubernetes 클러스터와 편리하게 상호 작용하기 위한 터미널 기반의 UI를 제공하는 Golang 기반의 오픈소스 프로젝트다. 이는, 탐색과 관찰 및 관리에 용이하다는 장점을 가지고 있고, 지속적으로 Kubernetes의 변경 사항을 감시하고 관찰된 리소스와 상호 작용하기 위한 후속 명령이 가능하여 편리함을 제공한다. https://k9scli.io/ K9s - Manage Your Kubernetes Clusters In Style Who Let The Pods Out? K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier t.. 2023. 9. 7.
[Kubernetes] 쿠버네티스 노드(Node) 및 파드(Pod) 사용 중 컴퓨터 자원(Resource) 확인 쿠버네티스 클러스터 환경을 이용할 때 노드 또는 파드에서 사용하고 있는 컴퓨터 자원을 관리적 차원에서 확인하고 싶을 때가 있을 것이다. 서버(노드) 단위로의 컴퓨터 자원을 사용하고 있는 총량은 리눅스 등의 명령어로 확인할 수 있는데, 쿠버네티스의 클러스터 내부 세부적인 환경의 컴퓨터 자원 사용량은 별도의 플러그인을 설치하여 확인할 수 있다. 플러그인에 대한 설명은 아래 쿠버네티스 공식 Docs를 통하여 알아볼 수 있다. https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/ Resource metrics pipeline For Kubernetes, the Metrics API offers a basic set of m.. 2023. 8. 30.
[Linux/Ubuntu] txt / yaml 등의 파일 문자열 치환(변경) 최근의 다량의 yaml 파일의 특정 단어를 다른 단어로 수정을 하는 일이 있었는데, 그 과정에 많은 도움이 된 명령어이다. Linux의 sed라는 명령어를 통하여 일괄적으로 수정하는데 많은 도움을 받았고 아래 예제를 통해 알아볼 것이다. sed : stream edit이라는 단어의 축약 기본적으로 sed 명령어는 s로 시작하여 g로 끝나고 그 사이를 /로 구분하여 바꿀 단어와 바뀔 단어로 구분한다. sed "s/변경하고 싶은 단어/변경할 단어/g" 아래는 텍스트를 예시로 들어볼 것이다. # bash cat simple.txt # ---------- 출력 ---------- # hello world! simple.txt라는 텍스트 파일이 존재하고 내용은 hello world!라는 텍스트를 저장하고 있다. .. 2023. 8. 26.