인프라&운영체제
-
[Istio] 세분화된 url 라우팅을 위한 Virtual Service 작성방법인프라&운영체제/Istio 2022. 2. 23. 00:06
요즘 회사에서 기존 서비스를 새로운 언어로 마이그레이션 작업을 하고 있다. istio를 통해 기존 서비스의 api를 신규 서비스에 새로 작성된 api로 라우팅을 해줘야하는 상황이었다. prefix를 통해 편하게 작성하면 좋았겠지만, 피처별로 완료한 개별 api 단위로 넘겨야했다. api를 작성하면 api url에 path variable이 끼어있는 케이스가 많기 때문에 중간에 path variable이 들어가도 정상적으로 라우팅 해주는 방법을 찾아야했다. 결론적으로 Virtual Service에서 제공하는 Regex(정규식) 방식으로 라우팅을 해주면 된다. 공식 레퍼런스에서 구글 Re2 정규식 스타일로 작성하면 된다고 표기 되어 있다. 근데 공식 레퍼런스에서는 딱히 예시가 보이지 않았고, 구글링을 해봐도..
-
[Istio] gateway tls 설정 방법인프라&운영체제/Istio 2022. 1. 29. 15:01
gateway에 인증서를 설치해서 통신하도록 하는 설정 방법이다. 도메인에 맞는 인증서를 먼저 다운받아야한다. 1. 다운받은 인증서 파일 압축을 풀고 key와 crt를 쿠버네티스의 secret으로 등록해주어야한다. (네임스페이스는 istio-system 아래 생성) $ kubectl create -n istio-system secret tls {secret 이름} --key={인증서 key 파일명} --cert={인증서 crt 파일명} 아래는 예시. zorba.com이라는 도메인을 사용한다는 전제 $ kubectl create -n istio-system secret tls zorba-com-credential --key=STAR.zorba.com_key.pem --cert=STAR.zorba.com_c..
-
[Istio] gateway 사용법인프라&운영체제/Istio 2022. 1. 29. 14:51
istio-ingressgateway는 아래에서 설명할 gateway와는 다른 개념이다. istio-ingressgateway는 Cluster의 entry point가 된다. 쿠버네티스에서 nginx ingress controller와 동일하게 ingress controller 역할을 수행한다. 로드밸런서 역할을 수행하며 pod로서 동작한다. istio 공식 사이트에 설명이 잘 나와있긴 하지만, 일단 정리해둔다. istio에서는 gateway와 virtual service를 통해 트래픽을 컨트롤 한다. virtual service로 패턴에 맞춰 어느 호스트 또는 서비스로 라우팅할지, 트래픽 비중(weight)을 어느정도로 할지 룰을 지정하고, gateway는 단어처럼 어느 호스트의 요청, 포트 등을 처리..
-
[Istio] Istio란?인프라&운영체제/Istio 2022. 1. 28. 12:50
Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼이다. 서비스 메쉬란? 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스 간 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층을 말한다. 서비스 메쉬는 애플리케이션 간 통신을 위해 프록시 방식으로 구축되는데, 서비스 메쉬에서는 아래처럼 요청이 자체 인프라 계층의 프록시를 통해 마이크로서비스 간에 라우팅된다. 그래서 서비스 메쉬를 구성하는 개별 프록시는 서비스 내부가 아니라 각 서비스와 함께 실행되므로 'sidecar'라고도 불린다. 서비스가 직접 서비스 간에 커뮤니케이션 통신을 통제하는 코딩을 직접하지 않아도 되기 때문에 ..
-
[Quotaguard] 407 Proxy Authentication Required 해결방법인프라&운영체제/Heroku(헤로쿠) 2020. 5. 9. 16:53
407 Proxy Authentication Required 해결방법 헤로쿠에서 제공하는 정적 IP 서비스를 제공하는 쿼터가드를 사용중에 407 Proxy Authentication Required 에러를 마주했다. 이미 방법을 논의하고 있는 중간에 끼어들어 금방 에러를 해결하긴 했지만, Proxy Authentication이란 말에 우리가 사용하는 방화벽이나 api를 콜하는 다른 서비스의 방화벽에 문제가 있는건 아닌가 의심을 하게된다. (다른 분들이 그렇게 생각하고 방화벽 문제인지 살펴보고 계셨음) 금방 해결할 것을 애꿎은 우리 서비스, 상대 서비스 방화벽을 모두 살펴보아야하는 문제가 발생한다. 이런 에러를 뱉는 이유는 쿼터가드에서 제공하는 request 허용량을 넘었거나 구독이 만료되었기 때문이다. ..
-
터미널 기본 명령어(맥 OS)인프라&운영체제/Unix&Linux 2018. 4. 9. 22:46
1. 현재 위치에서 파일 목록 보기: ls ㄴ 파일 목록 상세히 보기: ls -l ㄴ 모든 파일 보기(숨겨진 파일 포함 - 쩜으로 시작하는 파일명): ls -a ㄴ 감춰진 파일 + 상세목록 보기: ls -al 2. 현재 위치 확인: pwd 3. 원하는 디렉토리로 이동: cd Desktop(이동하고자 하는 폴더명) 4. 현재 위치에서 상위의 경로로 이동: cd ..(점 2개) 5. 자동완성: tab을 눌리면 됨. ex) development 디렉토리로 이동하려고 cd dev에서 tab 눌리면 cd development/로 자동완성된다. 6. 새 폴더 만들기: mkdir (폴더명) ㄴ 없다면 부모 디렉토리를 만들어서 원하는 경로로 디렉토리 만들기: mkdir -p (디렉토리들) ex) mkdir -p foo..
-
what is Docker?(도커란 무엇인가?) - 출처:도커 홈페이지인프라&운영체제/Docker(도커) 2017. 9. 24. 16:12
아래의 글은 원문을 자체적으로 독해를 해서 정리한 것이다. (혹시나 이 글을 읽는 사람이 있다면 전문가가 번역한 것이 아니기 때문에 번역의 오류가 많은 것을 고려하고 참고하면 좋겠다.) 1. What is Docker? Overview(전문): Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get bette..