개요 OpenStack은 IaaS환경의 서버를 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼이다. 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리 한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다. 장점 오픈 소스: OpenStack는 오픈 소스로 제공되며, 라이선스 비용이 없습니다. 이는 비용을 절감하고 클라우드 인프라를 구축하는 데 더 많은 자유를 제공합니다. 다양한 서비스: 가상화, 스토리지, 네트워킹, 인증 등 다양한 영역에서 서비스를 제공하여 다양한 요구 사항을 충족할 수 있습니다. 유연성과 확장성: OpenStack는 확장 가능하며, 대규모 데이..
현재 설치 서버는 centos7이므로 사용할 수 있는 최대 버전은 Train이므로 Train version으로 설치를 한다. 버전 정보 https://releases.openstack.org/index.html 가이드 문서 https://docs.openstack.org/ko_KR/ 개요 기본 Openstack service을 설치 하기앞서 Openstack의 기본 환경설정이 필요하다. 호스트 네트워킹, NTP, openstack package, DB(mariaDB), messageQueue(rabbitmq), 메모리 캐시 시스템(memcashed), ETCD가 기본환경에 필요하다 설치 및 설정 1. 호스트 네트워킹 2. Network Time Protocol(NTP) 3. Openstack pack a..
개요 쿠버네티스의 일반적인 구성은 포드(pod)를 그냥 띄우는 경우는 거의 없다. 보통은 Deployment를 생성을 하고 ReplicaSet을 설정하여 pod를 자동으로 생성하는 구조를 갖는다. 만약 외부에서 접근을 필요로 할 때는 Service를 붙여서 사용하면 된다. 아래 yaml은 테스트할 때 사용한 yaml이다. 아래 내용으로 자세히 설명할 것이다. apiVersion: apps/v1 kind: Deployment metadata: name: devops-spring-deployment spec: selector: matchLabels: app: springboot replicas: 1 template: metadata: labels: app: springboot spec: containers:..
개요 yaml 수정 및 생성 시 kubernetes안에서 일어나는 프로세스에 대해 알아본다. yaml 수정시 보통 쓰는 apply 명령어를 썼을 때를 기준으로 본다. 1. 'kubectl apply' 명령은 원하는 Kubernetes 리소스 상태가 포함된 YAML 파일을 Kubernetes API 서버로 보낸다. 2. Kubernetes API 서버는 YAML 파일을 수신하고 파일에 지정된 리소스의 내부 표현을 생성한다. 3. 그런 다음 Kubernetes API 서버는 원하는 리소스 상태를 Kubernetes 컨트롤러 관리자 및 Kubernetes 스케줄러에 전달한다. 4. Kubernetes 스케줄러는 포드의 리소스 요구 사항과 각 노드에서 사용 가능한 리소스를 기반으로 새 포드 또는 업데이트된 포드..
개요 kubernetes에서 쓰이는 구성요소들을 yaml 또는 JSON파일에 작성된다. 작성시에 쓰이는 각 Obejct에대해 알아본다. 구성 Object 먼저 주로 사용되는 3가지는 pod, Service, deployment 이다. pod Pod는 Kubernetes 객체 모델에서 가장 작고 단순한 단위이다. Cluster에서 실행 중인 프로세스의 단일 인스턴스를 나타내며 밀접하게 결합되고 동일한 네트워크 네임스페이스와 파일 시스템을 공유하는 하나 이상의 컨테이너를 포함할 수 있다. Service 서비스는 Pod의 논리적 집합과 이에 대한 액세스 정책을 정의하는 추상화입니다. 서비스를 사용하면 애플리케이션이 구현되는 방식에 대한 세부 정보에서 애플리케이션에 액세스하는 방식을 분리하고 Pod 집합에 대해..
우리 회사에서 요즘 mas의 대해 열중하고 있는데 현재 아키텍처팀으로서 devops도 해야 한다 해서,, 예전에 잠깐 했었던 k8s에 대해서 다시 정리한다. 쿠버네티스(Kubernetes) 이란 Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 컨테이너 오케스트레이션 플랫폼이다. 자동 확장, 자가 복구, 롤링 업데이트 및 로드 밸런싱을 포함하여 컨테이너 관리를 위한 일련의 강력한 기능을 제공하며 확장된 애플리케이션을 보다 쉽게 배포하고 관리할 수 있으며 유연성과 효율성이 향상되는 이점도 누릴 수 있다. 더 자세한 내용은 공식 페이지(https://kubernetes.io/ko/docs/concepts/overview/)에서 읽을 수 있다. 쿠버네티스 개념 쿠..
요즘 회사에서 서서히 진행하는 프로젝트들이 클라우드를 사용하기 시작했다.. 미뤄났던 k8s를 구축을 시작 하려는데 시작부터,,,,pod가 뜨지않고 오류가 난다... 해서 해당 부분의 에러는 docker repository 설정이 안되어 있어 수정 및 추가하면서 기록을 남긴다. 개요 Docker Repository는 Docker 이미지를 저장하고 배포하기 위한 중앙 위치이다. Docker Repository를 만들고 빌드하는 것 외에도 다른 Repository의 기존 Docker 이미지를 사용할 수도 있다. 가장 널리 사용되는 Docker 레지스트리는 애플리케이션을 신속하게 배포하는 데 사용할 수 있는 방대한 사전 구축 이미지 모음을 제공하는 Docker Hub다. private Repository를 생성..
Object 생성 kubectl run은 배포 또는 포드를 빠르고 쉽게 생성하는 데 사용되고 kubectl create는 YAML 또는 JSON 파일에서 새 리소스를 생성하는 데 사용되며 kubectl apply는 리소스의 선언하여 리소스의 현재 상태가 원하는 상태와 일치하게 생성 또는 업데이트한다. kubectl run kubectl run {obejct명} 설명 새 Deployment 또는 새 pod를 생성하는 데 사용된다. 리소스를 만들고 관리하는 빠르고 쉬운 방법을 제공한다. 옵션 --image or -i: 사용할 컨테이너 이미지 kubectl run my-deployment --image=nginx --replicas or -r: 생성할 복제본 수 kubectl run my-deployment ..