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

자격증 16

AWS Certificate - Solution Architect Associate 합격 후기

Study Materials Coursera: https://www.coursera.org/professional-certificates/aws-cloud-solutions-architect AWS Cloud Solutions Architect Amazon Web Services에서 제공합니다. Start here to become an AWS Solutions Architect. Gain the skills and knowledge to design architectural solutions on ... 무료로 등록하십시오. www.coursera.org udemy: https://www.udemy.com/course/practice-exams-aws-certified-solutions-architec..

일상 속 생각 2023.10.04

CKA 자격증 합격 후기 + 준비했던 방법 정리

최종 소요 기간: 3개월. udemy 강의에 2개월 / 문제풀이 1개월. 100점 만점에 17문제, 문제당 배점은 4, 7, 13점 중 하나였음. 인터넷에서는 killer shell 문제보다는 쉽다는 평이 많은데, 체감상 그렇지 않았음. podAntiAffinity 같은 생소한 문제를 요구하지 않았을 뿐, 전체적으로는 비슷한 난이도였다. 배점이 낮은 4점 문제는 한두 가지의 명령어로 결과를 만들 수 있는 문제가 많았다. 'deployment의 pod 개수를 4로 scale 변경해라' 'taint toleration 걸려 있는 노드 제외하고, available 상태인 노드 개수를 /opt// 에 입력해라' pod 컨테이너 로그 중 특정 문자열이 있는 row만 추출해서 저장해라 7점 문제가 체감상 갯수는 제..

일상 속 생각 2022.05.23

CKA 대비 kubernetes 스터디 - 8. Networking (1)

알아둬야 할 Linux Networking Prerequisite 내용. Basics : Linux Networking A가 B에게 통신하려면? Switch에 연결한다. -> switch는 두 개의 시스템을 연결하는 네트워크를 생성한다. switch에 연결하기 위해서는, 각 호스트가 사용해야 할 인터페이스가 있다. ip link 명령어로 해당 PM / VM의 인터페이스를 확인할 수 있다. 예컨대 예시의 경우 eth0 이라는 이름의 인터페이스가 확인됨. switch 내부의 네트워크가 192.168.1.0 이라고 가정한다면, 두 개의 컴퓨터 A와 B는 아래의 명령어를 사용해서 switch 내부의 네트워크에 자신의 정보를 등록할 수 있다. ip addr add 192.168.1.10/24 dev eth0 ip..

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..

CKA 대비 kubernetes 스터디 - 5. Cluster Maintenance

OS Upgrade maintenance를 목적으로 (보안패치라던가, SW 업그레이드라던가) 클러스터의 특정 노드를 내려야 하는 경우. 만약 특정 노드가 죽었을 경우 노드가 금방 복구될 경우 -> kubelet은 이전에 돌고 있던 pod을 다시 시작시킨다. 큰 이상 없음. 5분 이상 노드가 죽었을 경우 -> pod가 해당 노드에서 아예 제거된다. (dead로 간주함) 다시말해 마스터 노드는 특정 노드의 사망판정을 내리기까지 5분은 대기한다. 만약 해당 pod가 replicaSet으로 관리되고 있다면, 다른 노드에서 pod를 재생성한다. '5분' 인 이유는 pod Eviction time 때문이다. kube-controller-manager에서 설정된 값. --pod-eviction-timeout=5m0s..

CKA 대비 kubernetes 스터디 - 4. Application LifeCycle Management

Rollout Updates / Rollback Rollout이 진행될 때 k8s에서는 어떤 절차로 작업이 진행되는가 앱을 처음 배포할 때 - 새로운 Deployment를 생성한다 해당 deployment는 rollout을 발생시킨다. rollout은 새로운 revision을 생성한다. (revision 1) 버전이 올라가거나 소스코드가 바뀌는 등의 업그레이드가 발생하면, new deployment를 생성한다. new Rollout이 생성되고, 새로운 revision이 생성된다. 두 개의 revision이 유지되고 있기 때문에 새로운 버전으로 rollout하는 것 / 이전 버전으로 rollback하는 것이 가능하다. Rollout 명령어 / 상태 확인하는 방법. Deployment Strategy는 크게..

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..

CKA 대비 kubernetes 스터디 - 1. Core Concept

https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/ Cluster Architecture kubernetes의 목적은 host your application in the form of containers in an automated fashion. 따라서 많은 수의 container 기반 애플리케이션을 배포하고, 애플리케이션 간 통신이 가능하다. 비유를 통해 쉽게 설명하면 Kubernetes가 하는 역할은 크게 보면 두 가지로 나뉜다. 배로 비유하자면 Cargo Ships that Carrys Containers Monitoring / Managing the Cargo Ships. Kubernetes Cl..

Architecting with Google Compute Engine - Scale Automation ch2 - Deployment Manager

Deployment Manager & Managed Service Automatically generate infrasturture by Calling Cloud API. 강력하기는 한데 몇 가지 걸리는 점이 있긴 함 Maintainability… depends directly on the quality of SW. 여러 코드에서 API를 실행하고 있다면, 어느 코드에서 어떤 작업이 일어나는지 확인하기가 쉽지 않다. 관리하기도 까다로움. 그래서 Deployment manager 가 필요함. Highly structured templates and configuration files to document the infrastructure in an easily readable / understandable..