분류 전체보기
-
Helm3 Chart 생성 및 배포 정리 (feat. Github)K8S 2021. 7. 21. 16:00
이번 포스팅은 다음 과정을 다룬다 . helm3를 이용하여 차트 생성 생성한 차트를 github 레포지토리에 등록하기 github 레포지토리를 이용하여 helm에 추가하고 클러스터에 배포하기 1. chart 생성하기 mkdir ~/charts && cd ~/charts helm create my-chart cd my-chart Chart.yaml: 차트에 대한 이름, 버전, 설명등이 정의되어 있다. charts/ : chart 압축 파일들이 존재하는 디렉토리로 chart에서 사용하는 종속 chart들이 압축파일(tgz)으로 존재. helm dep up 명령 수행시 requirements.yaml을 참조하여 repository에서 다운 받아 생성 templates/: manifest파일들이 들어있는 디렉토..
-
ES6 Javascript 문법 정리Nodejs 2021. 7. 20. 16:12
1. Node란? sjoh0704/Basic-Javascript This repo is for learning Javascript. Contribute to sjoh0704/Basic-Javascript development by creating an account on GitHub. github.com 2. 함수 사용하기 sjoh0704/Basic-Javascript This repo is for learning Javascript. Contribute to sjoh0704/Basic-Javascript development by creating an account on GitHub. github.com 3. var, let, const의 특징과 쓰임새 sjoh0704/Basic-Javascript T..
-
AWS RDS Multi-AZ, Read Replica 실습AWS 2021. 7. 18. 20:52
이번 포스팅은 RDS를 사용하여 애플리케이션을 동작시켜 보고, RDS의 특징인 Multi-AZ와 Read Replica를 사용해본다 . RDS Multi-AZ이란? 다른 AZ에 백업DB를 구성하여 primary DB 장애시 백업 DB(secondary DB)가 동작 RDS Read Replica란? PrimaryDB 이외에 Read-Only DB를 두는 방식이다. 평상시에 DB가 동기화 되어 읽기 Endpoint URL을 Read Replica DB로 사용할 수 있다. (RDS는 최대 5개의 Copy본을 찍어낼 수 있다) 1. RDS DB1 생성 생성 방식 : 표준 생성 엔진 옵션 : MySQL 템플릿 : 프리 티어 DB 인스턴스 식별자 : database-1 마스터 사용자 이름 : r..
-
K8S Network Failure Trouble shootingTrouble Shooting 2021. 7. 18. 16:51
1. CNI 플러그인 Error 배포해놓은 애플리케이션이 동작하지 않아서 endpoint를 먼저 확인 엔드포인트 확인 결과, 애플리케이션 단에서는 문제가 없는 듯 하다. 네트워크 문제인가 싶어 전체 포드를 확인해보니 cni 플러그인이 없다. weave plugin 설치 kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 애플리케이션 동작 확인 결과 잘 된다. 2. kubeproxy 에러 다음과 같이 kube-proxy pod에서 에러가 발생했다. kubeproxy로그를 확인해봤더니 컨테이너 내부에서 /var/lib/kube-proxy/configuration.conf ..
-
K8S Worker Node Not Ready Trouble ShootingTrouble Shooting 2021. 7. 18. 14:58
이번 포스팅은 worker node에서 생길 수 있는 kubelet issue에 대해서 다루고 이를 trouble shooting한다. kubelet issue는 다음과 같이 나눌 수 있다. - 워커노드의 kubelet이 죽은 경우 - inactive - 워커노드의 kubelet이 활성화되고 있는 중인 경우 - activating - 워커노드의 kubelet이 동작 중인 경우 - active 1. 워커노드의 kubelet이 죽은 경우 먼저 노드 상태를 확인한다. node01의 상태가 not ready다. 어떤 문제가 있는 듯 하다. 좀 더 구체적인 정보를 위해 node01을 inspect 해본다. 노드의 상태를 알 수 없다고 한다. node의 agent인 kubelet으로부터 필요한 데이터를 받아오지 못..
-
NFS 구축 및 pv, pvc 생성과 K8S MySQL Statefulset 마운트K8S 2021. 7. 15. 00:17
이번 포스팅은 NFS 서버를 구축한 후, 이를 persistent volume으로 사용하여 mysql statefulset으로 배포하는 작업을 한다. mysql 컨테이너에서 마운트된 디렉토리에 대한 접근 권한 문제 때문에 삽집을 해서 이 부분에 대해서만 자세히 다룬다. chown: changing ownership of '/var/lib/mysql/': read-only file system (처음에 mysql 컨테이너에서 나는 문제인줄 알았는데 NFS 권한 설정 때문에 발생했던 문제였다.) NFS 서버는 EC2 우분투 18.04를 기준으로 하였고, NFS 서버의 /data/mysql 디렉토리를 마운트하여 사용할 것이다. 1. NFS 서버 구축하기 먼저 마운트할 디렉토리를 만들어준다. mkdir -p /..
-
VPN Routing Table 연결 문제 해결Trouble Shooting 2021. 7. 13. 11:33
우분투 18.04에서 학교 랩실 VPN에 연결 후, 오픈스택에 접속해야하는데 이상하게 연결이 안된다... 그래서 오픈스택 IP(192.168.50.10)으로 ping을 보내보니 그래도 ping은 잘 간다. (하지만 ping이 아주 느리게 갔다.) 그래서 먼저 원인 파악을 위해 vpn서버의 인터페이스와 연결된 내 로컬 PC의 vpn 인터페이스를 확인하였다. 못 보던 ppp0라는 인터페이스가 생겼고, 이 인터페이스는 192.168.50.1이라는 vpn 서버의 인터페이스와 연결되어 있는 듯 하다. 그리고 라우팅 테이블을 열어봤다. 라우팅 테이블에는 ppp0를 사용하는 테이블 규칙이 추가되어 있다. 그런데? 이 라우팅 테이블에는 192.168.50.10로 가는 방법이 없다... (default는 제외하고) 그래..
-
Istioctl를 이용한 istio 설치K8S 2021. 7. 11. 02:02
istio를 설치하기 위해 Kubeadm으로 클러스터를 구성한 상태로 현재 경로는 $HOME이다. 1. 다운로드 istio 공식 홈페이지에서 최신 버전을 다운 받는다. curl -L https://istio.io/downloadIstio | sh - 2. 환경 변수 path 설정 bashrc에서 환경 변수를 설정하자. vi .bashrc 현재 이스티오 버전으로 경로 설정 export PATH=$HOME/istio-1.10.2/bin:$PATH source .bashrc 3. istio 설치하기 istiod와 ingress gateway만 있는 default profile을 다운받아 보자. istioctl install