클라우드
-
K8S 설계 개념(Kubernetes Design Concept)K8S 2021. 9. 15. 14:43
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 이번 포스팅은 K8S가 어떤 설계 개념을 토대로 디자인 되었는지 알아본다. Saad Ali라는 구글 개발자는 다음 규칙을 바탕으로 K8S를 설계했다. 1. Kubernetes APIs are declarative rather the imperative 2. No hidden internal APIs 3. Meet the user where they are: Remote storage 4. Workload portability 1. Kubernetes APIs are declarative rather the imperative 1) Imperative way 이전에는 시스템에 명령어를 직접 입력해서 시스템을 desire..
-
Vagrant 시작하기Ansible 2021. 8. 18. 23:11
1. vagrant sample code 만들기 vagrant init 2. vagrantfile 수정하기 vagrantfile에서 다음과 같이 수정하여 centos/7를 사용하기로 한다. config.vm.box = "centos/7" 공유 디렉토리는 사용하지 않을 것이므로 다음과 같이 변경해준다. config.vm.synced_folder ".", "/vagrant", disabled: true (현재 디렉토리와 원격지의 /vagrant를 마운트하여 사용하지 않을 것이다) 3. vagrant의 필요한 확장팩을 설치 vagrant plugin install vagrant-vbguest 만약 마운트 에러가 발생한다면 더 낮은 버전을 사용해보자. vagrant plugin uninstall vagrant-..
-
Ansible Core 설치와 Node 세팅Ansible 2021. 8. 16. 16:00
이번 포스팅은 Ansible Core 설치와 이에 필요한 Node 세팅에 대해 다룬다. 참고로 서버 환경은 AWS centos7 ec2를 이용하였으며 편의상 ansible core를 설치한 서버를 ansible server, 관리할 서버를 node라고 하겠다. Ansible이란? - 가장 많이 사용되는 구성관리 툴 - 이외에도 chef, salt, puppet등이 더 있는데 복잡하고 사용하기 어렵다. - agent 설치가 필요없으며 기술적으로 복잡도가 낮다. 1. ansible core 설치하기 ansible core는 ansible-server에 설치한다. 1) ansible 설치 패키지를 다운로드할 수 있는 공간을 위해 epel-release 설치 sudo yum install epel-release..
-
NAT Instance port-forwardingAWS 2021. 8. 1. 14:46
1. NAT 인스턴스 생성 NAT Instance AMI 이용하여 public subnet에 NAT Instance 생성. 보안 그룹 - All Traffic으로 세팅. 작업 - 네트워킹 - 소스/대상 확인 변경 - disable routing table 세팅은 NAT Gateway 세팅할 때와 동일 2. 포트 포워딩 iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 30000 -j DNAT --to 10.0.1.69:30000 NAT Instance의 30000포트로 들어온 경우, 10.0.1.69:30000으로 라우팅 3. NAT 테이블 확인 iptables -nL -t nat
-
K8S KubeConfig 정리K8S 2021. 7. 31. 00:37
kubeconfig파일은 cluster, user, context에 대한 정보를 담는 config파일이다. 여기서 context란 user와 cluster 사이의 관계를 매핑한 것이다. context는 여러 종류가 있을 수 있고, 현재 사용하는 context를 current-context라 한다. 1. kubeconfig 파일의 위치 2. kubeconfig 파일 확인하기 ~/.kube/config에서 확인해도 되지만 k8s는 kubeconfig파일을 확인할 수 있는 커맨드를 따로 제공한다 . 3. 특정 kubeconfig 파일 확인하기 default kubeconfig 파일(~/.kube/config 경로에 있는)이 아닌 특정 kubeconfig 파일을 확인할 때는 --kubeconfig 옵션을 이용한..
-
AWS EBS 볼륨 확장 및 파티션, 파일 시스템 변경AWS 2021. 7. 3. 20:54
이번 포스팅은 기본 EBS 볼륨을 확장하고 파티션과 파일시스템을 그에 맞게 변경한다. 다음 과정을 거쳐 진행한다. 1. 기본 EBS 볼륨 확장 2. 파티션 늘리기 3. 파일시스템 늘리기 4. EBS 정보 확인 [EC2 - EBS - 볼륨] - 루트볼륨 작업 - 볼륨 수정 - 볼륨 유형(gp3) - 크기(20 GiB) # 현재 루트 볼륨이 20G로 반영되어 있는데 아직 xvda1 파티션 크기가 8G 이므로 파티션 확장이 필요하다 [root@ST1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk └─xvda1 202:1 0 8G 0 part / # 아직은 xvda1 ..
-
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, ..
-
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 환경 이미지를 가져온다. 이미지를 잘 받아온것을 알 수 있다. 가져온 이미지로 컨테이너 생성한다. 컨테이너 내부에서 웹서버를 다운 받아 사용..