전체 글 썸네일형 리스트형 [C언어] C언어의 개요 # C언어란😊사람 - (C언어) - ✍️컴파일러 - (어셈블러) - 🖥️컴퓨터C언어는 프로그래밍 언어이며, 프로그래밍 언어란 인간과 컴퓨터의 대화에 사용되는 의사소통 수단이다.즉, 사람과 컴파일러가 이해할 수 있도록 약속된 형태의 언어다.C언어는 논리적이고 구조적이며, 하드웨어 제어와 프로그램 이식성이 용이하다.저급언어의 특성을 갖는 고급 언어이다.C언어의 모든 프로그램은 .c 확장자를 갖는다.※ 소스코드(source code) : 프로그램 안에 있는 명령어또한, 실제로는 컴파일러(compiler) 와 컴퓨터 사이에 어셈블러라는 통역가가 있다. ※ 컴파일러는 컴퓨터가 이해할 수 있도록 기계어로 번역하는 역할을 수행한다.소스 프로그램을 한 번에 기계어로 변환한다.어셈블러(assembler) : 기호로.. 더보기 [K8S] ReplicationController Controller란?Pod 의 개수를 보장Replication Controller (가장 BASIC한 Controller)요구하는 Pod의 개수를 보장하며 파드 집합의 실행을 항상 안정적으로 유지하는 것을 목표요구하는 Pod의 개수가 부족하면 template을 이용해 Pod cnrk요구하는 Pod 수보다 많으면 최근에 생성된 Pod 삭제기본 구성 : selector를 replicas 갯수만큼 만들려고 보장해준다selectorreplicastemplate구식의 기술로 최근에는 Replica Set으로 대체되고 있다. # 실습[master ~]$ cat > rc-nginx.yaml apiVersion: v1kind: ReplicationControllermetadata: # ReplicationCont.. 더보기 [K8S] Pod 환경 변수 설정 환경 변수 Pod 내의 컨테이너가 실행될 때 필요로 하는 변수 컨테이너 제작 시 미리 정의 NGINX Dockerfile 예 ENV NGINX_VERSION 1.19.2 ENV NJS_VERSION 0.4.3 Pod 실행 시 미리 정의된 컨테이너 환경변수를 변경할 수 있다. # kubeconfig 환경 변수 kubectl은 기본적으로 $HOME/.kube/config 파일에서 클러스터, 인증, 컨텍스트 정보로 읽어 들인다. ✔️ 이러한 클러스터 구성 정보 => kubeconfig root@master:~# kubectl api-resources NAME SHORTNAMES APIVERSION NAMESPACED KIND bindings v1 true Binding componentstatuses cs v.. 더보기 [K8S] Pod Resource 할당 Default로는 container는 리소스 할당에 대한 제한이 없다.No limit, No request : 하나의 파드가 모든 리소스를 사용할 수 있고, 2번째 Pod가 필요한 리소스를 할당받는데 방해한다.Resource Request 어느 노드가 실행해주면 좋을 지를 scheduler가 판단한다. 컨테이너가 실행되기 위해 최소한으로 필요한 메모리의 양을 정의한다.Kubernetes 스케줄러는 이 값을 기반으로 Pod을 스케줄링할 노드를 결정한다.Request는 보장된 자원으로, 다른 컨테이너가 이 메모리를 빼앗아 사용할 수 없다. Pod가 실행되려면 노드에 Request 값 이상의 사용 가능한 메모리가 있어야 한다.노드가 과부하 상태가 되면, Request가 낮은 Pod가 우선적으로 제거될 수 있음.. 더보기 [K8S] pause container / Static container # Pause container Infra(pause) container : In a Kubernetes Pod, an infrastructure or “pause” container is first created to host the container. pod에 대한 infra(IP, hostname 등,.)을 관리 및 생성해주는 컨테이너 infra를 만들어주지만, 어떤 작업을 수행하지는 않는다. # Static container 기존의 Pod 생성은 'kubectl run ~'을 API server에 전달하면, etcd 정보를 가져다가 scheduler에게 보내주고 가장 적절한 노드를 선택해서 API에게 응답하면, API가 해당 Pod를 실행해주는 구조였다. Static Pod는 API에게 요청을 보.. 더보기 [K8S] init container https://kubernetes.io/ko/docs/concepts/workloads/pods/init-containers/ 초기화 컨테이너이 페이지는 초기화 컨테이너에 대한 개요를 제공한다. 초기화 컨테이너는 파드의 앱 컨테이너들이 실행되기 전에 실행되는 특수한 컨테이너이다. 초기화 컨테이너는 앱 이미지에는 없는 유틸kubernetes.io앱(main) 컨테이너 실행 전에 미리 동작시킬 컨테이너컨테이너에서 완료까지 실행되는 프로세스를 실행하기를 원할 때.main Container가 실행되기 전에 사전 작업이 필요한 경우 사용Pod가 처음 생성될 때 한 번만 실행된다. (실제 application이 시작되기 전에 외부 서비스나 데이터베이스가 작동하기를 기다리는 프로세스)초기화 컨테이너는 앱 이미지에는 .. 더보기 [K8S] Liveness Probe (Self-healing) Pod Self-healingRestarts containers that fail, replaces and reschedules containers when nodes die, kills containers that don't respond to your user-defined health check, and doesn't advertise them to clients until they are ready to serve. # kubelet 으로 컨테이너 진단하기# Liveness Probe ✔ Pod가 계속 실행할 수 있음을 보장 (=self healing)✔ Pod의 spec에 정의 # LivenessProbe 매커니즘httpGet probe : 지정한 IP주소, port, path에 HTTP GET 요청을.. 더보기 [K8S] YAML 템플릿 및 Pod # YAML 템플릿사람이 쉽게 읽을 수 있는 데이터 직렬화 양식기본 문법구조화된 데이터 포맷Python처럼 들여쓰기로 데이터 계층 표기들여쓰기 할 때에는 Tab이 아닌 Space Bar 사용! (두 칸: 형제, 네 칸: Child)Scalar 문법: ':'를 기준으로 key:value 설정배열 문법 : '-' 문자로 여러 개 값 지정주석은 #로 시작하고, 여러 줄 주석은 지원하지 않는다.`---`는 성격이 다른 YAML 형식의 문서 여러 개가 있을 때 구분자로 사용한다. YAML 의 시작을 알리는 용도로도 사용한다. 템플릿의 기본 형식---apiVersion: v1 # 사용하려는 API 버전kind: Pod # 어떤 종류의 오브젝트 혹은 컨트롤러 작업 등 리소스 유형(Pod, Deploy.. 더보기 이전 1 ··· 10 11 12 13 14 15 다음