분류 전체보기 721

테라폼 시리즈 1편. IAC 정의와 테라폼

안녕하세요. 이 글은 테라폼스터디 1주차 내용을 정리했습니다. 1. IAC란? 테라폼은 IAC도구입니다. 그러므로 IAC가 무엇인지 이해하는게 중요합니다. IAC(Infrastructure as Code, IaC)는 코드로 인프라를 관리하는 방법입니다. 코드로 인프라를 관리한다는 말이 무엇일까요? 사용자는 생성/수정/삭제하고 싶은 인프라 자원을 코드로 작성합니다. 그리고 사용자가 IAC도구를 실행하면, IAC도구가 코드를 해석해석 인프라 자원을 반영시킵니다. 그렇다면 코드로 어떻게 인프라를 생성/수정/삭제 작업을 할 수 있을까요? 정답은 인프라를 제공하는 환경에서 코드관리 기능을 지원하기 때문입니다. 모든 인프라를 코드로 관리할 수 없고 코드관리기능을 지원하는 환경에서만 사용가능합니다. 대표적으로 가상머..

연재 시리즈 2022.10.17

Typescript 에러 - default import when using the 'esModuleInterop' flag.

오류 원인 Typescript가 import하여 사용하는 모듈이 CommonJS문법으로 가져오게 설정되어 있는데, ES6문법으로 가져올때 생기는 오류입니다. 오류해결 방법 typescript설정파일(tsconfig.json)에 compilerOptions필드를 설정하여 오류를 해결할 수 있습니다. esModuleInterop필드를 true로 설정하면 오류가 해결됩니다. { "compilerOptions": { "lib": [ "es5", "es6" ], ... "esModuleInterop": true, ... } }

ArgoCD 8편 - Non Cascade 삭제

영상: https://youtu.be/PxLJMM_8hxs 개념 ArgoCD Application을 삭제할 때, 쿠버네티스 리소스는 그대로 두고 Application만 삭제하는 옵션입니다. 디폴트는 ArgoCD Application을 삭제하면 Application에 연결된 쿠버네티스 리소스 전부 삭제됩니다. 예제 HelloWorld예제(https://malwareanalysis.tistory.com/405)글을 참고하여 ArgoCD Application을 생성합니다 kubectl get po,svc | grep argocd Application을 Non Cascade옵션으로 삭제해보겠습니다. Delete버튼을 클릭하면 삭제옵션이 있습니다. 세번째 옵션인 Non Cascade를 선택합니다. Applicat..

연재 시리즈 2022.10.08

Configmap From File

configmap from file이란? 참고자료: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#create-configmaps-from-directories 파일을 configmap으로 관리하는 방법입니다. 언제 사용할까? 파일을 쿠버네티스 노드 또는 서버에 저장하지 않고 쿠버네티스로 파일을 관리하고 싶을 때 사용합니다. 노드 또는 파일서버에 존재하는 파일을 마운트해서 사용하는 경우가 종종 있습니다. pod에서는 파일을 마운트해서 사용하려면 hostpath 또는 NFS 등 프로토콜을 사용해야 합니다. hostpath를 사용하면 nodeAffinity등 같은 스케쥴 설정이 필요합니다. NFS 등 프로토콜..

쿠버네티스 Replica 설정 시 주의사항

안녕하세요. 이번 시간에는 쿠버네티스에 운영중인 pod에서 Replica를 수정할 떄 주의사항을 소개합니다. 영상: https://youtu.be/d_GTfuwOUWM Replica가 애플리케이션 영향을 어떻게 주는지 쿠버네티스가 아닐지라도 애플리케이션 운영에서 가장 중요한 것은 아키텍처 이해라고 생각합니다. 애플리케이션 아키텍처가 인스턴스 수정할 때 기존 환경에 영향 있다면, 쿠버네티스 쿠버네티스 또한 Replica를 수정할 때 영항이 있습니다. MSA 아키텍처, 분산 아키텍처 등이 대표적인 예입니다. 분산 아키텍처 예 분산 아키텍처의 대표적인 애플리케이션은 데이터베이스입니다. Redis, MongoDB, ElasticSearch, Hadoop 등이 해당됩니다. 분산 아키텍처를 가진 데이터베이스는 여러..

Dockerfile 변수 ARG

영상: https://youtu.be/3GnWXTCKTEM Dockerfile 변수 Dockerfile도 프로그래밍 함수처럼 변수를 사용할 수 있습니다. 변수선언 키워드는 ARG입니다.사용방법은 = 입니다. 선언한 변수는 리눅스 변수처럼 달러로 접근할 수 있습니다. 아래 예제 Dockerfile는 tmp라는 변수를 선언하고 디폴트 값을 a로 초기화했습니다. 그리고 echo명령어로 tmp변수 값을 출력했습니다. FROM busybox ARG tmp=a RUN echo $tmp 외부 초기화 Dockerfile ARG로 선언된 변수는 외부에서 값을 초기화할 수 있습니다. docker build명령어를 실행할 때, build-arg로 초기화합니다. docker build --build-arg tmp=hellow..