월 55,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
톰캣 컨테이너 삭제해도 계속 파드가 재생성 됩니다.
GKE 클러스터에서 --replicas 옵션으로 컨테이너를 배포하면 ReplicaSet의 관리를 받나요? kubectl create deploy --image=consol/tomcat-7.0 --replicas=5 위 명령으로 컨테이너를 배포하였는데요. 배포된 컨테이너를 삭제하려고 delete 명령어를 수행했는데, 계속 파드가 재생성되네요.. describe 명령어로 확인해보니깐 ReplicaSet으로 컨트롤 되고 있어서 삭제가 되도 다시 파드를 재생성하는거 같은데, 완전히 삭제하는 방법이 있을까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
macOS/M1용 VirtualBox 문의
핵심 내용은 아닌 듯 하여 스킵할 예정이긴 하나이런 실습 관련 부분도 최신화를 좀 해주었으면 하여 짧게 글 남깁니다...M1 맥북에서 VirtualBox 공유된 강의자료를 실행하고자 하나 VirtualBox 자체에서 M1은 재대로 지원하지 않고 공유받은 이미지도 AMD64 이미지인 듯 합니다최근 arm 프로세서 사용자도 늘어나는 추세인 만큼 대비 또는 적어도 공지 정도는 필요할 듯 하네요
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
질문있습니다.
우선 저는 GCP에서 가상머신을 사용하여 실습을 진행하고 있습니다. 대시보드의 로그인 화면까지는 실습을 잘 따라갔습니다. kubectl get secret -n kubernetes-dashboard 명령을 통해 토큰을 찾으려고 했지만 결과는 아래와 같았습니다.NAME TYPE DATA AGE kubernetes-dashboard-certs Opaque 0 44m kubernetes-dashboard-csrf Opaque 1 44m kubernetes-dashboard-key-holder Opaque 2 44m 스택오버플로에서 1.24 버전 이후로는 토큰이 생성되지 않는다는 말을 듣고 아래의 명령을 통해 생성하였습니다..(잘 모르지만 일단 해봤습니다..)$ kubectl create token kubernetes-dashboard -n kubernetes-dashboard 그래도 다행인지 생성한 토큰으로 로그인에 성공하며 접속할 수 있었습니다. 이후 강의는 내용이 잘 이해되지는 않았지만 영상을 따라하며 진행했습니다. kube-dashboard-role-binding.yaml파일을 통해 create하였는데 이미 존재한다는 문구와 함께 에러가 발생했습니다. 확인해보니 실제로 있었기에 클러스터롤바인딩 리소스를 지우고 yaml파일로 다시 생성해 주었습니다. clusterrolebindings는 잘 생성됐지만 대시보드를 확인해보니 Unknown error (404) the server could not find the requested resource (get ingresses.extensions)라고 나오네요..파드, 디플로이먼트, 레플리카셋 등 몇몇은 잘 나오지만 개요부분 워크로드 일부분이 404가 나옵니다... 강의 동영상처럼 진행하지 않아 찜찜한데 결과도 완벽하지가 않아서 질문드렸습니다.. 중간 중간 영상과 달라 제가 했던 방식이 옳게 한 것인지 확신이 들지 않아서 답변을 듣고싶습니다. 긴글 읽어주셔서 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
pod 레이블 질문
pod의 레이블 키값은 정해진 것만 사용해야 하나요? 임의 지정할 수도 있는지요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ETCD 백업 파일 복원 명령
저는 GCP에서 vm을 띄워서 실습을 진행 중입니다. vmware의 스냅샷처럼 동일하게는 진행하지 않았지만 snapshotdb 백업파일을 제외한 모든 리소스를 지우고 복원 명령을 실행했습니다. 아래는 코드입니다.sudo ETCDCTL_API=3 ./etcdctl --endpoints=127.0.0.1:2379 \--cacert /etc/kubernetes/pki/etcd/ca.crt \--cert /etc/kubernetes/pki/etcd/server.crt \--key /etc/kubernetes/pki/etcd/server.key \--data-dir /var/lib/etcd-restore \--initial-cluster='master=https://127.0.0.1:2380' \--name=master-1 \--initial-cluster-token this-is-token \--initial-advertise-peer-urls https://127.0.0.1:2380 \snapshot restore ~/snapshotdb 아래와 같이 에러메세지가 나오네요...Error: couldn't find local name "master-1" in the initial cluster configuration 각 etcd 멤버는 etcd 클러스터 내에서 고유한 이름을 가져야 한다고해서. 현재 컴퓨팅 인스턴스의 호스트 이름과 일치하도록 etcd 이름을 설정했습니다. ETCD_NAME=$(master-1 -s) 그런데도 에러메세지가 나오네요..Command 'master-1' not found, did you mean: command 'master1' from deb pvm-examples (3.4.6-2build2)Try: apt install <deb name>잘 해결되지 않아 질문드립니다.... 질 좋은 강의 항상 감사합니다.
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
Docker 미설치시 서비스의 컨테이너를 확인하는 방법을 여쭤보고 싶습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님 항상 좋은 강의 감사합니다.서비스의 컨테이너를 확인하기 위해 docker logs를 사용하라고 하셨는데 containerd 환경만 설치해서 사용하고 있습니다.도커가 설치되지 않는 환경일 경우 서비스의 컨테이너를 어떻게 조회하는지 질문드립니다.감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubectl exec -it mongodb -- mongo 명령에서 에러 발생합니다.
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "59e8cd96645d8c76d53dc4d9b6ab704fd5153ce7e0cc14787b1518baeeb042de": OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown이렇게 에러메세지가 나오는데 컨테이너의 이미지의 버전을 달리해도 계속 똑같이 나오네요.. 뭐가 문제인지 잘 모르겠어서 선생님께 여쭤봅니다.
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
cni 설치시 에러 발생
virtualbox 에서 온프레미스 환경에서 클러스터 구축하는데 오류가 발생하는 원인이 무엇인가요?강의의 내용처럼 순차적으로 실행하다가 cilium install 하는 곳에서 에러가 발생하면서 에드온이 적용이 잘 안되는 것 같습니다.환경 구성은 virtualbox-7.0.8에서 ubuntu-22.04.2-live-server-amd64.iso를 사용해서 가상머신 두 대를 생성하였습니다. nat network를 사용해서 인프라 환경을 구축하였고 ping을 통해서 게스트 os 간 통신이 정상적으로 작동하는 것을 확인했습니다.swapoff 수행netfilter 관련 설정 수행kubeadm 버전은 1.27.2와 1.26.5 버전을 사용해서 시도했으나 두 버전 같은 현상을 보이고 있었습니다.간헐적으로 kubectl get nodes 명령 정상 수행되거나 오류가 발생하는 경우가 발생해서 마스터 노드의 쿠버네티스 컴포넌트(컨테이너) 들이 정상적으로 running 상태인지 확인을 해보니 컴포넌트들이 지속적으로 running 상태가 아니라 exited 상태가 되고 다시 재시작하는 것을 확인하였습니다.kubectl 명령이 수행되지 않는 경우는 kube-proxy가 exited 상태로만 존재하는 경우 작동이 되지 않았습니다. 그래서 인증서 문제가 아니라 컴포넌트들이 다운되어서 재 역할을 하지 못해서 cni 도 설치가 안된다고 판단했는데 왜 이런지 해결할 수가 없네요. 어떻게 해야 이 오류를 해결할 수 있나요? crictl log [container-id] 조회 결과api-proxy container error logetcd container error logkube-controller-manager error log
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
쿠버네티스 설치할 때 에러납니다. 해결 방법 공유합니다. (23.05.30 기준)
한달 전에는 노션에 있는 스크립트대로 해도 잘 됐는데 지금은 안되네요. 강사님이 강의에서 설치 방법이 계속 바뀐다고 하셨는데 그 사이에 바뀐 모양입니다. 다른 질문 작성자 님이 공유해주신 내용 참고해서 문제 해결하였고 저처럼 삽질하지 마시라고 내용 공유드립니다.저는 'kubeadm, kubelet 및 kubectl 설치' 구간의 노션 스크립트를 다음과 같이 변경하여 설치 진행했습니다.#2번, #3번을 변경했습니다.sudo mkdir /etc/apt/keyrings cat <<EOF > kube_install.sh # 1. apt 패키지 색인을 업데이트하고, 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치한다. sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl # 2. 구글 클라우드의 공개 사이닝 키를 다운로드 한다. curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg # 3. 쿠버네티스 apt 리포지터리를 추가한다. echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list # 4. apt 패키지 색인을 업데이트하고, kubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정한다. sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl EOF sudo bash kube_install.sh기존 스크립트에서 인증 관련 데이터를 '/etc/apt/keyrings'폴더에 저장하는 것으로 변경되었습니다. 강의에서 실습하는 Ubuntu 22.04 이전 환경에는 default로 '/etc/apt/keyrings' 폴더가 없어 직접 만들어 줘야 인증 키를 받을 수 있습니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
선택과목 교재는 없는건가요?
안녕하세요.강의를 수강하던 중일부 동영상에서 보여지는 교재 내용과 다운로드된 교재가 좀 다른 것이 보입니다.그런데 일부 과목들은 아예 교재가 안보이는 경우가 있습니다.예를 들어 구글 클라우드 플랫폼 기초 강의나 개편전 영상 같은 경우 입니다.우선 강의만 듣고 있습니다만, 지금 들어도 유익한 내용이 많아서 교재도 있었으면 합니다. 교재 추가 및 교재 업데이트 계획은 없는지 문의 드립니다.감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
노션 스크립트 그대로 해도 설치 않되는 경우 23-05-27 기준
containerd 까지는 잘 설치하다가 쿠버 설치하는데 에러나서 삽질 했습니다. 디렉터리가 없어서 인증 키를 다운을 하지 않아서 발생하는 문제였습니다.mkdir /etc/apt/keyrings이것 때문에 삽질해서 공유합니다.https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
AWS EC2 여러 대를 사용할 때 내부 IP로 연결이 안됩니다.
워커노드에 파드를 올리고 curl 요청을 보내면 사진처럼 요청이 될 때도 있고 안될 때도 있습니다. 안될 때는 계속 기다리면 타임 아웃 뜹니다 뭐가 문제일까요,,?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
로컬에서 실습하고 있습니다. web-0 pending
스테이트풀셋 실습에서 로컬에서 실습을 하려면 어떻게 하면 될까요강사님과 동일하게 하면 kubectl get pod에서 web-0 이 계속 pending 상태 입니다 root@master:~# kubectl get podNAME READY STATUS RESTARTS AGEweb-0 0/1 Pending 0 10s
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
섹션6:인그레스(ingress) 실습 - 인그레스 통한 접속 시 IP 문제
강의 : 섹션6:인그레스(ingress) 실습위치 : 7분 43초 경안녕하세요.인그레스 서비스를 올린 후, curl 통해서 접속 테스트 시에 127.0.0.1 이 아니라 인그레스 IP로 직접 curl을 해야 접속이 됩니다.실행 ❌ : curl 127.0.0.1:{인그레스 PORT}실행 ⭕ : curl {인그레스 IP}:{인그레스 PORT}아래는 인그레스 정보입니다.root@master0:/home/user01# kubectl get ing NAME CLASS HOSTS ADDRESS PORTS AGE http-go-ingress <none> * 192.168.32.134 80 17h root@master0:/home/user01# kubectl get all -n ingress-nginx NAME READY STATUS RESTARTS AGE pod/ingress-nginx-admission-create-s4j5j 0/1 Completed 0 14h pod/ingress-nginx-admission-patch-f9jwd 0/1 Completed 0 14h pod/ingress-nginx-controller-6b58ffdc97-9d9hd 1/1 Running 0 14h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ingress-nginx-controller NodePort 10.97.10.247 <none> 80:30450/TCP,443:30058/TCP 14h service/ingress-nginx-controller-admission ClusterIP 10.106.36.94 <none> 443/TCP 14h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/ingress-nginx-controller 1/1 1 1 14h NAME DESIRED CURRENT READY AGE replicaset.apps/ingress-nginx-controller-6b58ffdc97 1 1 1 14h NAME COMPLETIONS DURATION AGE job.batch/ingress-nginx-admission-create 1/1 5s 14h job.batch/ingress-nginx-admission-patch 1/1 7s 14h root@master0:/home/user01# curl 192.168.32.134:30450 <html> <head><title>404 Not Found</title></head> <body> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html> root@master0:/home/user01# curl 192.168.32.134:30450/welcome/test Welcome! http-go-56686cfd44-7rsch root@master0:/home/user01# curl 127.0.0.1:30450/welcome/test curl: (7) Failed to connect to 127.0.0.1 port 30450: Connection refused 실습 명령어는 똑같이 따라했으며, 3번을 반복해도 같은 결과이네요..'마스터 노드-인그레스 노드' 간의 포트포워딩? 이 되어야 하는건지, 아니면 제가 빠트린 설정이 있는것인지 알고 싶습니다😢
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
vm에서 도커 설치시 에러 발생 문제
apt install docker.io 실행 후에 진행이 안되고 계속 기다리면 오류 http://kr.archive.ubuntu.com/ubuntu/ maverick/main openbsd-inetd i386 0.20080125-4ubuntu2kr.archive.ubuntu.com:80에 연결할 수 없습니다(143.248.234.110). - connect (110: 연결 시간 초과)오류 http://kr.archive.ubuntu.com/ubuntu/ maverick/universe telnetd i386 0.17-36build1kr.archive.ubuntu.com:http에 연결할 수 없습니다:http://kr.archive.ubuntu.com/ubuntu/pool/main/o/openbsd-inetd/openbsd-inetd_0.20080125-4ubuntu2_i386.deb 파일을 받는데 실패했습니다 kr.archive.ubuntu.com:80에 연결할 수 없습니다 (143.248.234.110).- connect (110: 연결 시간 초과)http://kr.archive.ubuntu.com/ubuntu/pool/universe/n/netkit-telnet/telnetd_0.17-36build1_i386.deb 파일을 받는데 실패했습니다kr.archive.ubuntu.com:http에 연결할 수 없습니다:라는 에러가 떠서 이래저래 구글링했더니 한국 KR 우분투 서버가 죽어서 그런거라고sources.list를 수정하라고 해서 kr.archive.ubuntu.com을 ftp.daum.kakao.com 으로변경했는데도 계속 같은 오류가 뜹니다. 설치를 못해서 진도를 못나가고 있는데 해결 방법 좀 알려주실수 있을까요?virtual box는 5.2이고 설치파일은 올려주신 링크에서 받았습니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
마스터 노드 초기화 단계에서 kubeadm init 명령어 사용시 에러 발생
마스터 노드 초기화 단계에서 kubeadm init 명령어 사용시 container runtime이 동작하지 않는다는 아래와 같은 에러코드 발생하여 문의드립니다. [init] Using Kubernetes version: v1.26.3[preflight] Running pre-flight checkserror execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2023-03-29T08:31:55Z" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService", error: exit status 1[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...To see the stack trace of this error execute with --v=5 or higher
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
gcp에서 실습할 때 질문있습니다.
pod 실습에서 jenkins 관련 실습중입니다. 현재 관련 문법을 따라 쳤지만 에러가 발생해서 여쭤봅니다. 혹시 어떤 점이 문제인지 알 수 있을까요?? 혹시나 해서 방화벽 규칙에서 모든 포트에 대해 인바운드 규칙을 허용하긴 했지만 결과가 안나옵니다.doongbbo02@master-1:~/yaml$ kubectl create -f jenkins-manual-pod.yamlpod/jenkins-manual created create 결과doongbbo02@master-1:~/yaml$ kubectl exec jenkins-manual -- curl <외부IP주소>:8080 -scommand terminated with exit code 7 발생 에러jenkins-manual-pod.yaml 파일apiVersion: v1 kind: Pod metadata: name: jenkins-manual spec: containers: - name: jenkins image: jenkins/jenkins ports: - containerPort: 8080
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
pending 문제가 해결이 안됩니다....
안녕하세요 쿠버네티스 강의 도중 gcp를 통해 jenkins 실습 진행중에 자꾸 pending오류가 납니다.. 구글링으로 파악이 잘 안되어서 여쭤봅니다. 이미 인스턴스 중지 및 재시작 등 다양한 방법을 해보긴했습니다. 노드 쪽 확인해보니까 이런문제가 나길래 워커 노드 접속해봤더니 방화벽 에러 떠서 그냥 아예 워커노드 다 중지하고 다시 시작했더니 됩니다!혹시 저와같은 문제 겪으신분 계실까봐 남겨둘게요~~
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
VirtualBox 관련 문의
제가 VirtualBox 사용이 불가해서 클라우드 생성해서 사용하려고 하는데 수업듣는데 지장이 있을까요 ?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
버추얼 박스 사용시 각 노드간 연결 문제
강의 내용에 나와 있는 버추얼 박스를 3개 만들어서 쿠버네티스 환경을 만들려고 했습니다. 강의 나온 대로 kubeadm init과 join을 수행했는데, 연결이 계속 안되는 현상이 있었고, 확인해보니 쿠버네티스와는 상관없는 버추얼 박스 VM 간의 통신이 제대로 안되는 이슈였습니다. NAT로 연결되어 있었는데, 어댑터 브릿지로 변경해도 VM 간의 연결이 제대로 안되었습니다. 강의 중에는 연결이 잘되던데, 방법 문의드립니다.