도커
-
Docker로 mysql container 생성하고 DBeaver로 접속하기메모 및 기타 2021. 6. 13. 10:07
1. mysql container 생성 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name test-mysql \ mysql:5.7.30 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 2. container 내부로 들어가서 mysql 접속 docker exec -it test-mysql bash mysql -u root -p 이후 위에서 지정했던 root 비밀번호를 입력해준다. 3. Database 생성하고 확인하기 CREATE DATABASE practice; SHOW DATABASES; 4. DBeaver로 접속하기 접속 성공
-
django web container에서 AWS RDS 연동하기AWS 2021. 5. 16. 00:09
다음과 같은 순서로 진행한다. 1. AWS에서 RDS 인스턴스 생성하기 2. container 생성하고, django web 올리기 3. django의 RDS 연결 설정하기 1. AWS에서 RDS 인스턴스 생성하기 1) RDS 파라미터 그룹 만들기 - 데이터 베이스에서 한글을 사용할 수 있도록, 파라미터 그룹을 생성한다. - 생성 후, character 검색 -> utf8로 설정 2) RDS 인스턴스 생성 - 필자는 프리티어 옵션을 사용하므로 프리티어 템플릿을 선택하고 마스터 사용자 이름, 마스터 암호는 db에서 사용할 것이므로 따로 기억한다. - 로컬 컴퓨터에서 작업할 것이므로 퍼블릭 엑세스를 설정 - 자동 백업은 꺼준다. 3) 보안그룹 설정 - 인바운드 규칙을 편집하여 외부에서 접근할 수 있게 설정 ..
-
Docker 이미지 생성 및 배포하기메모 및 기타 2021. 4. 6. 23:58
전에 만들어둔 django 환경의 컨테이너를 도커허브에 올려둘 일이 생겨서 이와 관련된 커맨드를 포스팅한다. 다음과 같이 django01이라는 이름의 컨테이너를 이미지화하고 도커허브에 올려둘 것이다. 1. docker 이미지 생성하기 docker commit [container id or container name] [지정할 이미지 이름] 2. 만들어둔 이미지에 tag를 붙여준다. tag를 올바르게 붙여 주어야 docker hub에 올바르게 나의 레포지토리로 올라간다. docker tag [이미지 이름] [dockerhub id/이미지 이름] 만들어진 이미지가 올바르게 만들어졌는지 확인하자. docker images 3. 만들어진 이미지 도커허브에 올리기 나의 도커허브로 로그인한 후 docker logi..
-
클라우드: 쿠버네티스 서비스(Service) ClusterIP와 NodePort 실습하기K8S 2021. 2. 18. 23:17
이전의 경우에서는 kubectl describe 커맨드로 포드의 내부의 IP를 찾고, 마스터노드를 통해 포드에 직접 접근했다. 네트워크: 쿠버네티스 포드(Pod) 오브젝트 사용하기 쿠버네티스는 대부분의 리소스를 오브젝트 형태로 관리한다. 쿠버네티스의 컨테이너의 집합(pods), 컨테이너의 집합을 관리하는 컨트롤러(replica set) 사용자(service account), 노드(node)등이 하나의 오 seungjuitmemo.tistory.com 하지만 이러한 방법은 쿠버네티스 클러스터 내부 또는 로컬을 통해서만 사용할 수 있다. 또한 포드의 IP는 계속 바뀔 수 있으므로, 하나의 어플리케이션으로 연동시킬려면 IP를 이용한 접근이 아닌 다른 방법이 필요하다. 이전에 포드를 생성할때 containerP..
-
클라우드: 쿠버네티스 디플로이먼트(Deployment) 실습하기K8S 2021. 2. 14. 11:04
네트워크: 쿠버네티스 레플리카셋(Replica Set) 실습하기 우선 포드는 기본적으로 여러 개의 컨테이너를 추상화하여 하나의 어플리케이션으로 동작한다. 외부 사용자가 어플리케이션으로 요청을 보내면 쿠버네티스에서는 이러한 요청을 동일한 여러 seungjuitmemo.tistory.com 앞서 레플리카셋을 yaml파일로 작성하고 이를 이용해서 레플리카셋을 만들었다. 하지만 실제 쿠버네티스 운영에서는 레플리카셋과 포드의 정보를 정의하는 디플로이먼트(Deployment)라는 오브젝트를 yaml파일에 정의하여 사용한다. 디플로이먼트는 레플리카 셋의 상위 오브젝트이기 때문에 디플로이먼트를 생성하면 해당 디플로이먼트에 대응하는 레플리카셋도 함께 생성된다. 다음 yaml 파일을 이용해서 디플로이먼트에 대해서 알아보자..
-
클라우드: 쿠버네티스 레플리카셋(Replica Set) 실습하기K8S 2021. 2. 5. 01:58
우선 포드는 기본적으로 여러 개의 컨테이너를 추상화하여 하나의 어플리케이션으로 동작한다. 외부 사용자가 어플리케이션으로 요청을 보내면 쿠버네티스에서는 이러한 요청을 동일한 여러개의 포드로 분배하여 전달한다. 그렇다면 동일한 여러개의 포드는 어떤식으로 생성할 수 있을까? yaml 파일에 하나의 포드를 더 정의해서 사용하는 방법은 매우 비효율적이다. 워커 노드가 다운되거나 어떠한 이유로 포드가 삭제된다면 해당 포드를 다시 생성하기는 어렵다. 그래서 이러한 문제점을 해결해주는 것이 레플리카셋이다. 레플리카 셋이 하는 일은 다음과 같다. ● 동일한 포드가 정해진 수 만큼 실행되도록 한다. ● 노드에 장애 발생시, 다른 노드에서 포드를 다시 생성한다. 이렇게 레플리카셋을 이용하여 일정한 수의 동일한 포드를 생성하..
-
클라우드: 쿠버네티스 설치하기K8S 2021. 1. 31. 20:30
쿠버네티스는 사용환경과 목적에 따라 설치하는 방법이 매우 다양하고 복잡하다. 하나의 호스트에서 개발용도로만 사용하려면 Minikube, Docker for Mac/Windows에 내장된 쿠버네티스가 적당하다 하지만 서비스 테스트 또는 운영용도로 사용하려면 다른 것들이 필요하다. (쿠버네티스는 여러 자원을 클러스터링해서 컨테이너를 배치하는것이 핵심 기능이기 때문) 우선 어떤 환경에 설치할 것인지 결정해야 한다. 1. 온프레미스 환경에 설치할 것이냐 2. 클라우드 환경에 설치할 것이냐 온프레미스 환경에 설치할 경우, 쿠버네티스를 포함한 모든 인프라를 직접 관리해야 한다. 원하는 대로 구성할 수 있지만, 유지 보수를 스스로 해야하는 것이 단점 클라우드 플랫폼을 이용할 경우, 서버 인스턴스에 직접 쿠버네티스를 ..