작성
·
426
1
curl -O , curl -k -O 명령어를 모두 사용해봐도 위에 사진처럼 실행되고, 강사님의 화면과 많이 다르게 실행됩니다..
가상머신 Oracle VM VirtualBox 7.0.10 이 있는데 vagrant up 을 하면 오류가 발생합니다.
어떻게 해결해야 할까요..?
답변 3
0
0
0
받은 파일 내용이라는게 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
이게 다운 받아지는 파일의 내용입니다.
한번 아래 내용대로 하나씩 해보시겠어요?
1. 지금 올린 내용처럼, 직접 URL로 다운 받은 Vagrant 파일을 [k8s] 폴더에 복사해 놓고 vagrant up을 해보세요.
2. [vagrant plugin install vagrant-vbguest] 실행 후 vagrant up 해보기
3. 직접 provider 줘서 실행히기
-> vagrant up --provider virtualbox
그리고 어떤걸 했을 때 되는지, 혹은 그래도 안되는지 알려주시면 감사하겠습니다.