docker & Kubernetes

반응형
dashboard 배포하기1. dashboard 설치하기kubectl apply -f 맨 밑의 참고사이트를 보면 공식문서가 존재한다. 공식문서에서 yaml파일을 제공해주므로 이를 통해 dashboard를 설치한다.2. 서비스 돌아가는지 확인하기kubectl get svc -n kubernetes-dashboard위와 같이 kubernetes-dashboard가 있다면 제대로 돌아가고 있는 것이다.3. 외부접속을 위해 NodePort 설정하기위에서 service의 목록을 보았을 때 type이 clusterIp였다. 이는 클러스터 안에서만 접속을 할 수 있다는 뜻이다. 외부 ip에서 대시보드에 접속할 수 있도록 type을 NodePort로 변경해야 한다.kubectl edit svc kubernetes-da..
1. metalLB이란?클라우드에서 제공하는 외부 로드밸런서가 필요하다. 내가 사용하고 있는 쿠버네티스 즉, 일반적인 환경에서는 로드 밸런서를 사용하게 되면 external-ip부분에 pending이 뜨고, 사용하지 못 한다. 이 환경을 온프레미스환경이라고 하는데, 여기서 로드밸런서를 사용하려면 내부에 로드밸런서 서비스를 받아주는 구성이 필요하다.이를 지원하는 것이 MetalLB이다. MetalLB는 베어메탈(bare metal, 운영체제가 설치되지 않은 하드웨어)로 구성된 쿠버네티스에서도 로드밸런서를 사용할 수 있게 고안된 프로젝트이다. MetalLB는 특별한 네트워크 설정이나 구성이 있는 것이 아니라 기존의 **L2 네트워크(ARP/NDP)**와 **L3 네트워크(BGP)**로 로드밸런서를 구현한다...
데이터 유지를 위해 사용하게 되었다. 도커 컨테이너의 경우 컨테이너를 삭제하게 되면 작업했던 데이터가 모두 삭제되어 버린다. 컨테이너는 삭제되어도 데이터는 유지하고 싶은 경우를 대비하여 볼륨을 사용하고자 한다.1. 볼륨 생성하기1-1) 볼륨 생성하기docker volume create 나는 아래와 같이 생성하고자 하는 볼륨의 이름을 new-one이라고 지정하였기에 new-one이라는 이름이 나오면서 생성이 된 것을 알 수 있다.1-2) 볼륨 리스트 확인하기docker volume lsdriver와 함께 내가 생성한 볼륨을 확인할 수 있다.driver : 드라이버는 호스트와 클라우드 공급자로 나뉜다. 나의 경우 local에서 생성했으니 driver가 호스트로 지정된 것을 알 수 있다.또한, 볼륨 내용을 암..
1. docker 이미지 생성 및 컨테이너 포트 열기1) docker images 확인하기docker images도커 이미지가 잘 생성되었는지를 확인하고, 이미지id를 확인하여 따로 복사해둔다.2) 실행중인 컨테이너 확인하기docker run -i -t -p [host port]:22  --name [컨테이너명] nvidia/cuda /bin/bash-i : 이 플래그는 interactive를 의미하고, 이는 터미널에 연결하여 컨테이너의 명령줄과 상호 작용할 수 있도록 한다. 컨테이너 내부에서 실행되는 명령이나 스크립트에 입력을 제공한다.-t : "pseudo-terminal"을 나타낸다. 터미널 장치를 할당하여 터미널에서 컨테이너의 명령 프롬프트와 터미널 출력을 볼 수 있다.-d : ‘backgroun..
: 단일 서버에서 여러 개의 컨테이너를 하나로 정의하고 실행하기 위한 도구이다. 즉 docker run을 통해서 실행하는 모든 어플리케이션은 docker-compose 명령어를 사용하여 작업하여 관리할 수 있다.docker-compose 사용 이유docker로 만든 여러 개의 컨테이너를 한번에 작업하고자 할 때가 존재한다. 웹서버는 기본적으로 프론트 엔드 서버, 백엔드 서버, 데이터베이스 서버 가 존재한다. 이를 각각 하나씩 컨테이너로 만들어 구동할 수 있게 작업해줘야 하는데, docker-compose를 사용하면 이를 한번에 작업할 수 있다.docker-compose 설치하기docker-compose는 각각의 OS환경에 따라 다르다. 그러므로 docker docs에서 본인의 환경에 맞는 OS를 선택하여..
ReplicaSet 개념레플리카셋은클러스터 안에서 움직이는 파드의 수를 유지하는 장치클러스터의 파드의 실행을 항상 안정적으로 유지하는 것을 목표로 명시된 파드 개수에 대한 가용성을 보증하는데 사용된다.replicaset을 구성하는 yaml파일# replicaset-nginx.yaml# [1] 기본 항목apiVersion: apps/v1kind: ReplicaSetmetadata: name: nginx-replicaset# [2] ReplicaSet 스펙spec: replicas: 3 # Pod의 수 selector: # Pod 템플릿의 검색 조건 matchLabels: app: nginx-replicaset # [3] Pod 템플릿 template: metadata: ..
1. docker에 코드와 일치하는 java버전 설치하기2. docker에 코드와 일치하는 tomcat버전 설치하기 3. WORKDIR 설정해서 자바설정 파일 옮기기docker를 설치했다는 가정하에 linux에서 workdir를 하나 설정하여 java파일을 옮겨놓는다.4. dockerfile을 설정하기Dockerfile : Container를 어떻게 만들어야 할지에 대한 설명서Docker Image : 어플리케이션을 실행하는 데에 필요한 코드, 런타임 환경, 시스템 라이브러리 등 모든 셋팅들을 포함하는 것Container : Docker Image를 고립된 환경에 실행시킬 수 있는 것 💡 Docker Container를 만들기 위해서는 Dockerfile를 이용해 Docker Image를 만들고 Con..
chatgpt한테 물어보았다. microk8s와 kubernetes의 차이가 뭐야?라고 물어보니KubernetesKubernetes는 원래 Google에서 개발한 강력한 오픈 소스 컨테이너 조정 플랫폼입니다. 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하도록 설계되었다.Kubernetes는 자동 확장, 롤링 업데이트, 서비스 검색, 로드 밸런싱, 스토리지 오케스트레이션 등을 포함하여 컨테이너화된 애플리케이션을 관리하기 위한 포괄적인 기능 세트를 제공한다.Microk8sMicroK8s는 Canonical(Ubuntu 뒤의 회사)에서 개발한 경량 Kubernetes 배포판이다. MicroK8s는 단일 노드 Kubernetes 클러스터를 워크스테이션이나 VM에서 빠르게 설정할 수 있는 단순화된 배..
반응형
Uheeking
'docker & Kubernetes' 카테고리의 글 목록 (3 Page)