전체 분류 보기 497

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

[linux] libc 와 glibc 와 libstdc++ 와 gcc의 관계 정리

개념 정리 libc 최초의 libc, 이것이 원래의 고대 표준 라이브러리 구현체입니다. 현재는 libc는 "표준 C 라이브러리"를 말하는 대 명사처럼 사용 됩니다. glibc glibc는 GNU에서 만든 libc 입니다. glibc는 리눅스 시스템에서 가장 저수준의 API이며 거의 모든 runtime library가 glibc에 의존합니다. 예를 들면 c코드에서 fopen 함수를 사용하면 시스템에서 sys_open이 트리거 되고 중간 처리를 해주는 것이 glibc입니다. glibc 자체는 시스템 호출을 캡슐화하는 것 말고도 문자열, malloc, linuxthread, locale, signal등과 같은 상위 레벨 응용 프로그램에 필요한 기능을 제공합니다 libc++ libc++는 Clang 프로젝트에서..

[kubernetes] cheat sheet

특정 node 스케쥴링 막기 - kubectl cordon은 지정된 노드에 더이상 포드들이 스케쥴링되서 실행되지 않도록 합니다 1) 설정 #kubectl cordon "node이름" # kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready,SchedulingDisabled control-plane 21h v1.25.2 worker Ready 5h49m v1.25.3 2) 해제 #kubectl uncordon "node이름" 특정 node의 pod를 다르 node로 옮기기 #kubectl drain docker-for-desktop --ignore-daemonsets=true --ignore-daemonsets=true 은 daemonsets이 있어도..

Cloud/k8s 2022.10.14

[AWS-DOP-CO1] CodeCommit

정의 AWS상에서의 git repository 입니다. 특징 1. private git repositories 2. size 제한 없음 3. fully managed, highly available 4. code는 AWS 계정에 종속 적입니다. 5. CodeBuild / jenkin와 연동 할 수 있다. Commit에서 할 수 있는 것들 1. codecommit push 계정 생성 IAM -> user -> 계정 -> Security Credentials -> HTTPS Git credentials for AWS CodeCommit 생성 2. codecommit에 push 하는 방법 HTTPS Git credentials for AWS CodeCommit 생성한 ID/PW를 사용 합니다. 3. merge..