10. Vagrant 가상 머신을 통해 쿠버네티스 클러스터 생성해보기 (시작하기 전 잡담)
2021. 10. 15. 17:02
DevOps/kubernetes
VirtualBox 가상 머신을 통해 쿠버네티스 클러스터를 처음부터 끝까지 하나씩 설정해가며 만들어보았다. 가상 머신을 만들기 전에 CPU, 메모리 등 서버 자원을 설정해주었고 가상 머신을 만들고 나서 쿠버네티스 클러스터를 만들기 위한 리소스들을 다운로드 받아 설치하고 필요한 부분들을 설정해주어 클러스터가 잘 작동할 수 있는 환경을 만들어주었다. 그렇게 마스터 노드와 워커 노드 2개를 만들었고 kubeadm 을 통해 나름 쿠버네티스 클러스터라는 것을 구축해보았는데 생각보다 많은 시행착오를 거치면서 안 되는 부분을 하나씩 찾아가며 해봤기 때문에 쿠버네티스와 조금 더 친해질 수 있는 계기가 된 것 같다. 물론 모르는 부분도 정말 많았고 알아야하는 부분도 그냥 건너뛴 것도 정말 많다. 그렇기 때문에 공부해야할..
9. 쿠버네티스 대시보드 설치 및 설정하기
2021. 9. 15. 17:27
DevOps/kubernetes
쿠버네티스 대시보드를 통해 쿠버네티스 노드나 파드를 한눈에 볼 수 있다. 하지만 대시보드를 사용하게 되면 모든 권한흘 해제해주어야 하기 때문에 대시보드에서 클러스터의 모든 오브젝트들을 조회, 수정, 삭제가 가능하다. 그래서 보안상 권장하지 않는다고 한다. 이런 점들을 주의하고 대시보드를 설치하고 실행해보자. > 쿠버네티스 대시보드 documents https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/ 웹 UI (대시보드) 대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅할 수 kubernet..
8. 쿠버네티스 자동완성 기능 설정하기
2021. 8. 29. 04:10
DevOps/kubernetes
리눅스에서 보통 글자를 입력하고 TAB 을 치게 되면 자동으로 입력할 수 있는 문자가 완성된다. 쿠버네티스 명령어인 kubectl 을 사용하면 TAB 을 통해 자동완성이 되지 않는다. 예를 들어, ku 하고 TAB 하면 되지 않는다. 그래서 자동 완성 기능을 설정해보려고 한다. 쿠버네티스 자동 완성 기능과 관련된 글들은 정말 많기 때문에 여러 블로그를 참고하면 된다. 그리고 쿠버네티스에서도 자동완성과 관련된 문서를 제공해주고 있다. https://kubernetes.io/ko/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/ 리눅스에서 bash 자동 완성 사용하기 리눅스에서 bash 자동 완성을 위한 몇 가지 선택적 구성에 대해 설명한다. k..
7. 쿠버네티스 클러스터 네트워크 플러그인 cailco 설치 및 적용하기
2021. 8. 29. 03:42
DevOps/kubernetes
쿠버네티스 클러스터를 구성하기 위해서는 컨테이너 네트워크 인터페이스(CNI) 도 같이 구성해야 한다고 한다. 그 중에서 나는 컨테이너 네트워크 인터페이스인 Calico 를 적용해서 네트워크를 구성하려고 한다. 일단 마스터노드에서 현재 pod 상태를 전부 확인해보면 [root@k8s-master ~]# kubectl get pod --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-78fcd69978-fzpb2 0/1 Pending 0 26m kube-system coredns-78fcd69978-pmfnb 0/1 Pending 0 26m kube-system etcd-k8s-master 1/1 Running 0 26m..
6. 쿠버네티스 클러스터 워커 노드 설정하기
2021. 8. 29. 03:26
DevOps/kubernetes
마스터 노드를 설정했으니 이제 워커 노드를 설정해주어야 한다. 쿠버네티스 워커 노드 설정 요약 정리 1. 쿠버네티스 실행 systemctl enable --now kubelet 2. kubeadm 마스터 노드 연결 kubeadm join 10.0.2.10:6443 --token [token] \ --discovery-token-ca-cert-hash [sha256 hash] 3. 마스터 노드에서 연결된 워커 노드 확인 kubectl get nodes 1. 쿠버네티스 실행 마스터 노드와 마찬가지로 쿠버네티스를 실행시켜줘야 한다. [root@k8s-worker1 ~]# systemctl enable --now kubelet Created symlink from /etc/systemd/system/multi-..
5. 쿠버네티스 클러스터 마스터 노드 설정하기
2021. 8. 29. 03:15
DevOps/kubernetes
이제 쿠버네티스 클러스 마스터 노드를 설정할 차례다. 나는 kubeadm 를 사용해 클러스터를 만들어볼 생각이고 앞서 각 노드별 기본 설정과 필요한 것들을 설치했다. 쿠버네티스 마스터 노드 설정 요약 정리 1. 쿠버네티스 실행 systemctl enable --now kubelet 2. kubeadm 초기화 설정하기 kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.0.2.10 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 1. 쿠버네티스..
4. 가상 머신 복사해서 worker node 만들기
2021. 8. 29. 01:36
DevOps/kubernetes
우선 가상 머신으로 마스터 노드 하나를 만든 후에 기본적인 설정을 다 했다. 이제 워커노드 2개를 만들어야 하는데 처음부터 만드려면 시간이 오래 걸리기 때문에 마스터 노드인 가상 머신을 복제해서 필요한 부분을 수정하려고 한다. 1. 마스터 노드 가상 머신 복제하기 마스터 노드를 클릭하고 마우스 오른쪽 버튼을 누른 후 [복제] 버튼을 누른다. 그럼 이름과 경로를 수정할 수 있는데 이름을 k8s-worker1 로 수정하고 MAC 주소 정책을 [모든 네트워크 어댑터의 새 MAC 주소 생성] 으로 변경했다. 그런 다음 복제 방식은 완전한 복제를 선택하고 [복제]를 클릭한다. 이렇게 복제가 진행되고 끝나고 가상 머신을 확인하면 된다. 복제 완료 !! 하지만 여기서 완료된 게 아니다. 자원의 여유가 없어 워커노드의..
3. 쿠버네티스 클러스터 노드 서버 기본 설정 및 설치
2021. 8. 29. 01:16
DevOps/kubernetes
가상 머신 만들어서 CentOS 까지 설치가 끝났다. 이제 쿠버네티스 클러스터를 위한 노드 기본 설정을 해주어야 하는데 생각보다 해줄게 많다. 하나씩 해보면서 왜 해주어야 하는지 살펴볼 예정이다. 노드 기본 설정 요약 정리 1. SELinux 설정 setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config sestatus 2. 방화벽 비활성화 - firewalld, NetworkManager systemctl stop firewalld && systemctl disable firewalld systemctl stop NetworkManager && systemctl disable NetworkManager 3. i..