공부하고 기록하는, 경제학과 출신 개발자의 노트

cloud 20

KnativeCon 2022 NA - Taming Thousands of Knative Services for Thousands of Users

KnativeCon 2022 NA - Taming Thousands of Knative Services for Thousands of Users 발표자료: https://knativeconna22.sched.com/event/1AGbT/taming-thousands-of-knative-services-for-thousands-of-users-martin-henke-norman-bowing-ibm KnativeCon North America 2022: Taming Thousands of Knative Services for... View more about this event at KnativeCon North America 2022 knativeconna22.sched.com https://youtu.b..

CKA 대비 kubernetes 스터디 - 6. Security (1)

Security Primitives in K8s 기본적인 cluster의 security 옵션 access to these hosts must be secured. root access disabled password based Authentication 사용하지 않음 SSH key-based authentication 사용. 기타 k8s가 올라가있는 VM / PM 자체의 Security. 시험에서는 k8s 내부 리소스에 관련된 Security가 주로 나옴 kube-apiserver : 모든 요청과 통제를 담당하는 컴포넌트. 따라서 이 컴포넌트의 보안이 제일 중요함 누가 접근할 수 있는가? 무엇을 어디까지 통제할 수 있게 할 것인가? 가 핵심. Who can Access의 경우... Authenticat..

헷갈리니까 확실히 알고 쓰자! Docker의 Entrypoint, cmd와 k8s의 command, args 비교하기

Command Argument. Configuring Application은 아래 세 가지 의미를 포함한다. Configuring Command / Argument on Application Configuring Env variable Configuring secret 시험에서의 공식 범위는 아니지만, 과소평가해서는 안 되는 영억. docker 커멘드가 k8s에는 어떻게 대응할 수 있는지 확인하기 위함. docker run ubuntu를 실행하면, 컨테이너는 실행을 완료하고 종료한다. 종료된 컨테이너까지 확인하려면 docker ps -a 명령어를 써야 한다. 이미 exit한 컨테이너를 확인할 수 있다. VM과 달리 Container는 OS 호스팅을 하지 않는다. 프로세스 가상화 개념이므로, 프로세스가 끝..

CKA 대비 kubernetes 스터디 - 3. Logging / Monitoring

CKA에서 비중있게 다루는 내용이 아니다. 일반적으로는 모니터링을 위한 tool이 따로 있고, 그걸 k8s에 붙여 쓰는 경우가 많기 때문. k8s에 내장된 모니터링 컴포넌트 사용법과 애플리케이션 모니터링 방법만 다룬다고 보면 된다. 별 내용 없음 Logging and Monitoring 강의 설명 기준으로는, k8s에서 built-in으로 제공하는 완벽한 모니터링 툴은 없는 상태. 여러 모니터링 툴을 붙여서 사용하고 있다. Metrics Server: Node / Pod에서 정보를 수집, 취합한 뒤 메모리에 저장하는 도구. 따라서 metrics storage 기능을 지원하지 않는다. How metrics are Generated on the Node / Pod? kubelet 내부에 subComponen..

CKA 대비 kubernetes 스터디 - 2. Scheduler

Manual Scheduling 만약 k8s에서 해주는 scheduling 대신 직접 스케줄링을 진행하고 싶다면? 모든 pod에는 선택옵션으로 nodeName 필드를 추가할 수 있다. 보통은 사용자가 입력하는 게 아니고 k8s manifest를 적용하는 과정에서 자동으로 부여되는 값. Scheduler는 pod의 nodeName 필드를 탐색하면서, 해당 필드가 정의되지 않은 pod를 찾아낸다. 이 Pod들이 scheduling 대상이 됨. 선별된 pod에 scheduling 알고리즘을 돌려서, 해당 pod가 실행될 nodeName을 결정한다. pod에 스케줄링이 되지 않으면, pod는 pending 상태를 유지한다. 스케줄링 알고리즘을 사용하지 않는 상태에서 가장 쉬운 pod 스케줄 방법은 nodeNam..

Knative로 배포한 애플리케이션의 동작과정

외부의 요청이 External Load balancer로 들어온다. 해당 요청은 Ingress Gateway (Istio)로 포워딩된다. istio gateway의 목적은 'destination Service'로 요청을 전달하는 것. k8s에서 애플리케이션을 실행하려면 몇 가지 리소스가 필요하다. Deployment -> it creates a ReplicaSet that creates pods. Horizontal Pod Scaler -> ensure the correct number of Replicas is running. Service -> other pod에서 Access하기 위한 통로. Ingress Gateway to Service -> 클러스터 외부에서 접근하기 위한 경로. kn servi..

Architecting with Google Compute Engine - Design Process ch4. Presentation Layer

Presentation Layer Overview Presentation Layer : 사용자와 시스템 간, business logic, stored service 간 데이터 flow를 말한다. 간단히 말해 Networking. Presentation Layer : Network Configuration Networking 에서 가장 중요시해야 할 건 Location. 이게 latency 차이를 만드는 핵심이기 때문. Distributed network일수록 outage tolerance가 강해지지만, round trip time is slower between distant elements 문제 때문에 performance limitation은 반드시 존재한다. 미국 - 유럽 간 통신은 1초당 최대 6..

Architecting with Google Compute Engine - Design Process ch3. Data Layer

Data Layer Overview Storage / retrieval of data를 다루는 영역. Storage / retrieval 영역인 database / file system뿐만 아니라 access method; SQL and API 등등을 포함한다. 하지만 transport of data는 다루지 않음. (Into, around, out of the system) transportation 부분은 presentation layer module에서 다룬다. Data Layer Design : Classifying and Characterizing Data 사용자 입장에서 중요한 건 Data integrity. Underlying tech에는 관심 없고, data loss / data corru..

Architecting with Google Compute Engine - Design Process ch2. Business Logic Layer

Business_logic Layer Design OverView Business Logic = code that implements business logic (Computer Science에서의 정의) that determines what happens to data. = processing. Ex) 비행기 티켓 예매라고 하면, 예매 인터페이스가 앱이건 키오스크건 상관없이 ‘티켓 예매’라는 데이터 처리는 동일하다. 이게 business logic. Microservices = specific kind of Service Oriented Architecture (SOA) -> leverages small, stateless processing for improving scalability and res..

IBM Kubernetes Cluster에 SpringBoot Application 구동 실습하기 - 1. dockerizing and 환경설정

[IBM Clouders - Indigo Blue 포스트] IBM Cloud에서는 신용카드를 등록한 Pay-go 계정이 있으면 무료 Kubernetes Cluster를 생성할 수 있다. 한 개의 클러스터를 생성할 수 있고, 30일이 지나면 자동으로 삭제되기 때문에 과금 염려도 없다. Kubernetes 환경을 가볍게 실습할 수 있는 조건이다. SpringBoot로 생성한 자바 웹 어플리케이션을 Kubernetes Cluster에 구동하는 실습을 해 보았다. 생성한 스프링부트 프로젝트는 www.edwith.org/boostcourse-web/joinLectures/12943 [부스트코스] 웹 프로그래밍 강좌소개 : edwith - 부스트코스 www.edwith.org 에서 확인할 수 있는 실습 예제를 직접..