본문 바로가기

INFRA/DevOps146

Kong API Gateway가 뭐예요? Kong이란 무엇인가? Kong 공식페이지를 보면, Kong은 MSA구성을 가속화하는 가장 유명한 오픈 소스 API Gateway라고 말합니다. 또한 경량화 된 프록시 환경위에 구축 되어 있어, 어디서든지 모든 마이크로 서비스에 성능 및 확장성을 제공한다고 합니다. 이외에도 가장 큰 특징은, 모든 기능을 Restful Interface로 제공하고 있으며, API Gateway를 구성하는 필수 기능들, 예를 들면 OAuth 인증, Logging, 유량제어 등을 Plugin 기반으로 손쉽게 추가하여 사용할 수 있으며, 위에서 언급한대로 Platform(런타임)에 구애받지 않고 어디서든지 Kong을 구축할 수 있습니다. Kong 시작하기 여러 문서나 블로그를 찾아보았는데, 대부분 Docker를 이용하여 설치를.. 2022. 12. 10.
Ansible AWX은 뭐하는 녀석일까 Ansible AWX 란 무엇인가? AWX 는 Ansible 프로젝트 관리를 위한 웹 기반 사용자 인터페이스, REST API 및 Task 엔진 제공하는 툴 입니다. Red Hat Ansible Automation Platform 프로젝트 중에 하나 이며, 오픈소스로 제공하고 있습니다. Ansible AWX github GitHub - ansible/awx: AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of t AWX provides a web-based user interface, REST API, and task engine built on top of Ansibl.. 2022. 12. 9.
EC2 Ansible로 환경구성 자동화 Ansible은 왜 사용할까? Ansible은 ssh를 이용하는 프로비저닝 자동화 도구입니다. Ansible은 ssh 접속을 통해 수십대, 수백대의 원격 서버에 접속해서 동일한 프로비저닝 작업을 동시에 수행할 수 있는 훌륭한 도구입니다. Ansible의 대표적인 장점이라면 아래와 같이 꼽을 수 있을 것 같습니다. 에이전트가 필요 없음 yaml 언어로 쉽게 작성할 수 있는 플레이북 python으로 개발됨 Ansible은 원격 서버에 에이전트를 설치하지 않아도 Ansible에서 제공하는 기본 모듈만으로 정말 많은 작업을 수행할 수 있습니다. 그리고 비교적 쉬운 yaml 언어를 사용하기 때문에 Puppet과 같은 다른 도구에 비해 접근성이 매우 높습니다. 또한 python으로 개발되어 있기 때문에 만약 모듈을.. 2022. 12. 9.
[K8s] Headless Service Headless Service란? ClusterIP가 없는 서비스로 단일 진입점이 필요 없을 때 사용 Service와 연결된 pod의 endpoint로 DNS 레코드가 생성됨 (DNS Resolving Service 지원) Pod의 DNS 주소 : pod-ip-addr.namespace.pod.cluster.local definition apiVersion: v1 kind: Service metadata: name: headless-service spec: type: ClusterIP clusterIP: None #clusterIP를 none으로 설정하면 Headless service selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80.. 2022. 12. 6.
github-action 으로 ec2 에 배포하기 Github Actions는 Github 저장소를 기반으로 Github에서 제공하는 Workflow 자동화 도구 입니다. Workflow는 Github Repository에 있는 소스들의 build, test, release, deploy 을 flow에 정의된 순서대로 실행 할 수 있도록 지원합니다. 이 Workflow는 설정된 Runner 위에서 실행이 되며 Github에서 두 종류의 Runner를 제공합니다. Github-hosted Runner(Github에서 지원하는 가상머신), Self-Hosted Runner(사용자가 직접 호스팅하는 환경)가 있습니다. Github-hosted Runner는 Microsoft Azure 기반의 가상머신으로 Linux/Windows를 지원하며 Dv2 and DS.. 2022. 12. 2.
Github Action과 AWS CodeDeploy를 활용한 CI/CD 1. 개요 1) 목적 개발과 운영을 결합한 형태인 데브옵스라는 문화가 IT 업계의 트렌드로 자리잡은지는 오래되었지만 여전히 많은 조직에서는 개발과 운영이 분리되어 있습니다. 작은 기업의 경우 실제 서비스와 관련된 애플리케이션 개발에 투자를 집중하다 보니 상대적으로 운영은 개발 이후의 부속 작업으로 여겨지는 경우가 많습니다. 상황이 이렇다 보니 개발자들은 인프라에 대한 이해가 부족한 상태에서 애플리케이션을 배포하게 됩니다. 개발 환경과 운영 환경의 차이, 트래픽 증가 등 예상하기 힘든 이벤트들로 인해 장애가 발생할 확률은 높아질 수밖에 없겠죠. 또한 출시 후 일부 기능 변경이 필요할 때도 수정한 코드를 배포하는 과정에서 서비스 중단이 발생할 수도 있습니다. 베스핀글로벌은 운영의 어려움을 쉽게 해결할 수 있.. 2022. 12. 2.
[k8s] ExternalName ExternalName이란? cluster 안에서 외부에 접속 시 사용할 도메인을 등록해서 사용 cluster 도메인이 실제 외부 도메인으로 치환되어 동작 definition apiVersion: v1 kind: Service metadata: name: externalname-svc spec: type: ExternalName externalName: google.com [ Hands - on] ExternalName yaml 파일 생성 및 실행 vi external-name.yaml apiVersion: v1 kind: Service metadata: name: externalname-svc spec: type: ExternalName externalName: google.com kubectl cre.. 2022. 11. 28.
[K8s] LoadBalancer (AKS에서 진행) LoadBalancer란? Public cloud (AWS,Azure, GCP 등)에서 운영 가능 LoadBalancer를 자동으로 구성 요청 NodePort를 예약 후 해당 nodeport로 외부 접근 허용 definition apiVersion: v1 kind: Service metadata: name: loadbalancer-service spec: type: LoadBalancer selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80 [ Hands - on ] LoadBalancer yaml 파일 생성 및 실행 vi loadbalancer-nginx.yaml apiVersion: v1 kind: Service metadata: n.. 2022. 11. 21.