Cohe

쿠버네티스 설치 방법 본문

배포 배우기

쿠버네티스 설치 방법

코헤0121 2024. 8. 13. 09:57
728x90

쿠버네티스 설치를 위한 환경설정

https://www.vagrantup.com/downloads.html

  • 이거 다운

→ 재부팅 됩니다!!!!

  • HashiCorp 라는 폴더를 만들어서 들어간다
  • vagrant init 을 치면 됨~!!!
  • code Vagrantfile 으로 VS code에서 해당 파일을 열어보자

여기부터 시작

Vagrantfile 에서 작업


  config.vm.box = **"sysnet4admin/CentOS-k8s**"   # 이걸로 바꿔라
  • 이후 cmd에서 vagrant up 을 친다.
  • vm virtualBox에서 보면 아래와 같이 신기방기한게 실행중이다

  • Vagrantfile 는 Ruby 기반으로 동작한다. # -*- mode: ruby -*-
    • 뭐가 앤서블(원격으로 remote 작업을 한다, 다수의 시스템 작업을 순차적으로 다뤄본다.) 기반으로 이야기 된다.

해당 사이트에 들어간다

Vagrant Cloud by HashiCorp

  • 지금 저 빨간 박스를 다운받았다. (책 기반으로 하기 때문에 책 저자가 준걸로 하고 있음)

Vagrantfile

  • 상위 2줄 빼고 모든 주석을 제거해도 괜찮다 (안지워도 됨)
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config| 
  config.vm.define "m-k8s" do |cfg|
    cfg.vm.box = "sysnet4admin/CentOS-k8s"
    cfg.vm.provider "virtualbox" do |vb|
      vb.name = "m-k8s(github_SysNet4Admin)"
      vb.cpus = 2
      vb.memory = 2048
      vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
    end
    cfg.vm.host_name = "m-k8s"
    cfg.vm.network "private_network", ip: "192.168.1.10"
    cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
    cfg.vm.synced_folder "../data", "/vagrant", disabled: true   
  end
end

cmd에서 작업

  • vagrant ssh : 명령어 입력을 할 수 있도록 바뀜
    • uptime : 시간 알려줌
    • cat /etc/redhat-release : 뭔지 모르겠음
    • eixt : ssh 나가기
    • ip addr whow eth1 : ip 주소 알 수 있음!!
  • vagrant destroy -f : vm 지우기
  • vagrant port : 해당포트로 포워드 설정을 해서 연결이 가능하다
  • netstat -an | findstr 60010 : 여기로 연결이 가능하다

vm virtual box 에서 작업

 

  1. 전원을 꺼야한다
  2. DHCP 서버에서 아래처럼 바꿔준다
  3. 어댑터에서 192.168.1.1 로 바꿔준다

  • 위에 것들이 다 안되면 그냥 자동 어댑터 설정으로 바꿔주자.

Vagrantfile 재설정

  • 상위 2줄 빼고 모든 주석을 제거해도 괜찮다 (안지워도 됨)
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config| 
  config.vm.define "m-k8s" do |cfg|
    cfg.vm.box = "sysnet4admin/CentOS-k8s"
    cfg.vm.provider "virtualbox" do |vb|
      vb.name = "m-k8s(github_SysNet4Admin)"
      vb.cpus = 2
      vb.memory = 2048
      vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
    end
    cfg.vm.host_name = "m-k8s"
    cfg.vm.network "private_network", ip: "192.168.1.10"
    cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
    cfg.vm.synced_folder "../data", "/vagrant", disabled: true   
  `
  end
end

컴퓨터 재부팅 하쉐요~!!!!

  • install_pkg.sh 를 만들어준다
#!/usr/bin/env bash
# install packages
yum install epel-release -y
yum install vim-enhanced -y
  • [CentOS-repo-change.sh](http://centos-repo-change.sh/) 를 만들어준다

#!/usr/bin/env bash
# change repo
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
  • vagrant provision : provision 반영 명령어
    • 이래도 안된다면 vagrant destroy -fvagrant up 을 한다
  • vagrant sshyum repolist : 이를 통해 확인이 가능하다.


쿠버네티스끼리 통신, 외부망 통신하는거 테스트 함

  • eh0, eth1 통신~@

Vagrantfile 설정 변경

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config| 
  config.vm.define "m-k8s" do |cfg|
    cfg.vm.box = "sysnet4admin/CentOS-k8s"
    cfg.vm.provider "virtualbox" do |vb|
      vb.name = "m-k8s(github_SysNet4Admin)"
      vb.cpus = 2
      vb.memory = 2048
      vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
    end
    cfg.vm.host_name = "m-k8s"
    cfg.vm.network "private_network", ip: "192.168.1.10"
    cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
    cfg.vm.synced_folder "../data", "/vagrant", disabled: true   
    cfg.vm.provision "shell", path: "CentOS-repo-change.sh"
    cfg.vm.provision "shell", path: "install_pkg.sh"
    cfg.vm.provision "file", source: "ping_2_nds.sh", destination: "ping_2_nds.sh"
    cfg.vm.provision "shell", path: "config.sh"
  end

  #=============#
  # Added Nodes #
  #=============#

  (1..3).each do |i|
    config.vm.define "w#{i}-k8s" do |cfg| 
      cfg.vm.box = "sysnet4admin/CentOS-k8s"
      cfg.vm.provider "virtualbox" do |vb|
        vb.name = "w#{i}-k8s(github_SysNet4Admin)"
        vb.cpus = 1
        vb.memory = 1024
        vb.customize ["modifyvm", :id, "--groups","/k8s-SM(github_SysNet4Admin)"]
      end
      cfg.vm.host_name = "w#{i}-k8s"
      cfg.vm.network "private_network", ip: "192.168.1.10#{i}"
      cfg.vm.network "forwarded_port", guest: 22, host: "6010#{i}", auto_correct: true, id: "ssh"
      cfg.vm.synced_folder "../data", "/vagrant", disabled: true   
      cfg.vm.provision "shell", path: "CentOS-repo-change.sh"
      cfg.vm.provision "shell", path: "install_pkg.sh"
    end
  end
end

ping_2_nds.sh 파일 만들기

# ping 3 times per nodes
ping 192.168.1.101 -c 3
ping 192.168.1.102 -c 3
ping 192.168.1.103 -c 3

config.sh 파일 만들기

bin/env bash
# modify permission  
chmod 744 ./ping_2_nds.sh

xshell에서 작업

  • 이름 : root
  • pw : vagrant

xShell 추가 작업 내용

  • w1-k8s부터 차례로 port 번호를 60101,2,3 이렇게 입력해라 절차는 위와 동일하다

⇒ 다 연결되면 아래와 같다

 

'배포 배우기' 카테고리의 다른 글

쿠버네티스 기초: 설정, 명령어, 그리고 오브젝트 생성 가이드  (0) 2024.08.13
Docker 2  (0) 2024.08.11
Docker  (1) 2024.08.08
CI/CD 배포  (0) 2024.08.05
리눅스 쉘 명령어2  (0) 2024.07.30