인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ak4686님의 프로필 이미지
ak4686

작성한 질문수

대세는 쿠버네티스 [초급~중급]

Kubernetes Cluster 설치 [v1.27] (최신 업데이트된 버전 - 쉬운설치)

vagrant up

작성

·

445

1

curl -O , curl -k -O 명령어를 모두 사용해봐도 위에 사진처럼 실행되고, 강사님의 화면과 많이 다르게 실행됩니다..

 

가상머신 Oracle VM VirtualBox 7.0.10 이 있는데 vagrant up 을 하면 오류가 발생합니다.

 

어떻게 해결해야 할까요..?

답변 3

0

저는 인증서 관련된 오류 몇 차례 났었는데, host os 의 보안 프로그램 일시 정지해두고 실습 진행하니 일정 부분 해결 되었습니다.

0

저도 ak4686님과 동일한 현상이 발생하고 있습니다.

다운받아지는 Vargrantfile의 내용은 답변 해주신것과 동일하고요.

일프로님의 프로필 이미지
일프로
지식공유자

한번 아래 내용대로 하나씩 해보시겠어요?

1. 지금 올린 내용처럼, 직접 URL로 다운 받은 Vagrant 파일을 [k8s] 폴더에 복사해 놓고 vagrant up을 해보세요.

2. [vagrant plugin install vagrant-vbguest] 실행 후 vagrant up 해보기

3. 직접 provider 줘서 실행히기

-> vagrant up --provider virtualbox

그리고 어떤걸 했을 때 되는지, 혹은 그래도 안되는지 알려주시면 감사하겠습니다.

0

일프로님의 프로필 이미지
일프로
지식공유자

안녕하세요.

Vagrantfile 파일이 정상적으로 다운 받아졌는지 확인해 봐야 할 것 같은데요.

받은 파일 내용을 올려봐주시겠어요?

ak4686님의 프로필 이미지
ak4686
질문자

받은 파일 내용이라는게 curl 에 있는 URL 경로로 들어가서 다운 받아지는 걸 말씀하시는 건가요?

 

 

NodeCnt = 2

Vagrant.configure("2") do |config|

# config.vbguest.installer_options = { allow_kernel_upgrade: true }

config.vm.box = "centos/7"

config.vm.provider :virtualbox do |vb|

vb.memory = 3072

vb.cpus = 4

end

config.vm.provision :shell, privileged: true, inline: $install_common_tools

config.vm.define "k8s-master" do |master|

master.vm.hostname = "k8s-master"

master.vm.network "private_network", ip: "192.168.56.30"

master.vm.provision :shell, privileged: true, inline: $provision_master_node

end

(1..NodeCnt).each do |i|

config.vm.define "k8s-node#{i}" do |node|

node.vm.hostname = "k8s-node#{i}"

node.vm.network "private_network", ip: "192.168.56.#{i + 30}"

end

end

end

$install_common_tools = <<-SHELL

# ssh password 접속 활성화

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config;

systemctl restart sshd.service

# 방화벽 해제

systemctl stop firewalld && systemctl disable firewalld

systemctl stop NetworkManager && systemctl disable NetworkManager

# Swap 비활성화

swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab

# br_netfilter 모듈 로드

cat <<EOF | tee /etc/modules-load.d/k8s.conf

br_netfilter

EOF

# Iptables 커널 옵션 활성화

cat <<EOF > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl --system

# permissive 모드로 SELinux 설정(효과적으로 비활성화)

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 쿠버네티스 YUM Repository 설정

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=0

gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

exclude=kubelet kubeadm kubectl

EOF

# Centos Update

yum -y update

# Hosts 등록

cat << EOF >> /etc/hosts

192.168.56.30 k8s-master

192.168.56.31 k8s-node1

192.168.56.32 k8s-node2

EOF

# 도커 설치

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y containerd.io-1.4.9-3.1.el7 docker-ce-3:20.10.8-3.el7.x86_64 docker-ce-cli-1:20.10.8-3.el7.x86_64

mkdir /etc/docker

cat > /etc/docker/daemon.json <<EOF

{

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2",

"storage-opts": [

"overlay2.override_kernel_check=true"

]

}

EOF

mkdir -p /etc/systemd/system/docker.service.d

# 도커 재시작

systemctl daemon-reload

systemctl enable --now docker

# 쿠버네티스 설치

yum install -y kubelet-1.22.0-0.x86_64 kubeadm-1.22.0-0.x86_64 kubectl-1.22.0-0.x86_64 --disableexcludes=kubernetes

systemctl enable --now kubelet

SHELL

$provision_master_node = <<-SHELL

# 쿠버네티스 초기화 명령 실행

kubeadm init --apiserver-advertise-address 192.168.56.30 --pod-network-cidr=20.96.0.0/12

kubeadm token create --print-join-command > ~/join.sh

# 환경변수 설정

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

# Kubectl 자동완성 기능 설치

yum install bash-completion -y

source <(kubectl completion bash)

echo "source <(kubectl completion bash)" >> ~/.bashrc

# Calico 설치

kubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico.yaml

kubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico-custom.yaml

curl https://docs.projectcalico.org/manifests/calico.yaml -O

kubectl apply -f calico.yaml

# Dashboard 설치

kubectl apply -f https://kubetm.github.io/yamls/k8s-install/dashboard-2.3.0.yaml

nohup kubectl proxy --port=8001 --address=192.168.56.30 --accept-hosts='^*$' >/dev/null 2>&1 &

SHELL

 

이게 다운 받아지는 파일의 내용입니다.

ak4686님의 프로필 이미지
ak4686

작성한 질문수

질문하기