본문 바로가기

AWS 교육/Docker-AWS (월)

250210 ssh 키, Kubernetes

728x90

먼저 이전에 만들었던 k8s-master를 삭제한 후 다시 생성하여 준다

이름 : k8s-master / 메모리 : 4096 / 프로세서 : 2-4 / 하드디스크 : 50-100GB

  iso : ubuntu 22.04     //    네트워크 : 1.NAT  2.호스트 전용 어댑터

 

 설치 시작 (Try or Install Ubuntu) > Install Ubuntu > English(US)  >:>  컴퓨터 이름 : k8s-master 계정 : ubuntu 비번 : busanit > restart now

 

 기본 작업 : sudo apt update -y & sudo apt upgrade -y

                   sudo apt install -y vim git curl net-tools openssh-server

 

  그 후 ip를 56.10 으로 변경한 후 MobaXterm을 접속

 

  이제 ssh키를 생성하기 위해 .ssh 디렉토리(권한 700)을 생성한 후

  외부에서 k8s-master 폴더의 옆에 keys라는 폴더를 생성한 후 내부에서 우클릭하여 터미널을 연다

  그후 "ssh-keygen -t rsa" 명령어를 통해 내부에 ssh key를 생성하여 준다

  이제 터미널에서 ssh로 접속을 시도하여 본다 (ubuntu@192.168.56.10)

  ㄴ 만약 실행되지 않는 경우 C:\Users\admin\.ssh 에서 known_hosts 관련 파일을 전부 삭제한 후 재실행 하여 본다

 

  그 후 scp 명령어를 통해 ssh로 카피본을 전송하여 주면 성공 시 내부에서 동일한 파일을 확인할 수 있으며,

  해당 파일을 이름과 권한을 설정하여 준다 (파일이름과 권한이 틀릴경우 안될 수 있음)

00. Ubuntu 22 04 VM 만들기.pdf
0.74MB

 

  이렇게 완료한 후 ssh 키 설정을 하여 접속하면 입력없이 바로 접속할 수 있다

 

  이제 원격접속의 셋팅을 완료했으니 쿠버네티스 연결을 위한 과정을 진행하여 볼건데 

 

  먼저 swap 비활성화 명령어인 "sudo swapoff -a && sudo sed -i '/swap/s/^/#/' /etc/fstab"를 입력하여 주고

  방화벽을 비활성화 하여준 후 "sudo systemctl stop ufw", "sudo systemctl disable ufw"

  ntp라는 프로그램을 설치하여 주고

  ntp를 통하여 시간을 동기화 하여 준 후

  ip 포워딩을 활성화 시켜주고 containerd 를 이용한 container runtime 구성을 지정하여 준다

  ㄴ container runtime 구성 시 위 사진과 같이 안나오고 > 가 출력 시 overlay등의 앞에 공백을 지워서 다시 입력하여 준다

  이후 노드간 통신을 위한 iptables 에 브릿지 관련 설정을 추가한다 .

 

  이렇게 완료한 후 이제 docker를 설치하여 준다 

  (update 후) sudo apt-get -y install apt-transport-https \ ca-certificates curl software-properties-common gnupg2

  그후 도커의 공식 gpg키를 등록하여 준다 (에러가 변경된 부분이 있는 지 테스트 하는 것)

  그리고 docker-ce 와 관련 도구 및 containerd 설치하여 준 후

    이젠 설치한 containerd를 설정하여 준다 (config.toml 파일 내부 disabled_plugin = [] 이라는 내용 확인)

  설정 완료 후 docker daemon을 설정하여 준다

  이렇게까지 완료한 후 전부 정상이라면 reboot하여 준다 (active 확인)

  ㄴ version 실행 시 permission denied이 발생하면 안됨

 

  이제 주요 작업인 Kubernetes 도구 설치를 하여 준다

  ㄴ만약 이후 update에서 에러 발생 시 메모장으로 옮겨서 한줄로 변경하여 입력하기

  이렇게 도구 설치와 확인을 완료하고 설치된 툴이 자동업데이트되지 않도록 막아준 후

  항상 start 상태가 되도록 하여 준다

  이렇게 Master node 의 모든 설정이 끝나면 worker node 복제를 위해 설정을 완료한 후 shutdown 한다.

오타 필수 확인

 

  완전히 shutdown 한 후 복제를 하여 준다 (node01~03)

 

  이제 node01의 ip대역을 수정하여 주고 컴퓨터 이름을 수정하며, hosts의 본인 이름도 수정하여 준 후 종료한다

  ㄴ 바꾼 후 찍기위해 재입력한 사진

  이 작업을 node03까지 반복하여 준다

 

  작업이 완료되면 헤드리스 시작하고 모바텀에서 접속하여 준다

  접속이 완료되면 서로 접속하여 known_hosts 파일에 등록하여 준다

  이렇게 완료 한 후 kubernetes를 초기화 작업을 하여준다

   ㄴ이렇게 입력한 내용의 값의 마지막 부분을 메모장에 저장

  kubernetes control plane 초기화 후, sudo 권한 없이 kuberctl을 사용하기 위해 admin.conf 즉, conf 구성 파일을 통해 Kubernetes 권한을 부여하여 실행하기 떄문에 별도 권한 지정 없이 진행하여 준다

  그 후 Kubernetes의 자동완성 기능을 추가하여 준다

 

이렇게 완료한 후 HostOS 에 open 된 port 를 확인한다 . 특히 , kube-apiserver를 위주로 확인하여 준다

 

  ★ 만약 오류 발생 시 master에서 "sudo kubeadm reset", "sudo systemctl restart" 하고 reboot하여 초기화 하여준 후 다시 실행하여 준다

 

  이렇게 완료 한 후 [컨테이너 인프라 완경 구축을 위한 쿠버네티스/도커] 책의 내용을 확인하여 준다

  p.78~84

728x90