분류 전체보기
-
AWS 인스턴스에 docker container 형태로 django web 배포하기AWS 2021. 4. 6. 23:40
AWS instance에 django가 이미 설치되어 있는 docker container를 올린 후, git에 올려둔 django web을 올려 배포할 것이다. () 인스턴스를 생성해주면서 HTTP에 대한 보안그룹을 허용해주자. EC2 AWS 인스턴스 생성이 끝나면 인스턴스에 접속하여 apt 패키지리스트를 업데이트 해준다. sudo apt-get update docker container안에서 웹서버를 배포해줄 것이므로 docker 설치한다. sudo apt-get install docker.io 설치가 끝나면 dockerhub에 로그인해서 전에 올려둔 django 환경 이미지를 가져온다. 이미지를 잘 받아온것을 알 수 있다. 가져온 이미지로 컨테이너 생성한다. 컨테이너 내부에서 웹서버를 다운 받아 사용..
-
OpenStack CLI로 인스턴스 생성하기메모 및 기타 2021. 4. 3. 12:43
먼저 ssh로 내 오픈스택 계정(student27)에 접속하자 하지만 다음과 같이 바로 openstack 커맨드 사용이 불가능하다. openstack command를 사용하기 위해 환경변수 세팅을 해주자. openstack command를 사용하기 위해 환경변수에 openstack authentication를 추가해준다. 환경변수에 필요한 내용을 추가하기 위해서 다음 명령어를 실행한다. source devstack/openrc [openstack사용자ID] [openstack계정ID] ['openstack계정 비밀번호'] 방금 추가한 환경변수가 잘 추가 되었는지 확인하자. 환경변수세팅이 잘 되었으면 오픈스택 커맨드가 사용가능..
-
Python: 클래스, 멀티스레딩, 멀티프로세싱(Class, Multi threading, Multi Processing) 참고Python 2021. 4. 3. 00:45
class Line: def __init__(self, length): self.length = length def __del__(self): print("{}길이의 선 삭제".format(self.length)) def __repr__(self): return str(self.length) def __add__(self, other): return self.length + other.length def __lt__(self, other): return self.length < other.length def __eq__(self, other): return self.length == other.length def __getattr__(self, item): pri..
-
클라우드: 쿠버네티스 컨피그맵(Configmap) 실습하기K8S 2021. 3. 31. 01:13
대부분의 어플리케이션은 설정값을 가지고 있다. 예를 들어, Nginx 웹서버의 경우, nginx.conf파일에 설정값을 보관하며 이처럼 설정값을 저장하는 방법에 대한 쿠버네티스 오브젝트가 컨피그맵이다. 이번 포스팅은 컨피그맵을 이용하여 설정사항들을 저장하는 다양한 방법에 대해서 알아본다. create configmap명령어를 이용하여 다음과 같이 log-level-configmap이라는 이름의 컨피그 맵을 생성한다. --from-literal이라는 옵션을 통해 LOG_LEVEL을 key로 하고, DEBUG을 value으로 하는 키-값 한쌍을 생성한다. kubectl create configmap log-level-configmap --from-literal LOG_LEV..
-
클라우드: 쿠버네티스 네임스페이스(namespace) 실습하기K8S 2021. 3. 28. 03:01
네임스페이스는 리소스를 논리적으로 구분하는 역할을 한다. label과 유사하지만 더 폭넓은 용도로 사용가능하다는 점에서 차이가 있다. 1. namespace 확인하기 기본적으로 사용하는 namespace는 default namespace 기본적으로 생성되어 있는 kube-system namespace의 포드와 서비스를 다음과 같이 확인할 수 있다. (kube-system 네임스페이스는 쿠버네티스 클러스터 동작에 있어서 중요한 오브젝트이므로 건드리지 않는게 좋다) 2. 네임 스페이스 사용하기 다음과 같이 production이라는 이름으로 namespace yaml파일을 정의하고 적용해준다. 또는 다음과 같은 방법으로 namespace 생성가능하다. ku..
-
Python: 파일 입출력(이진 파일, shutil, os, os.path) 예외처리 참고Python 2021. 3. 27. 12:32
Python: 파일 입출력 (읽기, 쓰기, 복사, 암호화 및 복호화) 참고 1. 파일읽기 readline을 이용한 파일 읽기(한줄씩) inFp = open("C:/data/practice.txt", 'r', encoding='utf-8') inStr = inFp.readline() print(inStr) inStr = inFp.readline() print(inStr) inStr = inFp.read.. seungjuitmemo.tistory.com # 이진 파일 복사하기 infp = open("C:/data/test.txt", 'rb') # rb는 read binary outfp = open("C:/data/test_tmp.txt", 'wb') # wb는 write binar..
-
minikube: Failed kubeconfig update: Error reading file open .kube/config 에러 해결Trouble Shooting 2021. 3. 27. 02:00
처음에 cgroup문제인 줄 알고 삽질했다. suggestion으로 .kube/config의 권한과 소유권을 바꾸라고 해서 바꾸었지만, 잘 되지 않았다. 그런데 .kube 디렉토리를 보니 애초에 seung 사용자가 접근하지 못하게끔 되어 있는것을 확인했고, 다음과 같이 .kube의 권한과 소유권을 바꾸고, .kube/config 또한 다음과 같이 권한과 소유권을 바꾸어 주었다. 성공적으로 된다.
-
Ubuntu에서 VPN 접속 문제 해결Trouble Shooting 2021. 3. 25. 00:01
외부의 구축되어 있는 오픈 스택을 사용해야 해서 VPN을 통해 외부망에 접속해야 했다. 하지만 Ubuntu 로컬에서 VPN을 잘 설정해 줬는데도 계속 접속 실패... 에러 확인을 위해 다음과 같이 로그 확인을 해 보았더니... sudo tail -f /var/log/syslog 방화벽 문제임을 확인하고 방화벽을 꺼준다. sudo ufw disable vpn접속은 성공적으로 되어서 신나게 원하는 Ip(192.168.49.10)로 접속하려고 했지만... 접속이 되지 않는다... 이제부터는 네트워크 문제인가 싶어서 먼저 ifconfig를 통해 네트워크 인터페이스를 확인 해 보았더니 쓰지도 않는 브릿지가 192.168.49.0/24 대역을 차지하고 있었다. 브릿지와의 충돌 때문이라고 생각하고 브릿지를 지워주었다..