55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결대세는 쿠버네티스 [초급~중급]
Mac유저 XShell 설치여부
안녕하세요 ~ 이제 막 XShell부터 최신판 올려주신 거 보고있습니다. 지금 설치 강의가 k8s v1.15 와 k8s v1.22 버전 두개가 있는데 1.15버전 건너뛰고 최신버전 강의를 들으면 되는건가요? XShell 부분에서 설치가 어려운데, 이게 맥에서 터미널 역할을 하는건가요~? XShell은 안깔고 2.VirutalBox 부터 시작하면 되는건지 묻고싶습니다. 강의 두번째 VirtualBox 설치하고 난 후에도 이렇게 뜨고요. OS는 지원안해주는거 같은데 어떻게해야하죠..? You can’t open the application “VirtualBox-6.1.26-145957-Win.exe” because Microsoft Windows applications are not supported on macOS.
- 미해결대세는 쿠버네티스 [초급~중급]
쿠버네티스 설치용 vagrant file
안녕하세요, 강사님! 수업 잘 듣고 있습니다. 블로그에 올려주신 '쿠버네티스 설치_최신버전'에 있는 vagrant file에 관한 질문인데요. Node 개수를 늘리고 싶다면 (예: 4개) 상단에 있는 NodeCnt를 4로 바꾸기만 하면 될까요? (NodeCnt = 2 -> NodeCnt = 4) -------아래 코드를 입력하면 될까요?------------------------------------------------------------------------ NodeCnt = 4 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=1 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 설치 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 ------------------------------------------------------------------------------------------------------------
- 미해결대세는 쿠버네티스 [초급~중급]
PV RWO 할당 기준 - node vs pod
안녕하세요 강사님. 강의 중간에 5:19 정도에 replicaset으로 pod 5개 생성시에 PVC로 dynamic PV를 생성하는데요 PV가 RWO여서 node1에 먼저 생긴 Pod들은 생성되지만 node2에 생성되는 Pod들은 생성이 실패되는데요. PV RWO를 할당하는 기준은 node인것이죠, Pod가 먼저 생긴 노드. RWM, ROM 은 여러 node가 PV를 동시에 할당할수 있는것이라고 생각하면 될까요
- 미해결대세는 쿠버네티스 [초급~중급]
pod 생성시 cluster IP로 노출
- 교육과정을 죽 학습하다가 이전의 과정이 궁금해지는 점이 있어서 문의 올립니다. - Pod실습에서 pod 생상하고 나면 Cluster IP가 할당이 되었어요, containerPort를 사용했어요 - 이후 과정에서는 모두 Service controller를 사용해서 Service에 TargetPort를 사용해서 10.x.x.x대역 IP로 접근을 했구요 여기서 궁금한것이. Pod실습에서처럼, containerPort를 할당하면 모든 Pod들은 pod IP가 아닌 cluster IP 만 가지게 되는것인지요? pod내의 container는 localhost IP로만 통신을 하게 되는것인지요 ? container별로 다른 IP 는 할당되는것이 없는지 궁금합니다.
- 해결됨대세는 쿠버네티스 [초급~중급]
Dashboard에서 pod를 생성하는데 아래와 같은 에러가 나고 있습니다
안녕하세요. Dashboard에서 pod를 생성하는데 아래와 같은 에러가 나고 있습니다. 글 중에 https://www.inflearn.com/questions/305007 를 찾아서 그대로 했는데도 역시 동일한 에러가 나는 군요. 참고로 저는 Ubuntu 환경입니다. 그리고, kubetm/p8000아닌가요? Docker hub에 그렇게 보이더군요. --아래-- Deploying file has failed the server does not allow this method on the requested resource
- 미해결대세는 쿠버네티스 [초급~중급]
mac 환경에서 join.sh가 보이지 않는 등의 문제
vagrant up 과정에서는 아무 에러도 없었습니다. vagrant ssh k8s-master로 붙자 홈 디렉토리가 /home/vagrant 였는데, 여기에 join.sh 가 없습니다. 엉뚱하게 /root/ 에 join.sh 파일을 포함한 여러 Vagrantfile에서 설정/생성한 디렉토리/파일 들이 들어가있는걸 확인했습니다. 제 생각에는 vagrant up 하는 시점에서는 $HOME 환경변수가 /root/ 로 되어있는 것 같구요, 그래서 kubectl get pod -A 명령어도 sudo 붙여야만 동작하고 worker node들도 확인되지 않습니다. (/root/join.sh 파일을 억지로 /home/vagrant 로 꺼내와도 마찬가지입니다.) 스크립트에 이슈가 있지않나 싶은데, 의견 부탁드립니다.
- 미해결대세는 쿠버네티스 [초급~중급]
k8s service ; load balancer
Service - ClusterIP, NodePort, LoadBalancer을 학습하다가 궁금한점이 있어 문의 드립니다. AWS, Google Cloud, AWS에서 제공하는 k8s 서비스은 제공하는 Load balancer가 있어서 External IP가 할당되어 사용이 된다는 것은 이해했습니다. Openstack은 일반적으로 Private Cloud 로 생각을 하는데요, 그리고 k8s을 Openstack 자체 지원은 하지 않는것으로 알고 있습니다. 그런데, 강의에서 Openstack이 설치된 환경에서 "External 지원 IP Plugin" 으로 설명을 하는데요, 이 Plugin이 무었인지 궁금합니다.
- 미해결대세는 쿠버네티스 [초급~중급]
Retain 정책 관련하여 질문드립니다.
안녕하세요! 강의 중 궁금한 부분이 있어 질문 드립니다. 5분 50초경 내용입니다. Reclaim Policy가 Retain일 때, PVC가 제거되면 PV 내의 데이터는 보존되지만 PV를 다른 PVC에 다시 매핑하여 재사용 할 수는 없고 PV를 수동 삭제 해야 한다고 강의에서 설명해주셨는데요, PVC가 제거됨으로 인해 PV에 저장된 데이터를 다시 활용할 수 없다면 어떤 상황에서 Retain 정책을 지정했을 때 의미가 있는지 궁금합니다. Retain 정책을 세워도 결국 PV를 재사용 할 수 없다면 안에 저장된 데이터를 보존하고 복원할 수 없는 게 아닌가요? 그렇다면 외부 볼륨을 사용하는 의미가 없는게 아닌지.. 구글링해서 찾아본 내용으로는 Retain으로 설정시 다른 PVC에 매핑하여 재사용 할 수 있는 것 처럼 나오기에 혼란스러워서 질문드립니다. -> https://bcho.tistory.com/1259
- 미해결대세는 쿠버네티스 [초급~중급]
[Error 256] no more mirror 정상해결 방법 필요
error 256 에러해결 설치 중 repo 패키지를 못 불러 오는거 같아요 에러검색 결과 gpgcheck(위변조검사) 해제하여 진행 ㅇVagrantFile 파일 내 설정 변경 [kubernets] repo_gpgcheck=0 옵션을 통해 에러해결 (정상 해결아님) 미리 감사합니다. [해결 참조] https://lifesaver.codes/answer/got-repomd-xml-signature-could-not-be-verified-for-kubernetes-error-when-installing-kubernetes-from-yum-repo-on-amazon-linux-2-60134
- 미해결대세는 쿠버네티스 [초급~중급]
yum update- y 시 에러
위와같이 에러가 나는데 이유를 모르겠네요,,
- 미해결대세는 쿠버네티스 [초급~중급]
pod가 직접 외부 접근할때 보여지는 IP
안녕하세요. pod의 네트워킹에 대해 질문 드립니다! pod가 service없이 떠있다고 가정할때, 당연히 외부에서는 pod접근이 불가능합니다. 저는 당연히 pod에서 외부접근도 불가능할꺼라고 생각했는데, pod내부에서 curl 날려보면 (etc. naver, google 등) index.html파일을 다운받으며, 접근이 가능한거로 보여졌습니다. 제가 말씀드린게 맞다면, 도착지에서는 어떤 IP로 인식을 하게 되나요? 또한 어떤 과정으로, 해당 request에 대해 어떤 식으로 response를 하게 되는지 궁금합니다!
- 미해결대세는 쿠버네티스 [초급~중급]
multi master Storage service
현재 쿠버네티스 버전은 1.22.7 이고 , 마스터 이중화를 진행하였습니다. 현재 storage service를 적용하기 위해서 여러가지 찾아보다가 StorageOS는 현재 1.18 버전 위로는 docs에 없어서 설치 할 수 없었고, Ceph를 설치하려고 합니다. 근데 궁금한 것이 현재 마스터 이중화가 되어 있는 상황에서 Ceph 설치를 master 한 곳에만 하면 되는 것인지, 아니면 두개의 master에 설치를 해야할지 모르겠습니다. 그리고 궁금한 것이 Ceph를 깔면 pod가 죽었을 때 기존 파일들을 다른 노드에서도 사용할 수 있나요??
- 미해결대세는 쿠버네티스 [초급~중급]
동작중인 yaml파일 수정
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님. 동작중인 개체의 yaml을 수정하려면요. 대쉬보드에서는 쉽게 수정을 할 수 있는데 명령어로 수행하려면 kubectl get pod [pod-name] -o json >> [file-name].yaml 이런식으로 출력해서 수정한다음 다시 apply를 시켜서 update하고 있습니다. 효율적으로 수정하는 다른 방법이 있을까요? 즐거운 하루되세요~
- 미해결대세는 쿠버네티스 [초급~중급]
virtualbox 네트워크 속도
vitualbox 네트워크 속도가 너무 느린데 혹시 방법이 있을까요? 다운로드 속도가 30kb/s 가 나오네요 1mb 가 안나오는데 혹시 방법이 있을까요? 와이파이 속도는 체크해보니까 그렇게 느리진 않는데... 구글링을 해봐도 딱히 나오는 방법이 없네요
- 미해결대세는 쿠버네티스 [초급~중급]
Mac M1 의 경우 VirtualBox 를 지원하지 않습니다.
어떤 방식으로 진행해야할까요?
- 미해결대세는 쿠버네티스 [초급~중급]
Pod가 떠있는 Worker Node의 metric만 모니터링되는 이슈
파드가 떠있는 노드의 메트릭에만 모니터링이 되고있습니다. 구글링 해서 스스로 해결해보려고 했으나, 강사님이 말씀해주신 아래 두가지 옵션에 대한 정보만 있더라구요... (혹시 설치가 잘못된건가 해서 5번은 다시 설치도 해본거 같아요 ㅠㅠㅠㅠ) insecure-tls, - --kubelet-preferred-address-types=InternalIP 혹여나 host파일이 문제가 있을까 했지만, master, node1, node2 모두 아이피, 도메인 이름, 호스트이름이 정상적으로 매핑되어 있습니다. 사용하는 k8s 버전은 1.15입니다. 수정한 component.yaml 메트릭 파드 log E0220 09:04:22.329600 1 reststorage.go:135] unable to fetch node metrics for node "k8s-node1": no metrics known for node E0220 09:04:22.329622 1 reststorage.go:135] unable to fetch node metrics for node "k8s-master": no metrics known for node E0220 09:04:23.330558 1 reststorage.go:135] unable to fetch node metrics for node "k8s-master": no metrics known for node E0220 09:04:23.330580 1 reststorage.go:135] unable to fetch node metrics for node "k8s-node1": no metrics known for node E0220 09:04:23.857976 1 reststorage.go:135] unable to fetch node metrics for node "k8s-node1": no metrics known for node E0220 09:04:23.858000 1 reststorage.go:135] unable to fetch node metrics for node "k8s-master": no metrics known for node E0220 09:04:24.434955 1 reststorage.go:135] unable to fetch node metrics for node "k8s-node1": no metrics known for node E0220 09:04:24.434980 1 reststorage.go:135] unable to fetch node metrics for node "k8s-master": no metrics known for node
- 미해결대세는 쿠버네티스 [초급~중급]
오프라인 설치
안녕하세요 강의듣다가 따라하고있는데 관련된 것들을 폐쇄망에서 설치가 필요한경우 참고할만한 가이드가있을까요?
- 미해결대세는 쿠버네티스 [초급~중급]
k8s 설치 - cannot find a valid baseurl for repo base/7/x86_64 에러
아래 똑같은 질문이 있는데 답변을 얻을 수 없어 똑같은 질문을 남깁니다. yum update -y 입력하니 cannot find a valid baseurl for repo base/7/x86_64 라고 나옵니다. 네트워크 자체에 문제인가 싶어서 ping 8.8.8.8을 날려보니 Destination host unreachable 이라고 나오네요. 제가 vm이용하여 가상환경 만들고 centos 사용을 처음해봐서 잘 모르겠습니다. 구글링 통해서 설치하는대로 하면 할 수 있겠는데, 아무래도 강의와 동일한 실습환경을 위하여 설치안내서에 나와있는대로 설치하려다보니 잘 안되는 것 같습니다. 제기 시도해 본 것 아래 적어봅니다. 설치는 v1.15 버전 입니다. 1. https://hec-ker.tistory.com/333 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 이용하여 onboot 확인하기. onboot=yes 상태입니다. 2. 아이피 주소 바꿔보기. 설치 실습자료실 2-2-1)Centos 설치 4번 네트워크 설정에서 아이피 주소/넷마스크/게이트웨이/dns주소를 제 cmd에서 ipconfig에 나와있는 주소로 바꿔서 해보았습니다. => 역시 ping해도 똑같은 결과가 나옵니다. 2-1-1)vm 스펙설정 7번에서 어댑터에 브릿지 선택했고 intel Pro/1000 MT Desktop(82540EM) 을 어댑터로 사용하고 있습니다. 제 생각에는 분명 안내에 나와있는대로 설치한 것 같은데 어디서 문제가 생겼는지 모르겠습니다. 설치 과정 중 네트워크 설정의 문제인지, 아니면 제가 사용하고 있는 네트워크 자체의 문제인지 모르겠습니다. centOS랑 virtualbox를 5번 이상 삭제하고 다시 설치하고 시도해봤는데 잘 안되네요. ㅜㅜ 혹시 ip를 위에 나와있는 제 ip로 바꿔서 설치진행해야 한다면 제일 위에 이더넷 어댑터 이더넷 이라고 나와있는 부분에 있는 ip주소들을 이용하는게 맞을까요? 참고로 이걸로 바꿔서 설치해보았으나 안됬습니다. ㅜㅜ
- 미해결대세는 쿠버네티스 [초급~중급]
auto-scaler 강의 중 metrics server 설치 오류
안녕하세요, 강사님! autoscaler 실습을 진행하다 궁금한 점이 있어 질문합니다. 블로그에 해당하는 대로 kubernetes v1.22 버전으로 메트릭서버 설치를 진행는데 (1)번 이미지와 같은 어려움이 있습니다. (노란색 표시) 왜 이런 현상이 발생하는 걸까요?
- 미해결대세는 쿠버네티스 [초급~중급]
강사님 안녕하세요 맥 m1과 관련해서 질문이 있습니다.
쿠버네티스 설치시에 docker desktop에서 enable kubernetes를 하면 kubectl이 알아서 설치가 되어서 serviceacoount를 만들고 cluster-admin로 clusterRoleBinding을 하고 배포된 yaml파일로 대쉬보드를 띄어보니 생성된 토큰을 이용하여 로컬 8001포트로 접속이 잘 되었습니다. 맥과 같은 환경에서는 굳이 VM을 깔아서 할필요가 없는것인가요>>>?>??? 미리 답변 감사드립니다.!