2022/11 9

[CKA] 2. pod 란

개요 k8s의 기본 배포 단위이 Pod에 대하여 알아 보겠습니다. Pod란? continer들을 포장한 Object(객체) 입니다. 여기서 Object라고 표현한 이유는 k8s는 항상 목표로 하는 상태를 etcd에서 저장하고 관리하는데, 이 저장되는 단위가 object단위 이기 때문입니다. 그래서 k8s에서는 모든것이 object입니다. Pod 구성 pod는 container를 가질수 있는데 1개 이상의 container를 가질 수 있습니다. 이말은 즉, pod는 2개의 container도 가질 수 있다는 말입니다.단 제약 사항으로 같은 port를 open하는 container는 가질 수 없습니다. 그이유는 pod내의 container들 간의 통신은 localhost로 이루어기 지기 때문에 port가 중..

Cloud/k8s-CKA 2022.11.26

[k8s] k8s 관련 지식

1. k8s가 뭔지 아는가? 1) k8s란? container를 관리하는 ochestration tool 입니다. 2) k8s의 핵심 개념? 쿠버네티스에서 가장 중요한 것은 desired state 라는 개념입니다. desired state란 운영자가 원하는 시스템의 상태를 설정해 놓으면 k8s가 끊임없이 current state를 체크해서 desired state를 맞추는 것입니다. 3) k8s는 desired state를 어떻게 구현하였는가? (1) api-server - kubelet과 kubeproxy의 요청을 처리 합니다. - kube-apiserver는 etcd에 접근할 수 있는 유일한 Component로, K8s 클러스터의 상태를 Key-Value 형식으로 etcd 저장소에 관리 합니다. (..

Cloud/k8s 2022.11.26

[코지] 수학적 개념 정리

개요. 코테를 위해서 필요한 수학적 개념 정리와 이를 구하는 방법을 C++로 알아보겠습니다. 코테 수학 기초 개념 1. 약수 어떤 수나 식을 나누어 나머지가 없이 떨어지는 수나 식을 일컫는 말. 2. 최대 공약수 최대공약수(GCD)란 두 수 이상의 여러 수의 공약수 중 최대인 수를 가리킵니다. 3. 소수 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다 4. 조합 숫자 배열에서 순서 상관없이 뽑을 수 있는 가지의 수 5. 순열 숫자 배열에서 순서에 따라 뽑을 수 있는 가지의 수 수학 기초 개념 구현 1. 약수 std::vector factor(int value) { int max = value / 2; // 모든 약수는 입력 값을 제외하면 입력값의 절반 이하에서만 나온다. std::vector..

[k8s] 2. 네트워크의 종류 및 CNI

개요 k8s의 네트워크 종류에 대하여 살펴 보겠습니다. 네트워크 종류 1. node network master node와 worker node간의 물리적으로 구성된 network를 말합니다. 2. pod network Pod간의 network를 말하며, Pod간의 network는 CNI를 통하여 구현됩니다. CNI의 역활은 pod가 생성/삭제 될 때 마다 IP를 할당 및 제거하는 것입니다. 3. cluster network k8s에서 제공하는 service들을 통해서 이루어지는 network를 말합니다. k8s에서의 network 통신 1. Pod 내부에서의 통신 Pod에는 한개의 IP만 할당이 됩니다. 그렇게 때문에 Pod내부의 container간 통신은 localhost를 사용하여 통신을 합니다 그래..

Cloud/k8s 2022.11.22

[k8s] 1. 네트워크 구현 방식

개요 k8s에서 network 통신이 어떻게 이루어지는 알아 보겠습니다. 핵심원리 k8s는 network namespace라는 기술을 사용하여 network를 분리 합니다. 그리고 분리된 network에 가상의VNIC(Virtual Network Interface Card)를 할 당하고 이를 virtual swich에 연결하는 방식으로 구현이 됩니다. 구성 2개의 물리 서버 4개의 network namespace basic turnnel 구성 script #################################################################### #environment variable ##################################################..

Cloud/k8s 2022.11.19

[급한 k8s] 2. k8s 설치

설치 과정 요약 k8s의 설치 과정은 3개(환경 설정 / container runtime 설치 / CNI 배포) 로 나눠집니다. 1. 환경 설정 아래 두개의 설정은 필수 입니다. 1) 방화벽 해제 2) swappof -a 2. container runtime 설치 k8s가 container를 생성하고 실행하는 것이 아니기 때문에 container runtime을 설치해 주어야 합니다. 1) k8s는 container runtime 별로 설치 방법이 다르기때문에 k8s.io 사이트에서 매번 확인을 하는 것으르 추천 합니다. https://kubernetes.io/docs/setup/production-environment/container-runtimes/ 2) cri-o 설치 가이드 https://www..

Cloud/k8s 2022.11.12

[CKA] 1. k8s가 뭔가?

개요 본 post는 실무에 급히 k8s를 배워서 써먹기 위한 사람을 위한 post 입니다. k8s 뭔가 container를 여러 node(컴퓨터)배포하여 맘대로 관리 하기 위한 도구 입니다. 전문용어로 k8s를 container ochestration(=container 지휘자) 도구 라고 합니다. * container : 특정 program를 실행 하기 위해 program과 실행 환경 까지 함께 묶어 놓은 패키지 * node : 개별 컴퓨터 (있어보이게 "개별 서버") k8s 목적 - 무중단 service - 빠른 sevice 배포 - 장애 최소화 k8s의 동작 핵심 - 끊임 없는 설정의 동기화 - k8s는 system에 배포된 object를 이용하여 k8s system 자체를 배포된 object의 상..

Cloud/k8s-CKA 2022.11.11

[코지] DFS, BFS 정리

DFS (Depth-First-Search) 1. 사용 시기 그래프 를 순회 할때 사용합니다. 2. 구현 방법 stack 을 사용하여 구현 합니다. stack first-in last-out 3. 동작 순서 1. 시작 할 node를 stack에 집어 넣습니다. 2. stack에 넣은 것 1개를 빼서 출력 3. 뺀것과 열결된 node를 모두 stack에 입력 4. 2, 3번 을 무한 반복 5. stack에 더이상 없으면 프로그램을 종료 DFSR (Depth-First-Search-Recursion) 1. 사용 시기 그래프 를 순회 할때 사용합니다. 2. 구현 방법 재귀 함수를 사용하여 구현 합니다. 3. 동작 순서 1. 시작 할 node를 재귀함수에 넣습니다. 2. 재귀 함수에서 바로 입력 받는 node를..