분류 전체보기 (316) 썸네일형 리스트형 [Kubernetes] ReplicationController란? Controller란 - Pod의 개수를 보장 Controller 종류 ReplicationController - 요구하는 Pod의 개수를 보장하며 파드 집합의 실행을 항상 안정적으로 유지하는 것을 목표 . 요구하는 Pod의 개수가 부족하면 template를 이용해 Pod를 추가 . 요구하는 Pod 수 보다 많으면 최근에 생성된 Pod를 삭제 - 기본구성 . selector . replicas . template apiVersoin: v1 kind: ReplicationController metadata: name: spec: replicas: selector: key: value template: ※ Pod 템플릿은 selector의 키: value label을 포함해야 한다. apiVersion: v.. [Kubernetes] Pod 환경변수 설정과 실행 패턴 환경변수 - Pod 내의 컨테이너가 실행될 때 필요로 하는 변수 - 컨테이너 제작 시 미리 정의 NGINX Dockerfile의 예 ENV NGINX_VERSION 1.19.2 ENV NJS_VERSION 0.4.3 - Pod 실행 시 미리 정의된 컨테이너 환경변수를 변경할 수 있다. # cat pod-nginx-env.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod-env spec: containers: - name: nginx-container image: nginx:1.14 ports: - containerPort: 80 protocol: TCP env: - name: MYVAR value: "testvalue" 환경변수 "MYVAR=testval.. [Kubernetes] Pod에 Resource 할당하기 Pod Resource 요청 및 제한 Resource Requests - 파드를 실행하기 위한 최소 리소스 양을 요청 Resource Limits - 파드가 사용할 수 있는 최대 리소스 양을 제한 - memory limit을 초과해서 사용되는 파드는 종료(OOM Kill) 되며 다시 스케줄링 된다. requests 설정 apiVersion: v1 kind: Pod metadata: name: nginx-pod-resource spec: containers: - name: nginx-container image: nginx:1.14 ports: - containerPort: 80 protocol: TCP resources: requests: memory: 500Mi cpu: 1 kubectl describ.. [Kubernetes] static Pod 만들기 static container - API에게 요청 보내지 않음 - kubelet Daemon에 의해 동작되는 Pod - API 서버 없이 특정 노드에 있는 kubelet 데몬에 의해 직접 관리 - /etc/kubernetes/manifests/ 디렉토리에 k8s yaml 파일을 저장 시 적용됨 - static pod 디렉토리 구성 # vi /var/lib/kubelet/config.yaml ... staticPodPath: /etc/kubernetes/manifests 디렉토리 수정시 kubelet 데몬 재실행 # systemctl restart kubelet staticPodPath: /etc/kubernetes/manifests 확인 가능 cat /var/lib/kubelet/config.yaml a.. [Kubernetes] Kubernetes 1.2 version 부터 Docker 사용 중단 Kubernetes 1.2 version 부터 Docker 사용 중지(deprecation) 쿠버네티스는 컨테이너 런타임과 통신할 때 CRI 라는 표준 인터페이스 API를 사용하지만 Docker는 이를 지원하지 않습니다. 이런 이유로 쿠버네티스는 "dockershim"라는 브리지 용 서비스로 Docker API와 CRI의 변환을 해주었으나, 이것이 deprecation 되면서 앞으로 마이너 릴리스 된 후에 삭제 예정입니다. 쿠버네티스에서 dockershim가 사용 중지 되면서 자동으로 Docker 할 수 없게 되었습니다. 이제 쿠버네티스에서는 CRI를 지원하는 컨테이너 런타임만 사용하게 됩니다. CRI에 지원하는 컨테이너 런타임은 cri-o와 continerd 가 있습니다. 1. 쿠버네티스는 왜 도커 지.. [Kubernetes] Pod - init container & infra container init container를 적용한 Pod - 앱 컨테이너 실행 전에 미리 동작시킬 컨테이너 - 본 contrainer가 실행되기 전에 사전 작업이 필요할 경우 사용 - 초기화 컨테이너가 모두 실행된 후에 앱 컨테이너 cat init-container-exam.yaml apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox:1.28 command: ['sh', '-c', 'echo The app is running! && sleep 3600'] initContainers: - name: init-myservice image: busyb.. [Nexus] Nexus 3 AWS EC2 설치 Nexus 설치 요구사항 1vCPU & 2GB 메모리 22 port & 8081 포트 오픈 OpenJDK 8 이상 Nexus 프로세스는 root 계정이 아닌 Nexus 사용자로 실행 공식 문서 시스템 요구사항 참고 https://help.sonatype.com/repomanager3/product-information/system-requirements 1. yum 패키지 업데이트 sudo yum update -y 2. OpenJDK 1.8 & weget 설치 sudo yum install java-1.8.0-openjdk.x86_64 -y sudo yum install wget -y 3. Nexus 설치를 위한 디렉토리 생성 sudo mkdir /app && cd /app 4. Nexus 다운로드 su.. [Nexus] Nexus 란? Nexus 란? - Sonatype에서 만든 저장소 관리자 프로젝트 - 다양한 Format의 사설 저장소를 만들 수 있으며 메인 저장소를 Cache 할 수 있는 기능 또한 제공하여 저장소를 관리할 수 있도록 도와주는 관리자 도구 - Maven에서 사용할 수 있는 가장 널리 사용되는 무료 저장소 - 라이브러리 및 도커 이미지 관리 용도로 사용 ※ Maven : Java용 프로젝트 관리 도구 Nexus 필요성 - 회사/단체의 화이트 리스트로 인해 외부 리포지토리에 접속하기 어려운 경우 Proxy 역할 - 특히 비상시 외부 인터넷이 느리거나 리포지토리가 다운되는 등 여러 상황에서도 빠르게 받을 수 있음 - 현재 Maven에 올라와 있지 않은 자료를 효율적으로 관리 하기 위해서 - 한번 다운로드 받은 depen.. 이전 1 ··· 32 33 34 35 36 37 38 ··· 40 다음