묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
Taints 와 Tolerations 관련 질문
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 ]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 ]3. 질문 잘하기 법을 읽어보셨나요? [예](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. (https://www.inflearn.com/questions/915529)[질문 하기] Taints 와 Tolerations 관련하여Control plane 에 tolerations이 없는 상태로Nodename 을 controlplane으로 설정하니배포가 되는 것으로 보여지는데요.Nodename이 taints와 우선 순위가 어떻게 되는 걸까요?
-
미해결그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
클라이언트IP 확인 방법 문의
안녕하세요! 아래와 같은 환경에서 서비스 구성 중 ACL 설정을 어떻게 구현하면될지 몰라 문의드립니다. 환경- L4 : S-NAT- L2 : 원암 구성- L4 타고들어와 인그레스 컨트롤러를 통해 웹서비스 접속문의사항위와 같은 환경에서 ACL설정을 하려고 보니 클라이언트IP가 아닌 S-NAT로 인해 L4 IP가 찍히고 있습니다. 클라이언트IP를 찍히게 할 수 있는 방법이 있을지 문의드립니다.참고노드포트로 변경하자니 로드밸런싱 및 관리측면에서 어려움이 있을 것 같아 어떤 방법이 좋을지 모르겠습니다. S-NAT를 제외하자니 원암 구성이라 같은 대역 대 다른 서비스로 넘어갔을 때 문제가 생기기도 하구요!
-
해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubeadm init 실패(+join할 때도 참고)
sudo kubeadm init명령어를 입력했는데 다음과 같은 에러가 발생합니다.ttasjwi20240228@master-1:~$ sudo kubeadm init [init] Using Kubernetes version: v1.29.2 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2024-03-04T06:52:20Z" level=fatal msg="validate service connection: validate CRI v1 runtime API 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이런 문제가 발생하네요. 검색해보면 2020년 containerd github에 이런 증상에 관한 이슈가 올라와져있습니다.https://github.com/containerd/containerd/issues/4581이 이슈의 답변에는 이런 내용이 있습니다.containerd.io 패키지에 의해 설치된 config.toml 파일에는 disabled_plugins = ["cri"]라는 줄이 있는데, 이것이 문제를 일으킨 것으로 보입니다. 이 문제를 해결하려면 다음 명령을 실행하시면 됩니다.sudo rm /etc/containerd/config.toml sudo systemctl restart containerd sudo kubeadm init혹시 워커노드에서 join할 때도 동일한 문제 생기면sudo rm /etc/containerd/config.toml sudo systemctl restart containerd이 명령을 워커노드에 입력해봅시다
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스 18080?
실습4) Docker Container에 배포하기 ② 까지 보다가 VM환경에서 배포한다고 해서멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes) 보고 k8s-master, node1, node2 vm 만들고 왔는데이 강의에서는 k8s-master에서 엔진엑스만 실행시키는 테스트하고 끝났었는데 이 강의 후반에서는 왜 갑자기 k8s-master에 젠킨스가 깔려있으며... 18080포트를 사용중인가요..? 이때까지 강의 따라오면서 젠킨스 18080포트로 세팅하는 부분은 없었는데요.. 강의가 뭔가 일로갔다 절로갔다 하니까 헷갈립니다..!
-
해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
2024년 3월 4일 기준 설치
아래에 23년 당시 설치방법을 올리신 분의 것으로도 잘 안 되서... 그 사이에 또 바뀌었나 싶어서 노션 링크의 공식 문서를 보고 따라했습니다만 apt 명령으로 kubelet, kubeadm, kubectl이 설치가 안 되는 문제가 있습니다. 노션 링크의 공식문서는 한국어 문서였고, 최신화가 안 되어있던 것입니다. 영어 문서를 봐야합니다. 현재 공식문서에서는 이런 말이 나와있습니다. Note: The legacy package repositories (apt.kubernetes.io and yum.kubernetes.io) have been deprecated and frozen starting from September 13, 2023. Using the new package repositories hosted at pkgs.k8s.io is strongly recommended and required in order to install Kubernetes versions released after September 13, 2023. The deprecated legacy repositories, and their contents, might be removed at any time in the future and without a further notice period. The new package repositories provide downloads for Kubernetes versions starting with v1.24.0.apt.kubernetes.i and yum.kubernetes.io레거시 패키지 리포지토리 deprecatedapt.kubernetes.io and yum.kubernetes.io2023년 8월 13일 이후 릴리즈되는 새로운 쿠버네티스 버전을 설치하기 위해서는 새로운 패키지 리포지토리를 써라http://pkgs.k8s.io새로운 패키지 리포지토리는 1.24.0 ~ 이후의 버전을 지원 이런 내용이 한국어 문서에는 반영이 안 됐습니다. 해당 문서에서는 1.29.0을 설치하기 위해 다음을 하라고 합니다. apt 패키지 인덱스를 업데이트하고 Kubernetes apt 저장소를 사용하는 데 필요한 패키지를 설치하십시오: sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg Kubernetes 패키지 저장소의 공개 서명 키를 다운로드하십시오. 모든 저장소에 동일한 서명 키가 사용되므로 URL에서 버전을 무시할 수 있습니다:(우분투 20.04에서는 sudo mkdir -p -m 755 /etc/apt/keyrings 명령어를 입력해야합니다)# If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below. # sudo mkdir -p -m 755 /etc/apt/keyrings curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg 적절한 Kubernetes apt 저장소를 추가하십시오. 이 저장소에는 Kubernetes 1.29에 대한 패키지만 있으므로, 다른 Kubernetes 마이너 버전을 사용하는 경우 URL에서 Kubernetes 마이너 버전을 원하는 버전에 맞게 변경해야 합니다(설치할 Kubernetes 버전의 문서를 읽고 있는지도 확인해야 합니다).# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list apt 패키지 인덱스를 업데이트하고 kubelet, kubeadm 및 kubectl을 설치하고 버전을 고정하십시오:sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl 결론바로 위 내용을 그대로 적용하신다면 아래 내용을 복사 붙여넣기 하시면 돼요. cat <<EOF > kube_install.sh # /etc/apt/keyrings 폴더 생성 및 권한 부여 sudo mkdir -p -m 755 /etc/apt/keyrings # 1. apt 패키지 색인을 업데이트하고, 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치한다. sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg # 2. 구글 클라우드의 공개 사이닝 키를 다운로드 한다. sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 3. 쿠버네티스 apt 리포지터리를 추가한다. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | 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 kubeadm version실행 후 버전 확인을 해보시면 됩니다 지금 자료는 2024.03.04 기준 공식문서(영어<- 중요) 자료고내일 당장 바뀔 수도 있습니다. 제가 지금 올린 내용을 믿으시지 마시고 일단 먼저 공식문서 (영어 <- 중요)를 참고하세요!
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
kube-ops-view 노드가 안보이는 이유는 무엇일까요?
kube-ops-view가 화면은 뜨는데 노드는 안보이는 이유는 무엇일까요? ㅎㅎ^^아시는 분 계신면 답변 부탁드립니다. ㅎㅎ
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
선생님
혹시 원클릭배포를 yaml파일이 아닌 테라폼으로 구현하실 생각이 있으신가요? 저도 테라폼의 장단점에 대해 자세히 아는 것은 아니지만, 아래 질문하신 분 사례처럼 yaml 생성은 매끄럽지 못한 부분도 있고, destroy도 조금 불편하긴 했습니다. 제가 가진 hcl은 eks까지 빌드할 수 있는데, 여기에 이어서 선생님의 프로메테우스 스택을 설치하려니 문제가 발생해서 사용을 못하고 있습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
안녕하세요
안녕하세요맥 실리콘칩 m2 를 사용하고 있습니다.ssh server 를 설치하려고 docker pull edowon0623/docker-server:m1 설치하고 실행했는데 docker 상태가 계속 exit가 나옵니다 원인을 알 수 있을가요?docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host edowon0623/docker-server:m1 /usr/sbin/init명령어를 사용하였습니다
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
loadbalancer 문의 드립니다.
로컬 우분투 환경에서는 외부 IP 가 PENDING 상태에서 변하지 않습니다.꼭 실습환경은 구글크라우드 환경에서 해야 하는지, 아니면로컬환경에서는 LoadBalancer를 사용하지 못하는건지,못하면 다른 방법은 없는 건지 궁금합니다.참고로 우분투에서 로드밸랜서를 만들지는 못하나요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
NodePord local 환경에서 안됨
안녕하세요우분투 22.04에서 cilium환경 설정이 안되어서 우분투 20.04로 다시 설치해서 사용하고 있습니다.저는 로컬환경에서 우분투 20.04 라이브서버 4대마스터 1대 워커 3대 노드포트 서비스 실습을 하면 방화벽 30001를 마스터에서 허용해도 curl ~~ 하면 curl: (7) Failed to connect to 175.207.200.124 port 30001: Connection refused로컬환경에서는 nodePort로 어떻게 하면 사용이 가능할까요?참고로 공유기 포트는 다 열어져 있습니다.➜ yaml kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIMEstarcoex-first Ready control-plane 6d18h v1.28.2 192.168.10.4 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28starcoex-four Ready <none> 6d18h v1.28.2 192.168.10.102 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28starcoex-second Ready <none> 6d18h v1.28.2 192.168.10.100 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28starcoex-three Ready <none> 6d17h v1.28.2 192.168.10.101 <none> Ubuntu 20.04.6 LTS 5.4.0-172-generic containerd://1.6.28 ➜ yaml kubectl get svc -o wideNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTORhttp-go-svc NodePort 10.110.165.249 <none> 80:30001/TCP 15m app=http-gokubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18h <none> 공유기 외부 ip175.207.200.124, 112.184.55.51, 112.184.55.52, 112.184.55.57
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubectl apply 와 create 차이점
안녕하세요.강의들 듣다 보면 지금까지는 pod를 생성할때 kubectl create ~~ 했는데지금은 kubectl apply ~~ 차이점이 있을까요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
amazon EKS 원클릭 배포 및 기본 스토리지 실습 문의.
https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?stackName=myeks&templateURL=https:%2F%2Finflearnaeb.s3.ap-northeast-2.amazonaws.com%2Feks-oneclick2.yaml해당 파일을 다운로드 받아 region만 수정하여 CloudForatmation을 실행하면 다음과 같은 Stack만 생성되고 다른 stack이 생성되지 않습니다.앞선 실습에선 node도 생성이 되고 했는데요...지금은 저것만 생성이 되고 다른건 생성이 안됩니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
키보드 소리가 너무커요
강의인데키보드 소리가 너무 커서거슬려요조용한 키보드좀 써서 찍으면 안될까요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
안녕하세요 에러질문있습니다
실습3) Tomcat 서버에 배포하기 실습중 다음과 같은 에러가 발생하는데 원인을 모르겠습니다ㅜㅜ Maven JVM terminated unexpectedly with exit code 134 그리고 부록 파트에서 톰캣사용하면서 deploy계정을 추가한적 이 있다는데 부록파트는 어디에 있나요? 강의듣기전에 섹션8을 모두 진행한다음에 강의를 들으면되는건가요?
-
미해결실리콘밸리 엔지니어에게 배우는 쿠버네티스 for SWE
yaml 작성법 문의
yaml 작성 중 리스트는 들여쓰기를 꼭 해야 하는지 아니면같은 줄에 사용해도 무방한지 궁금합니다.예제apiVersion: apps/v1kind: ReplicaSetmetadata: name: frontend labels: app: guestbook tier: frontendspec: replicas: 4 selector: matchLabels: tier: frontend template: metadata: labels: tier: frontend spec: containers: - name: php-redis(들여쓰기 안함) image: gcr.io/google_samples/gb-frontend:v3
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
mac 사용자분들 최신 톰캣입니다. #2
- name: Download Tomcat9 from tomcat.apache.org hosts: devops tasks: - name: Create a Directory /opt/tomcat9 file: path: /opt/tomcat9 state: directory mode: 0755 - name: Download Tomcat using get_url get_url: url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.86/bin/apache-tomcat-9.0.86.tar.gz dest: /opt/tomcat9/apache-tomcat-9.0.82.tar.gz mode: 0755 checksum: sha512:https://downloads.apache.org/tomcat/tomcat-9/v9.0.86/bin/apache-tomcat-9.0.86.tar.gz.sha512
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
10022포트 접속 kex_exchange_identification: Connection closed by remote host
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다음과 같은 에러가 발생하네요. 10022포트로 접속이 되지 않습니다. 중간에 Docker Desktop을 업데이트 했는데, 다른 글 보니까 도커 데스크탑 재설치후 환경변수 제거하라는 글을 본거 같은데,,그 문제인거 같기도 하고,,해결하지 못하고 있습니다
-
미해결쉽게 시작하는 쿠버네티스(v1.25)
CKA 랩 환경 vagrant up 시 에러 상황 문의
안녕하세요 강사님.강사님의 git에서 k8s-multicontext 다운로드 후,CKA 랩환경 vagrant up 시, 1. bk8s-m: Box 'sysnet4admin/Ubuntu-k8s' could not be found.-> 'sysnet4admin/Ubuntu-k8s' 찾을 수 없다고 나오는데 정상적인게 맞나요?bk8s-m ssh 접속 시도 중 private key 오류가 나는 것으로 보이는데 해당 키에 접근을 못하는지 알 수 있을까요?답변 부탁드립니다. 감사합니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
EKS Add on 기능
안녕하세요 kube-proxy와 Amazon VPC CNI core DNS경우는 일반적으로 Kubernetes에 구성 요소 아닌지요? 그런데 왜 EKS에서 add on 으로 나와 있는건지 궁금합니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
Amazon EKS Control Plane 아키텍처
안녕하세요. 강의 잘듣고 있습니다!Amazon EKS Control Plane 아키텍처 부분에서 ETCD 위에는 ELB를 사용하고 API서버 및 컨트롤러,스케쥴러 위에는 NLB를 사용하는 이유가 따로 있을까요? 감사합니다.