월 55,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
main.go가 빌드가 안됩니다.
안녕하세요. main.go파일의 빌드가 안되어 진행을 못하는 상황입니다. 어디가 잘못되었는지... 제가 go를 잘 몰라서 뭔가 빠트리고 있는지요. go 는 1.16을 쓰고 있습니다. main.go는 자료실 코드 그대로 복붙을 했습니다. 에러는, '"github.com/julienschmidt/httprouter" 라는 모듈을 나는 모른다' 정도로 해석할수 있는데... 어떻게 해야할까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
안녕하세요...
동일하게 vm들을 생성했는데 ip가 안나오네요.. (네트워크에서 natnetwork로 선택하고 시작하면 네트워크 연결이 실패했습니다.. 라고 나오는데 이것과 연관이 있는걸까요??) 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
namespace 삭제가 안되요.
안녕하세요. 좋은 강의 잘 보고 있습니다. $ kubectl version Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.10", GitCommit:"62876fc6d93e891aa7fbe19771e6a6c03773b0f7", GitTreeState:"clean", BuildDate:"2020-10-15T01:52:24Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.14", GitCommit:"5de7fd1f9555368a86eb0f8f664dc58055c17269", GitTreeState:"clean", BuildDate:"2021-01-18T09:31:01Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"} Namespace를 삭제하면, Terminating 상태로 삭제가 되지 않습니다. sansae@dev$ kubectl get ns NAME STATUS AGE default Active 21d dev Active 47h ingress-basic Terminating 7d3h ingress-nginx Active 72m kube-node-lease Active 21d kube-public Active 21d kube-system Active 21d 아래 방법으로 시도하였으나, 마찬가지 삭제가 되지 않아요 ㅠㅠ; $ kubectl get namespace ingress-basic -o json > tmp.json $ kubectl proxy --prot=8888 & $ curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8888/api/v1/namespaces/ingress-basic/finalize CURL실행 응답값. spaces/ingress-basic/finalize { "kind": "Namespace", "apiVersion": "v1", "metadata": { "name": "ingress-basic", "selfLink": "/api/v1/namespaces/ingress-basic/finalize", "uid": "217b3527-e540-463e-915d-c9eff4c9f07b", "resourceVersion": "5775075", "creationTimestamp": "2021-02-10T00:16:16Z", "deletionTimestamp": "2021-02-17T02:09:50Z", "managedFields": [ { "manager": "kubectl", "operation": "Update", "apiVersion": "v1", "time": "2021-02-10T00:16:16Z", "fieldsType": "FieldsV1", "fieldsV1": {"f:status":{"f:phase":{}}} }, { "manager": "kube-controller-manager", "operation": "Update", "apiVersion": "v1", "time": "2021-02-17T02:09:55Z", "fieldsType": "FieldsV1", "fieldsV1": {"f:status":{"f:conditions":{".":{},"k:{\"type\":\"NamespaceContentRemaining\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionContentFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionDiscoveryFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceDeletionGroupVersionParsingFailure\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}},"k:{\"type\":\"NamespaceFinalizersRemaining\"}":{".":{},"f:lastTransitionTime":{},"f:message":{},"f:reason":{},"f:status":{},"f:type":{}}}}} } ] }, "spec": { "finalizers": [ "kubernetes" ] }, "status": { "phase": "Terminating", "conditions": [ { "type": "NamespaceDeletionDiscoveryFailure", "status": "True", "lastTransitionTime": "2021-02-17T02:09:55Z", "reason": "DiscoveryFailed", "message": "Discovery failed for some groups, 1 failing: unable to retrieve the complete list of server APIs: webhook.cert-manager.io/v1beta1: the server is currently unable to handle the request" }, { "type": "NamespaceDeletionGroupVersionParsingFailure", "status": "False", "lastTransitionTime": "2021-02-17T02:09:55Z", "reason": "ParsedGroupVersions", "message": "All legacy kube types successfully parsed" }, { "type": "NamespaceDeletionContentFailure", "status": "False", "lastTransitionTime": "2021-02-17T02:09:55Z", "reason": "ContentDeleted", "message": "All content successfully deleted, may be waiting on finalization" }, { "type": "NamespaceContentRemaining", "status": "False", "lastTransitionTime": "2021-02-17T02:09:55Z", "reason": "ContentRemoved", "message": "All content successfully removed" }, { "type": "NamespaceFinalizersRemaining", "status": "False", "lastTransitionTime": "2021-02-17T02:09:55Z", "reason": "ContentHasNoFinalizers", "message": "All content-preserving finalizers finished" } ] } }
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
docker 볼륨마운트 문의 드립니다.
안녕하세요. 우분투 환경에서 아래와 같이 물리적인 디스크가 2개로 파티셔닝 된 상태 입니다. 1. sda : / 2. sdb : /log 도커 볼륨마운트로 /log 영역을 붙였습니다. sdb 물리디스크 장애로 디스크를 교체한 후 OS에서 다시 마운트를 하면 docker에선 마운트한 /log 폴더로 연결이 안 됩니다. 아무래도 기존 (장애난디스크)의 /log 영역을 계속 보는거 같습니다. 도커를 재시작 하면 정상적으로 /log 에 붙습니다. 질문 드리고 싶은건 도커 재시작을 하지 않고 reload나 기타 기능으로 이런 케이스를 해결할 방법이 있을까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
안녕하세요 강사님 statefulset 질문드립니다.
1. statefulset로 만들어진 pvc나 pv같은게 더이상 필요없는경우에는 일일이 커맨드나 gcp에서 수동으로 삭제해줘야되나요? 2. replicas=2로 두개의 pv에 연결된 pod이 있다고 했을때의 pv 상태를 web-0 : pv0 web-1: pv1 이라고 했을때 replicas=1로 줄이면 web-0: pv0 : pv1 이 된다는것은 알겠습니다 그런데 여기서 pv0의 내용이 바뀐다음 다시 replicas=2로 늘리게 된다면 pv1의 내용이 pv0과 동일하게 바뀌게 되나요? 3. 2번 질문에서 마찬가지로 web-0: pv0 : pv1 인 상태에서 pv0의 내용이 모종의 이유로 손상돼서 pv1이 필요하게 될때에는 어떻게 대처하면 되려나요 항상 감사합니다!
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
안녕하세요.
안녕하세요. 좋은강의 잘 듣고 있습니다. 문의사항이 있어서 글을 남깁니다. 혹시 "(선택과목) 구글클라우드플랫폼(GCP) 기초특강" 강의내에서 보여지는 PPT(?)학습자료를 제공받을 수 있을까요? 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
이미지 버전 찾는 방법
안녕하세요. Jenkins 이미지를 다운 받기 위해서 sudo docker pull jenkins라고 명령어를 치니까 Using default tage:latest Error response from daemon : manifest for jenkins:latest not found: manifest unknown; manifest unknow 이렇게만 나오고 다운이 안되더군요 질문이 latest 버전이 존재하지 않을 수 있나요.? 그리고 만약 latest가 없을 경우 버전을 찾아야하는 것 같은데 docker 명령어로 버전 찾는 방법이 있나요? docker search jenkins를 해보니 버전은 따로 나오지 않는 것 같았습니다... 이상입니다. 감사합니다.
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
정적파일 리소스
강사님의 yaml 파일에서 Ingress 부분에 path를 / 만이 아닌 /*로 수정하여 하위 경로를 모두 포함시켰더니 브라우저상에서 제대로 출력됩니다 참고바랍니다 404 에러 나던 정적 파일 https://tomcat.gasbugs.com/tomcat.png https://tomcat.gasbugs.com/tomcat.css
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
다음 새로운 강의로는 AWS기반의 EKS, ALB or NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다.
안녕하세요, 강사님~ 다음의 내용과 같이 제가 작년에 새로운 강의를 부탁 드렸는데요, 강의는 제작 중이신지 궁금합니다. 어서 아래의 내용의 강의를 강사님으로부터 인프런에서 듣고 싶습니다. 그럼 답변 부탁 드립니다. ========================================================================================== 다음 새로운 강의로는 AWS기반의 EKS, ALB or NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다. EKS(Elastic Kubernetes Service)로 node 구성시 multi-AZ으로 해주시고, ECR(Elastic Container Registry)사용법, ALB for Ingress로 할지 아니면 'ALB or NLB + Nginx for Ingress로 할지', SSL(혹은 TLS)인증서를 어디에 구성할지(Termination할지?), Jenkins 와 쿠버네티스 연동 그리고, 웹서버 혹은 WAS서버가 Scale-In될 때 웹클라이언트 세션 유지 용도로 ElasticCache for Redis도 추가 부탁 드립니다. 이 정도 커리큘럼이면 괜찮은 강의가 구성될 것 같습니다. 여력이 되신다면 쿠버네티스 모니터링용으로 프로메테우스와 그라파나, 그리고 로그서버로 fluentd도 부탁 드립니다. ^^ ==========================================================================================
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
로컬환경에서 로드밸런서 작성시 External IP 관련 질문 드립니다!
안녕하세요 강사님 좋은 강의 정말 잘 보고 있습니다. 다름이 아니라 현재 오픈스택으로 로컬 환경에서 실습 하던 중에 강사님의 강의에서 로드밸런서 타입이나 기타 External IP 환경을 재현해 보고 싶었습니다. 외부 IP가 없으니 당연히 Pending이 걸리는게 맞는거 같고 좀 더 알아보니 오픈 로드밸런서로 Porter나 MetalLB 등이 있더군요. 그래서 여차저차 MetalLB의 Config.yaml 파일까지 작성 후 적용하여 로드밸런서가 잡히는 걸 확인 했습니다. 1. 헌데 현재 오픈스택에서 사용중인 인스턴스들의 아이피 10.x.x.x 는 아이피 192.168.xxx.xxx 와 같이 1:1 로 밖에 매핑이 안돼고 결론적으로 오픈 로드밸런서를 사용하려면 현재 마스터의 인스턴스 10.x.x.x IP 주소를 MetalLB의 Config.yaml 의 address에 할당하여 접속은 되긴 하지만 그 이상의 IP를 config에 할당하여도 마스터 인스턴스의 IP가 할당된 로드밸런서만 접속이 가능하더군요. 로컬에서는 오픈 로드밸런서 사용 시 로드밸런서를 단 1개밖에 사용할 수 없는지 궁금합니다. 2. 로드 밸런서를 구성의 맨 앞단에 붙이는 것과 마스터-노드 사이에 서비스로 붙이는 거랑은 완전히 다른 개념인지 궁금합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
스테이트 풀셋 활용?
보통 파드도 구글 클라우드로 볼륨을 지정해서 연결해 놓으면 재 시작시에 같은 볼륨을보지 않나요 ? 만약 위 가 맞다면 스테이트 풀셋은 어떨때 사용하나요 ?ㅠㅠ
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
jenkins latest 이미지 문제
docker 컨테이너 실행 연습문제 풀때도 현재 젠킨스 latest 이미지에 문제가 있어 버전을 따로 명시했었는데 여기서도 같은 문제가 발생하는거 같습니다 kubectl create deployment jk --image=jenkins:2.60.3 이렇게해서 해결했습니다 참고하시기 바랍니다!
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
on-premise 에서 CI/CD 배포 환경 강좌 제작관련 문의 드립니다.
쿠버네티스 강의 잘 듣고 있습니다. 이 강좌에서 다루시는 내용은 주로 클라우드 환경에서 운용하는 방법을 학습하는 내용이신것 같습니다. on-premise 에서 CI/CD 배포 환경을 gitLap(github), jenkins(front(react, vue) backend(nodejs, spring boot) 구축하는 강좌를 개설하실의향은 없으신지 궁금합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
네트워크 구조
처음 설명하신 도커의 네트워크 구조 와 컨테이너 간의 인터페이스를 공유하는구조는 크게 하나는 도커 기본적인 구조이고 두번째 컨테이너 간의 인터페이스를 공유하는 구조는 쿠버네티스 구조라고 알면 될까요 ?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
네트워크 환경 관련해서 질문 드립니다
요청 > svc(cluster IP) > svc(nodePort) > 내부Pod 로 전달되는 구조 인가요 ?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
PV 용량을 초과해서 저장이 됩니다.
ㅇ 아래와 같이 hostpath를 사용하는 PV(name: pv-1)를 10Mbytes로 용량 제한을 하였습니다. ㅇ 아래와 같이 pvc에 정상적으로 bound 되어 있고, ㅇ Pod에 정상적으로 마운트되어 있습니다. ㅇ 그런데 마운트된 /data 경로에 temp라는 파일을 생성해보면, 아래와 같이 설정된 용량 10Mbytes를 훨씬 초과하여 파일이 생성이 됩니다. PV를 hostPath로 사용하는 경우 Work Node에 용량이 충분하다면, PV의 Capacity를 초과하여 파일이 저장될 수 있나요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
pod에 데이터는 어디에 남는건가요 ?
안녕하세요 pod를 생성하고 그 서비스가 동작하면 해당 데이터는 자동적으로 etcd 에 남는건가요 ? 만약에 s3로 데이터를 옮기고 싶을때는 설정은 어디서 해야 될가요 ?
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
안녕하세요. 강사님
안녕하세요. 강사님 제가 강의를 듣고 개인적으로 내용을 정리하려 하는데 혹시 정리한 내용을 블로그에 포스팅해도 괜찮은지 여쭤보고 싶어 질문을 올립니다. 좋은 강의 제공해주셔서 너무 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
docker와 kubeadm 설치 오류 관련 - 'snap info <snapname>'
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요, 강사님. 강사님의 영상을 따라 도커와 쿠버 설치를 순차적으로 해보는데 버전 혼동이 온 것인지 install.sh파일을 bash후 kube 명령어를 쓰면 " see 'snap info <snapname>' for additional versions. " 라고 뜹니다. 혹시 제가 install.sh를 잘못 작성하였나 싶어 명령어를 확인해도 똑같은데(쿠버 홈페이지 명령어 복붙하여 사용했습니다.) 이 문제가 왜 발생하고 어떻게 하면 해결할 수 있는지 아신다면 알려주실 수 있을까요? 저는 강사님의 이미지 파일로 다운로드 하여 사용중인데 제 snap 버전은 이렇습니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
연습문제 관련하여 dns 동작 확인은 어떻게...
안녕하세요 연습문제 관련하여 동일하게 정책을 적용하였으나, v1에서 v3로 curl 시도시 정상적으로 조회가 되는 경우가 종종 발생을 합니다. 관련하여 왜 허용이 되었는지, 혹은 차단은 어떻게 되었는지 로그로는 어떻게 확인할 수가 있을까요? server1@master:~/yaml$ k exec -it http-go-v1 -- curl http://http-go-v3 Defaulting container name to http-go. Use 'kubectl describe pod/http-go-v1 -n default' to see all of the containers in this pod. ^Ccommand terminated with exit code 130 server1@master:~/yaml$ k exec -it http-go-v1 -- curl http://http-go-v2 Defaulting container name to http-go. Use 'kubectl describe pod/http-go-v1 -n default' to see all of the containers in this pod. ^Ccommand terminated with exit code 130 server1@master:~/yaml$ k exec -it http-go-v1 -- curl http://http-go-v3 Defaulting container name to http-go. Use 'kubectl describe pod/http-go-v1 -n default' to see all of the containers in this pod. Welcome! v3 server1@master:~/yaml$