Home
icyou
Cancel

Terraform state 관리

Terraform state 관리 terraform.tfstate와 실제 cloud infra 사이의 sync가 맞지 않을 경우, terraform import 또는 terraform state rm을 통해 cloud의 자원을 terraform.tfstate에 저장하거나 cloud에는 이미 삭제된 자원을 tfstate에서도 삭제시켜줄 수 있습니다. ...

tekton

tekton kubernetes-native하고 service를 잘게 나누면서(microservice) 이를 container 환경에서 돌리는 cloud-native한 CI/CD tool입니다. Kubernetes의 권장사항에 맞게 Custom Resource Definition(CRD)로 작성되어 있어 재사용성이 높고 customizing이...

terraform으로 EKS 생성 시 Trouble shooting

terraform으로 EKS 생성 시 Trouble shooting terraform aws module을 사용한다면, 비교적 편리하게 eks를 생성할 수 있지만, 직접 terraform language로 eks resource들을 일일이 생성하려고 시도한다면, 수많은 에러를 마주할 수 있습니다. NodeCreationFailure: insta...

terraform으로 eks 작성 시 주의사항

terraform으로 eks 작성 시 주의사항 terraform으로 eks를 작성하는데, getting credentials ~ 혹은 no kind "ExecCredential" is registered ~라는 에러가 발생한다면 사용환경의 aws cli version이 낮아서 생기는 문제일 가능성이 있습니다. aws cli의 version이 낮고...

EFK 설치 시 주의사항

EFK 설치 시 주의사항 EKS 안에 최신 EFK를 설치하려고 하는데, 쓸만한 example 혹은 guide를 찾기가 힘듭니다. 그래서 간단하게 주의할 점을 적어둡니다. 먼저 architecture를 알아둘 필요가 있습니다. architecture에 나온 것처럼 elasticsearch는 log들을 모아둘 저장소 pvc가 ...

kubernetes에서 AWS 접근 (OIDC, IRSA)

EKS cluster의 내부에 구성되어 있는 kubernetes 자원들은 AWS의 자원들을 CRUD할 수 없고, AWS의 계정 또한 kubernetes 자원들을 보거나 조작할 수 없습니다. 즉, kubernetes 자원과 AWS 자원은 서로 다른 영역에 있습니다. 그렇기 때문에 서로에게 접근하기 위해서는 특별한 추가 작업이 필요합니다. AWS...

Authentication vs Authorization

Authentication vs Authorization Authentication(인증): Login Authorization(인가): Authority(권한) Authentication Authorization 사용자가 요청자인지 확인 사용자의 ...

RBAC, IAM

RBAC(Role Based Access Control) 역할을 기반으로 한, 자원 접근에 대한 통제를 의미합니다. 아래와 같이 RBAC를 사용할 경우, team 구성원이 바뀌어 user를 변경할 때 각 자원에 접근하는 권한은 그대로 두고 user만 각각에 맞는 권한으로 바꿔주기만 하면 되어서 유지보수가 편합니다. IAM 아래와 같...

Hoisting이란

Hoisting Javascript는 hoisting이라는 개념이 있습니다. interpreter가 변수와 함수의 선언 전에, 메모리 공간을 미리 할당해놓는 것을 말합니다. catName("철수"); function catName(name) { console.log("제 고양이의 이름은 " + name + "입니다"); } 다른 언어는 함수...

DNS

DNS(Domain Name System) web site의 ip와 domain 주소를 이어주는 system입니다. Name Server(Domain Name Server) User가 사람이 읽을 수 있는 문자열(ex: www.amazon.com)의 주소를 query하면 DNS server가 기계가 읽을 수 있는 IP(ex: 192.0....

Routing 정리

Routing 정리 routing routing table을 통해 packet을 목적지로 전달하기 위한 경로를 선택하는 과정입니다. routing protocol routing table을 만들기 위한 규약입니다. AS의 외부, 내부를 기준으로 EGP와 IGP로 나뉩니다. EGP(Exterior Gateway P...

Django 체험하기

Django 체험하기 django의 역할 backend에서 쓰이는 framework web server - was - db의 3-tier architecture를 구성해보자. 정적인 contents(사용자의 요청과 관계없이 동일한 내용을 출력)를 담당할 web server를 만들기 위해 react framework를 활용한다. 동적인 conte...

dockerfile 만들어보기

Dockerfile docker image를 생성하는 file FROM node:12-alpine RUN apk add --no-cache python3 g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"] FROM: docker.io hub에...

Monitoring 도구

metric 수집 방식 push: monitoring 자원에서 서버로 지표들을 전송한다. 서버로 지표를 전송하기 위해 각 monitoring 자원에 agent 설치가 필요하다. 각 monitoring 자원들이 서버로 지표를 전송하기 때문에 보안성 측면에서 안전하다. ex) Nagios, Zabbix pull: 서버에서 monitoring 자원...

linux package

Linux Package Linux에서 software를 실행하는 데 필요한 file들의 묶음 Windows에서 zip, msi와 같다. source package vs binary package source packge 방식은 source code가 들어있는 package, compile해서 binary file을 만들어야 실행할 수 있다. 설치 ...

docker -> containerd

기존 Docker의 문제점 docker는 monolithic system으로, image build, 관리, 공유 실행 등 너무 많은 기능이 탑재되어 있어, 무거울 뿐만 아니라 장애 발생 시, 모든 기능에 장애가 생기는 single point of failure가 될 위험이 있다. CRI(Container Runtime Interface) ku...

컴퓨터 개론 2

변수 값이 저장될 Memory 주소의 이름이다. 변수를 호출하면서 변수에 저장된 값을 가져올 수 있다. C는 & 연산자로 실제 memory의 주소를 가져올 수 있으며, * 연산자로 memory 주소에 저장된 실제값을 가져올 수 있다. 자료구조 array, linked list, stack(LIFO), queue(FIFO), ...

컴퓨터 개론 1

대학교 1학년 때 공부했던 교재를 복습하며 내용을 정리하자. 컴퓨터 구성 중앙처리장치 CPU CU(Control Unit), ALU(Arithmetic Logic Unit), Register 주기억장치 Memory RAM, ROM ...