분류 전체보기

    [AEWS 2주차] EKS Networking<img src=">

    [AEWS 2주차] EKS Networking

    ※ AEWS는 '가시다'님이 속한 CloudNet@에서 진행하는 AWS EKS workshop에 대한 스터디 내용입니다. 참고문서[한글 EKS Hands On LAB] EKS Service - Link , AWS LB Controller - LinkAWS EKS Best Practices Guide - LinkNetwork - LinkAmazone VPC CNI - LinkKubernetes Scaling Theory - Link 0. 실습 환경 배포  1) macOS 실습을 위한 툴 및 설정# Install awsclibrew install awscliaws --version# Install eksctlbrew install eksctleksctl version# Install kubectlbrew i..

    [AEWS 1주차] Amzaon EKS 설치 및 기본 사용 (실습)

    [AEWS 1주차] Amzaon EKS 설치 및 기본 사용 (실습)

    ※ AEWS는 '가시다'님이 속한 CloudNet@에서 진행하는 AWS EKS workshop에 대한 스터디 내용입니다. 0. 실습환경 구성기본 인프라 배포 - 링크 ← AWS CloudFormation 페이지로 연결되며, 파라미터 입력 후 스택 실행 1. bastion 접속 후 기본정보확인1) aws 자원확인# 자격 구성 설정 없이 확인aws ec2 describe-instances# IAM User 자격 구성 : 실습 편리를 위해 administrator 권한을 가진 IAM User 의 자격 증명 입력aws configureAWS Access Key ID [None]: AKIA5...AWS Secret Access Key [None]: CVNa2...Default region name [None]: ..

    [AEWS 1주차] Amzaon EKS 설치 및 기본 사용

    [AEWS 1주차] Amzaon EKS 설치 및 기본 사용

    ※ AEWS는 '가시다'님이 속한 CloudNet@에서 진행하는 AWS EKS workshop에 대한 스터디 내용입니다. Kubernetes Cluster Architecture Control Plane Componentskube-apiserver쿠버네티스 클러스터로 들어오는 요청을 가장 앞단에서 받는다.kubernetes cli 인 kubectl을 사용해 각종 명령을 수행할 경우 이 명령은 kube-apiserver 로 전송되는 것이다. 모든 요청을 검증하고, etcd에 저장하며, 다른 컨트롤 플레인 구성 요소로 전달한다. etcd클러스터 및 리소스의 구성 정보, 상태 정보 및 명세 정보 등 모든 데이터를 저장하는 key-value 형태의 데이터베이스이다.클러스터의 상태가 변화할 때마다 다른 컴포넌트들..

    모놀리식(Monolithic)에서 MSA으로 전환시 고려사항

    모놀리식(Monolithic)에서 MSA으로 전환시 고려사항

    Question: Java를 MSA로 구성할 때 고려해야할 점을 알려줘.Answer:서비스 검색:Kubernetes의 내장 서비스 검색이나 Consul 및 Eureka와 같은 도구와 같은 서비스 검색 메커니즘을 구현하여 마이크로서비스가 동적으로 서로 찾고 통신할 수 있도록 합니다.API 게이트웨이:API 라우팅, 인증, 요청/응답 변환을 관리하려면 API 게이트웨이(예: Netflix Zuul 또는 Spring Cloud Gateway) 사용을 고려하세요. API 게이트웨이는 마이크로서비스에 대한 수신 요청 처리를 단순화할 수 있습니다.구성 관리:Spring Cloud Config 또는 HashiCorp Consul과 같은 중앙 집중식 구성 관리 도구를 사용하여 마이크로서비스 전체의 구성 설정을 관리하세..

    [OCP] permission denied, mkdir in container on openshift

    [OCP] permission denied, mkdir in container on openshift

    문제 상황로컬에서는 문제없이 작동하는 Container가 Redhat OpenShift에 올리니까 Permission Deny 에러가 발생했다.Error: EACCES: permission denied, mkdir '/home/node/app/.pm2' 사용한 Dockerfile은 아래와 같다.FROM node:16.14-alpineWORKDIR /home/nodeCOPY . .RUN npm installUSER 1000EXPOSE 8080CMD node server.js  에러 원인By default, OpenShift Container Platform runs containers using an arbitrarily assigned user ID. This provides additional secu..

    Kubernetes Pod Security Admission - Namespace Level

    Kubernetes Pod Security Admission - Namespace Level

    개요 일반 Kubernetes Cluster를 사용할 때는 PSP, PSA를 고려하지 않았지만.. Redhat OpenShift를 사용하면서 Namespace를 생성하면 자동으로 PSA가 붙어서 Pod에 대한 보안이 적용되고 동작이 제한되었다. OCP를 잘 사용하기 위해 PSA에 대한 개념을 정리한다. Pod Security Policy가 kubernetes v1.21부터 Deprecated 되면서, 이보다 더욱 향상된 기능으로 Pod Security Admission을 제공한다. Pod Security Admission Controller는 Pod Security Standards를 사용하며, 이는 정확하게 사전 정의된 세 가지 Pod Security Policies(Privileged, Baselin..

    GitOps, ArgoCD Overview

    GitOps, ArgoCD Overview

    Ref: https://argo-cd.readthedocs.io/en/stable/#overview Argo CD - Declarative GitOps CD for Kubernetes Overview What Is Argo CD? Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Why Argo CD? Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle ma argo-cd.readthedocs.io What Is Argo CD..

    wework 역삼 2호점 공유 오피스 1년 이용 후기

    wework 역삼 2호점 공유 오피스 1년 이용 후기

    2022년 4월부터 2023년 6월까지 약 1년간 저희 부서 전체가 위워크에 입주해 근무를 했습니다. 한 층을 전부 빌려서 전용으로 사용한 형태였습니다. 지금은 다시 본사로 돌아왔는데요.. 위워크를 그리워하며 한번 어떤 장단점이 있었는지 기록해 보겠습니다 ~ 1층에 더치빈이 같이 있습니다. 위워크에 커피머신이 있지만 가끔 바깥(?) 커피를 먹고 싶을 때 가끔 가서 사 먹었습니다 ㅋㅋ 위워크 카드를 찍고 들어가는 시스템이어서 보안에 많이 신경을 쓰는 느낌입니다. 또, 층마다 사무실에 들어가려면 카드를 찍고 들어가야 하는데 그건 아주 귀찮습니다.. 사무실 단위로 입주했을 때는 엘베에 내려서 카드를 찍고 해당 층을 들어가고 카드를 찍고 사무실에 들어가야 했습니다. 잠깐 화장실에 가야 할 때도 카드를 챙겨야 해..

    AWS EKS Node 인스턴스 타입의 최대 Pod 개수 (Too many pods 해결 방법)

    AWS EKS Node 인스턴스 타입의 최대 Pod 개수 (Too many pods 해결 방법)

    개요AWS EKS는 AWS VPC CNI 플러그인을 통해 ENI를 EC2 노드에 연결한다.VPC CNI는 pod에게 IP를 할당할 때, 노드가 속한 Subnet IP 대역을 할당한다.  EC2 Node의 인스턴스 타입에 따라서 ENI 개수와 각 ENI당 붙을 수 있는 프라이빗 IP의 개수가 다르다.즉, 노드의 인스턴스 타입에 따라서 할당 가능한 Pod의 개수가 다르다.참고: https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-vpc-cni.html 노드 유형 확인 및 Pod 개수 제한 확인 명령어kubectl get nodes -o jsonpath="{range .items[*]}{.metadata.labels['beta\.kubernetes..

    [Terraform] count vs for_each Meta-Argument 차이점 - 변수 list(object) 타입 사용

    [Terraform] count vs for_each Meta-Argument 차이점 - 변수 list(object) 타입 사용

    Terraform을 사용하면서 여러 개의 리소스를 생성해야 할 때 대표적으로 count, for_each 두 가지를 사용합니다. 두 개의 차이점과 주의사항에 대해 알아보겠습니다. Count count 메타 인수는 정수를 허용하고 전체 리소스, 모듈을 반복하여 만들 수 있습니다. count로 구성하게 되면 count.index를 활용하여 count에서 생성한 인덱스에 접근 가능합니다. AWS VPC, Subnet을 생성하는 테라폼 코드를 작성해 보겠습니다. Subnet을 list(object) 타입으로 정의해서 리소스를 여러 개 생성하겠습니다. resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" tags = { Name = "vpc" } } variable "..