분류 전체보기
-
K8S Multiple Scheduler 생성하기K8S 2021. 6. 14. 17:46
이번 포스팅은 쿠버네티스 클러스터 내에서 스케줄러를 하나 더 만들고 이를 사용해보는 실습을 한다. kubeadm으로 클러스터를 생성하면 /etc/kubernetes/manifest 경로에 있는 definition file들에 의해 static pod 형태로 생성된 포드를 볼 수 있다. (뒤에 -controlplane이 붙은 포드들이 static pod들이다) multiple scheduler를 만들기 위해 /etc/kubernetes/manifest 경로의 scheduler file을 사용한다. 참고로 생성할 스케줄러는 /etc/kubernetes/manifest 경로가 아닌 다른 경로에서 수정해주어야 한다. 이유는 다음을 참고 K8S Scheduling 정리2 (Resource, Daemonsets, ..
-
K8S Scheduling 정리2 (Resource, Daemonsets, Static pod)K8S 2021. 6. 13. 18:02
1. 리소스 관리 Docker container에서의 컨테이너 리소스 제한은 없다. 즉 계속 확장된다. 하지만 쿠버네티스에서 리소스 사용량을 제한하며 default resource request는 container당 0.5vcpu와 256Mi, default resource limit는 container당 1vcpu와 512Mi로 생성된다. 물론 default이므로 리소스 사용 제한을 다음과 같이 다르게 변경해 줄수도 있다. 2. Daemonsets 클러스터 각 노드에 포드를 하나씩 생성하는 오브젝트다. 대표적인 데몬셋으로 kube-proxy가 있다. 클러스터에 노드가 추가되면 데몬셋 포드 또한 추가되며 노드가 detach될 경우에도 마찬가지로 포드가 제거된다. 각 노드에 포드를 하나씩 생성하기 때문에 ..
-
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로 접속하기 접속 성공
-
K8S Scheduling 정리 (Taint, Toleration, Node Affinity)K8S 2021. 6. 12. 22:40
1. manual scheduling k8s 스케줄러는 포드가 어떤 노드에 될 것인지 결정한다. 만약 스케줄러에 장애가 생긴다면 포드를 생성해도 포드는 pending상태에 머문다. 이때 manual한 방법으로 스케줄링 시켜줄 수 있는데 다음과 같이 nodeName에 할당할 노드명을 적어주면 정상적으로 동작시킬 수 있다. 2. annotation annoatation은 tool detail, version, build information등을 기록하기 위한 용도로 사용된다. 3. label을 기반으로 pod 찾기 selector를 이용하여 원하는 label에 속하는 포드를 구할 수 있다. 여러개의 label에 속한 포드를 찾고 싶다면 콤마를 이용한다. 4. taint, toleration 1) node01..
-
Python: sqlite3 라이브러리 정리Python 2021. 6. 8. 11:22
1. DB 생성, Table 생성, 데이터 입력, 데이터 출력 import sqlite3 # DB 연결 con = sqlite3.connect(r"C:\Users\Seung\naverDB") # 커서를 이용해 실행된 결과를 돌려 받는다. cur = con.cursor() # 테이블 생성 cur.execute("CREATE TABLE userTable\ (id char(4), userName char(15), email char(15), birthYear int)") # 데이터 입력 cur.execute("INSERT INTO userTable Values\ ('Lee', 'Lee sin', 'leesin@daum.net', 1995)") cur.execute("INSERT INTO userTable Va..
-
python: Pillow 라이브러리 정리Python 2021. 6. 7. 16:06
pillow는 파이썬의 이미지 편집 라이브러리로 이미지 편집에 관한 여러가지 기능을 제공한다. 1. 이미지 잘라내기 from PIL import Image img = Image.open('gif/panda.gif') # (100, 200)에서 (600, 700)까지 xy = (100, 200, 600, 700) # xy 범위를 크롭해서 가져온다. crop_img = img.crop(xy) print(crop_img.size) crop_img.show() 2. 이미지 붙여넣기 from PIL import Image img = Image.open('gif/panda.gif') # (100, 200)에서 (600, 700)의 이미지를 잘라낸다. x = (100, 200, 600, 700) crop_img = ..
-
python: pandas 라이브러리 정리Python 2021. 6. 6. 20:41
이전 포스팅에서 numpy 라이브러리를 알아보았고 데이터 처리에 있어서 강력한 기능을 제공하는 것을 확인했다. 하지만 numpy는 데이터의 속성을 표시하는 행이나 열의 레이블을 가지고 있지 않다는 한계가 있다. 그래서 pandas 라는 라이브러리를 사용하는데 이를 이용하면 행과 열로 구조화하여 엑셀과 같은 데이터를 효과적으로 처리할 수 있다. 판다스의 개요 1. 특징 - 빠르고 효율적이며 다양한 표현력을 갖춘 자료구조 - 다양한 형태의 데이터에 적합 - 데이터프레임을 이용한 2차원 데이터 표현 2. 장점 - 결측 데이터 처리 - 데이터 추가 삭제 - 데이터 정렬과 다양한 데이터 조작 3. 판다스가 하는 일 - 데이터 불러오기 및 저장하기 - 데이터 보기 및 검사 - 필터, 정렬 및 그룹화 - 데이터 정제..
-
Python: BeautifulSoup 라이브러리 정리(find, find_all, 태그, 클래스, id, 속성)Python 2021. 6. 2. 23:14
BeautifulSoup란? 인터넷 문서의 구조에서 명확한 데이터를 추출하고 처리하는 가장 쉬운 라이브러리 1. find로 태그 추출하기 find(name, attrs, recursive, string, **kwargs) from urllib.request import urlopen from bs4 import BeautifulSoup a = urlopen('https://www.naver.com/') # a를 호출해 html을 parser soup = BeautifulSoup(a.read(), 'html.parser') # soup에서 h1 tag 하나를 가져온다. print(soup.find('h1')) 네이버 from urllib.request import urlopen from bs4 import..