MSA & 쿠버네티스(Kubernetes) - k8s
-
DockerFile과 commit 명령어로 웹서버 이미지 만들기MSA & 쿠버네티스(Kubernetes) - k8s 2022. 8. 8. 00:01
우리는 Docker Hub이라는 Docker에서 운영하는 이미지 저장소에서 도커 이미지를 받아서 run 명령어를 통해 컨테이너로 실행합니다. 만약 우리가 원하는 이미지를 생성하기 위해서는 어떻게 해야 할까요? 1. 컨테이너를 실행하여 commit 명령어로 이미지로 만들 수 있습니다. 2. 도커 파일을 생성하고 build 명령어로 이미지를 만들 수 있습니다. 이를 해석하자면 다음과 같습니다 우분투 20.04 os 환경에서부터 (FROM ~) 파이썬을 설치하고 (RUN~) : 도커 이미지가 생성되기 전에 수행할 쉘 명령어 /var/www/html 경로를 생성하고 (WORKDIR~) : 설정한 실행 파일이 실행될 디렉터리 index.html 파일을 해당 경로에 복사하고 (COPY~) EXPOSE : 호스트와 ..
-
도커 컨테이너 수정하기MSA & 쿠버네티스(Kubernetes) - k8s 2022. 8. 3. 00:01
이전 시간에 Docker로 Apache 웹서버를 띄워 보았습니다. https://junuuu.tistory.com/384 하지만 index.html에 접속하면 It'works라는 메시지밖에 볼 수 없습니다. 이전 환경에 이어서 작업을 진행하기 해보겠습니다. 컨테이너에 접속하여 파일에 접근하는 방법을 알아보겠습니다. Docker 컨테이너는 시스템 관점에서 보면 하나의 프로세스입니다. 하지만 일반 프로세스와의 차이로 각각의 컨테이너는 호스트 시스템과는 별개로 별개의 파일 시스템, 네트워크, 권한 등 다른 환경을 가지고 있습니다. 이때 특정 컨테이너 환경에서 명령어를 실행할 수 있도록 하는 명령어가 docker exec 명령어입니다. docker exec ws3 pwd docker exec ws3 ls 위의 ..
-
Docker로 Apache 웹서버 띄우기MSA & 쿠버네티스(Kubernetes) - k8s 2022. 8. 2. 00:01
Docker에 대한 기초적인 지식은 있다는 가정하에 진행하겠습니다. - Docker 이미지란 - Docker 설치법 - 가상화와 컨테이너 개념 - 네트워크 포트개념 간단하게 설명하자면 Docker Hub에 이미지들이 존재하고 이 이미지들을 실행하면 컨테이너가 됩니다. 또한 이미지는 여러 개 실행할 수 있습니다. 이때 Docker Hub은 App Store, 이미지는 프로그램, 컨테이너는 프로세스의 개념으로 이해하시면 좋을 것 같습니다. 1. Docker Desktop 열기 2. cmd 창 열기 3. 아파치 웹서버 이미지 내려받기 docker pull httpd 4. 이미지가 정상적으로 받아졌는지 확인 docker images httpd가 잘 생성된 것을 확인할 수 있습니다. 5. 컨테이너로 실행 dock..
-
Docker 설치해보기 + Docker에 Jenkins 설치(윈도우10 Home Edition)MSA & 쿠버네티스(Kubernetes) - k8s 2022. 7. 22. 21:35
도커란? 도커에 대해 잘 모르신다면 다음 글을 보고 오시면 좋습니다. https://junuuu.tistory.com/331?category=994008 도커란? +(도커 이미지란?) 도커란? 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 컨테이너와 가상 머신의 가장 큰 차이는 OS를 공유하느냐 하지 않느냐의 차이입니다. 컨테이너는 OS를 공유하기 때문에 가상 머신보다 junuuu.tistory.com WSL2 설치 및 활성화 방법 "나는 Docker를 설치하려고하는데 무슨.. WSL2?" 라고 생각할 수 있습니다. Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야 합니다. Linux 계열 이외의 운영체제에서 도커를 사용하기 위해서는 다른 툴을 이용해야 합니다. 윈도우는 이전부..
-
도커란? +(도커 이미지란?)MSA & 쿠버네티스(Kubernetes) - k8s 2022. 6. 29. 00:01
도커란? 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 컨테이너와 가상 머신의 가장 큰 차이는 OS를 공유하느냐 하지 않느냐의 차이입니다. 컨테이너는 OS를 공유하기 때문에 가상 머신보다 효율적입니다. 나는 지금 만약 컨테이너, 가상화에 대해 잘 모르겠다고 하신다면 생활코딩의 Docker 영상을 한번 보고 오시면 좋을 것 같습니다 생활코딩 Container 설명 : 4분영상 https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf 컨테이너 가상화 기술을 사용하는 이유를 간단하게 설명하자면 각 프로그램들(Sever, DB 등)을 격리된 OS 환경에서 실행하고 싶으며 자원을 효율적으로 사용하기 위해서 가상화 -> 컨..
-
NGINX란?MSA & 쿠버네티스(Kubernetes) - k8s 2022. 6. 25. 00:01
NGINX란? NGINX는 웹 서비스, 리버스 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어입니다. 최대 성능과 안정성을 위해 설계된 웹 서버로 시작했습니다. HTTP 서버 기능 외에도 NGINX는 이메일용 프록시 서버와 HTTP(TCP/UDP) 서버용 리버스 프록시 및 로드 밸런서로도 사용할 수 있습니다. 프록시 개념잡기 리버스 프록시, 프록시 서버에 대한 이야기가 나옵니다. 프록시란 대리인이라는 뜻을 가지는 단어로 두 PC가 통신을 할 때 중간에 들어가 있는 중계 서버입니다. 인터넷망을 기준 이 프록시 서버가 어디에 위치하느냐에 따라 포워드 프록시/ 리버스 프록시로 나뉘게 됩니다. Forward Proxy Reverse Proxy 좀 더 자세하게 알고 싶으면 다음글을 ..
-
Service Discovery란?MSA & 쿠버네티스(Kubernetes) - k8s 2022. 3. 24. 18:05
Service Discovery란? MSA로 구성되어 있는 서비스들은 각자 다른 IP와 Port를 가지고 있습니다. MSA와 같은 분산 환경은 서비스 간의 원격 호출로 구성되며 원격 서비스 호출은 IP주소와 포트를 이용하는 방식입니다. 클라우드 환경이 되면서 서비스가 Auto-Scaling등에 의해서 동적으로 생성되며 서비스의 IP가 동적으로 변경되는 일이 잦아졌습니다. 따라서 서로 다른 서비스들의 IP와 Port 정보에 대해서 저장하고 관리할 필요가 있는데 이것을 Service Discovery라고 합니다. AutoScaling이란? 사용자가 정의한 주기나 이벤트에 따라 서버를 자동으로 생성하거나 삭제하는 것을 말합니다. 제공하는 서비스에 대해서 사용자가 몰리거나, 여유로운 시간대에 서버를 자동으로 늘..
-
로드 밸런서(Load Balancer)란?MSA & 쿠버네티스(Kubernetes) - k8s 2022. 3. 22. 02:08
로드 밸런서(Load Balancer)란? 하나의 인터넷 서비스에 발생하는 트래픽이 많을 때 여러 대의 서버가 분산 처리하여 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산 처리해주는 서비스입니다. 클라이언트 요청 또는 네트워크 부하를 여러 서버에 효율적으로 분산시킵니다. 온라인 상태인 서버에만 요청을 보내 고가용성과 안전성을 보장합니다. 수요에 따라 서버를 추가하거나 제거할 수 있는 유연성을 제공합니다. 로드 밸런서는 왜 필요할까요? 로드 밸런서가 왜 필요한지 알아보기 전에 먼저 서버에 대해 조금 알아보겠습니다. 만약 하나의 서버에 수많은 클라이언트들이 요청하면 서버는 메모리가 부족해 다운될 수 있습니다. 이를 해결하기 위해서는 어떻게 해야 할까요? Scale-up : Server가..