전체 글 119

쿠버네티스 - 네임스페이스(Kubernetes Namespace)

Namespace 1) Namespace란? 쿠버네티스에서, 네임스페이스 는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공 리소스의 이름은 네임스페이스 내에서 유일해야 하며, 네임스페이스 간에서 유일할 필요는 없다. 네임스페이스는 여러 개의 팀이나, 프로젝트에 걸쳐서 많은 사용자가 있는 환경에서 사용하도록 만들어졌다. 사용자가 거의 없거나, 수 십명 정도가 되는 경우에는 네임스페이스를 전혀 고려할 필요가 없다. 예를들면 실제 운용중인 서버를 관리하기 위한 네임스페이스와 개발용 네임스페이스 테스트용 네임스페이스를 분리하여 운영할 수 있다. 네임스페이스로 구분한다. #네임스페이스로 구분하는 파드 #install iputils-ping apiVersion: v1 kind: Namespace meta..

쿠버네티스 - 컨피그맵(Kubernetes ConfigMap)

ConfigMap 1) ConfigMap이란? 파드를 생성하면서 컨테이너에 입력해줘야하는 설정값이 있는 경우가 있다. 이 때 같은 이미지를 사용하더라도 설정에 따라서 애플리케이션이 다르게 동작할 수 있는데 이 때마다 이미지를 만들면 효율적이지 못하다. 이럴 땐 환경변수를 이용해서 파드를 생성하면서 설정값을 입력해줄 수 있다. 또한 환경변수를 사용하여 전달할 수도 있지만 설정이 여러가지가 있다고 하면 파드의 설정과 함께 작성하기에 복잡해질 수 있다. 이 때 파드의 yml과 설정 내용의 yml을 분리하기 위해 사용 파드생성시 특정 컨피그맵만 불러와서 적용되게 함. 컨피그맵 생성 #설정파일의 이름은 cm-dev apiVersion: v1 kind: ConfigMap metadata: name: cm-dev d..

쿠버네티스 실습환경구축(minikube windows10)

설정환경 1. 파워쉘에서 실행 New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing 2. 파워쉘 관리자권한에서 실행 $oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath.Split(';') -inotconta..

쿠버네티스 실습환경구축(minikube mac M1)

쿠버네티스 연습용 맥버전 셋팅이다 도커와 brew를 미리 설치하기 바랍니다. brew install minikube curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.25.1/minikube-darwin-arm64 \\n && chmod +x minikube\n sudo install minikube /usr/local/bin/minikube minikube version minikube start --driver=docker minikube delete minikube start --kubernetes-version=v1.22.5 minikube dashboard 종료시 명령어입력 minikube stop 종료되면..

쿠버네티스(Kubernetes Volume)

05. Volume 0) Volume란? 컨테이너가 사용할 가상의 디스크 컨테이너 내의 디스크에 있는 파일은 임시적이며(휘발성) 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생 첫번째, 컨테이너가 삭제 또는 다시 실행될 때 파일이 사라짐 두번째, 파드 내의 컨테이너 간의 파일 공유 방법 이를 해결하기 위한 것이 바로 볼륨 1) Volume의 종류 (1) emptyDir 일시적인 데이터를 저장하는 데 사용되는 간단한 빈 디렉터리 파드가 생성될 때 생성되고 파드가 삭제될 때 사라지는 임시 볼륨 파드 내의 컨테이너가 죽었다고 하더라도 emptyDir은 남아있음 (2) hostPath 노드의 파일 시스템을 파드의 디렉터리로 마운트하여 사용 즉, 파드의 컨테이너에서 저장한 파일이 노드의 특정..

쿠버네티스(Kubernetes labels QoS)

[2] 레이블 적용 pod에는 레이블을 지정할수 있다. 레이블 단위로 파드들을 묶어서 서비스를 등록하거 이것저것할수 있다. 예제 레이블 type : web인 녀석만 서비스로 묶어보자 apiVersion: v1 kind: Service metadata: name: svc2 spec: selector: type: web ports: - port: 8000 [3] 노드 스케줄러 Pod 생성 apiVersion: v1 kind: Pod metadata: name: pod-3 spec: nodeSelector: kubernetes.io/hostname: 노드이름 containers: - name: container image: 이미지이름 apiVersion: v1 kind: Pod metadata: name: h..

쿠버네티스 파드(pod)실습

실습 도커 이미지 생성 node:slim 이미지를 베이스 이미지로 설정 hello.js를 추가 8000 포트를 공개 node hello.js 컨테이너가 실행될 때 명령어 실행하는 이미지 hello.js 파일 내용 var http = require('http'); var content = function(req, resp) { resp.end("Hello Kubernetes!" + "\n"); resp.writeHead(200); } var w = http.createServer(content); w.listen(8000); docker login ID PW docker push 이미지이름 도커이미지생성 FROM node:slim ADD ./hello.js /hello.js EXPOSE 8000 CMD n..

쿠버네티스 파드( kubernetes Pod)

Pod 0) Pod란? 파드는 컨테이너를 하나 이상 모아 놓은 것 쿠버네티스 애플리케이션의 최소 단위 강하게 결합된 여러 개의 컨테이너로 구성된 파드도 있고(고급 활용 사례), 단일 컨테이너로만 이루어진 파드도 있다 1) 매니페스트 매니페스트란 쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를 YAML이나 JSON으로 기술한 파일 2) YAML 파일 키: 값 형태로 작성하는 파일 apiVersion: apps/v1키가 apiVersion 이고 값이 apps/v1 kind: Pod metadata:키가 metadata 이고 값이 name: nginx-deployment name: nginx값은 또 다른 키와 값이 될 수 있다. spec: containers: - name: nginx image: nginx..

쿠버네티스 대시보드 설치(kubernetes dashboard)

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml 공식홈페이지에서 대시보는 접속방식은 프록시 방식이지만 더 편하게 접속할수 있게 바꿔보자 8) 데시보드 설정 [1] master wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml vi recommended.yaml 45번 라인을 추가 39 spec: 40 ports: 41 - port: 443 42 targetPort: 8443 43 selector: 44 k8s-app: kubernetes-dash..

쿠버네티스 환경셋팅( kubernetes 설치 1.22)

쿠버네티스 설치 (도커방식 쿠버네티스 1.22.5) 가상머신 3대 준비 호스트이름CPURAM ip master24 192.168.179.100 node124 192.168.179.110 node224 192.168.179.120 공통설정 -방화벽 허용 -리눅스 시스템들어오는 패킷을 iptables 에서 관리하게 설정(켜기) 셋리눅스(로컬방화벽 끄기) firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=2379-2380/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10251/tcp firewall-cmd -..

728x90
반응형