월 66,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데브옵스(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$
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
"EmptyDir 컨테이너 간 데이터 공유 실습" 관련 dockerfile 문의
안녕하세요. 명강의 잘 듣고 있습니다^^ 최대한 하나하나 실습을 해보면서 진행을 하고 있는데요~ "EmptyDir 컨테이너 간 데이터 공유 실습" 강의에서 직접 docker를 생성해보고 있는데, dockerfile을 PPT와 동일하게 ENTRYPOINT /bin/cout.sh 라고 작성을 하게 되면, /bin/count.sh가 없다면서 컨테이너 실행이 실패됩니다. jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker run -it jjajjara/count -rm: line 1: /bin/count.sh: not found . 그래서 예전에 알려주셨던, CMD 명령어로 대체를 하니 정상적으로 실행이 되는데요 CMD ["bin/sh", "/bin/count.sh"] . ENTRYPOINT로 했을 때 왜 실패가 나는지 알수 있을까요? . . 아래는 dockerfile에 동일하게 ENTRYPOINT가 작성시 제가 만든 이미지와 gasbugs/count 이미지의 history를 비교한 것인데, 보시는 바와 같이 ENTRYPOINT 명령에 조금 차이가 있습니다. ................................................................................................................................................. jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ cat dockerfile FROM busybox:latest ADD count.sh /bin/count.sh ENTRYPOINT /bin/count.sh ................................................................................................................................................. jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker image history jjajjara/count --no-trunc IMAGE CREATED CREATED BY SIZE COMMENT sha256:469d8ba661a690ab7243c2c14bbb7420efe8634a346767696712b7e658ce4ead 23 minutes ago /bin/sh -c #(nop) ENTRYPOINT ["/bin/sh" "-c" "/bin/count.sh"] 0B sha256:11e9105faaa86b0fb27268be4c066fa2e85e4e5cf27d7c3427f396998ee468d0 23 minutes ago /bin/sh -c #(nop) ADD file:8e0711a5b2619ad87295625d90a49956fb52fcfad4e2667cb78834ae1fc4a943 in /bin/count.sh 155B sha256:219ee5171f8006d1462fa76c12b9b01ab672dbc8b283f186841bf2c3ca8e3c93 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0B <missing> 3 weeks ago /bin/sh -c #(nop) ADD file:85e5bcb27fcc24f6a594d2e89493c4083ef596c2a73c5ccaa0a0255a48ba2cd0 in / 1.23MB ................................................................................................................................................. jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker image history gasbugs/count --no-trunc IMAGE CREATED CREATED BY SIZE COMMENT sha256:879bd2048e2adc7ae9e43a4c412657e559bc83d6f898781893efa1f1db2e8484 9 months ago /bin/sh -c #(nop) ENTRYPOINT ["sh" "/bin/count.sh"] 0B <missing> 9 months ago /bin/sh -c #(nop) ADD file:b035c70c5049e6916fac180ae62d9fa14666cbab7b8db20a02077eef5e0e0ca2 in /bin/count.sh 163B <missing> 9 months ago /bin/sh -c #(nop) CMD ["sh"] 0B <missing> 9 months ago /bin/sh -c #(nop) ADD file:450bea8cddb743ed282cb1ade3d1614033172b93ef531c69a4e49fda3016cef0 in / 1.22MB
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
로드벨런서 확인을 위한 curl 명령 시 문의
저 같은 경우는 강의 내용과 다르게 GCP에서 실행할 때 exec 명령에서 복제된 파드의 내부 아이피를 지정하면 그 파드만 실행을 하고 로드벨런서로 노출된 외부 아이피를 지정할 때만 벨런싱이 되는 거 같습니다. 우연의 일치일까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
아래 줄 쉽게 삭제하는법
vi에서 원하는 위치에서 dG 입력하시면 됩니다
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
유닉스 시스템에도 도커적용이 가능할까요?
IBM의 AIX , 그리고 HP 의 UX 계열의 유닉스에서도 도커적용이 가능할까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubectl apply -f ~ 했을 시 에러
prouser@master:~/yaml$ k apply -f http-go-rc-v2.yaml Warning: resource replicationcontrollers/http-go is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. replicationcontroller/http-go configured 이런식으로 Warning 이 발생했는데, 어떤 것 때문에 이런 Warning이 발생하나요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubeadm init 시 오류
root@master:/home/server1# kubeadm init W1221 01:11:07.031709 8457 version.go:101] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get "https://dl.k8s.io/release/stable-1.txt": dial tcp: lookup dl.k8s.io on 127.0.0.53:53: server misbehaving W1221 01:11:07.031790 8457 version.go:102] falling back to the local client version: v1.20.1 [init] Using Kubernetes version: v1.20.1 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/ [preflight] Pulling images required for setting up a Kubernetes cluster [preflight] This might take a minute or two, depending on the speed of your internet connection [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.20.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager:v1.20.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-scheduler:v1.20.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-proxy:v1.20.1: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/pause:3.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/etcd:3.4.13-0: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 [ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns:1.7.0: output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , 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 root@master:/home/server1# kubeadm config images pull W1221 01:11:19.926282 8988 version.go:101] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get "https://dl.k8s.io/release/stable-1.txt": dial tcp: lookup dl.k8s.io on 127.0.0.53:53: server misbehaving W1221 01:11:19.926337 8988 version.go:102] falling back to the local client version: v1.20.1 failed to pull image "k8s.gcr.io/kube-apiserver:v1.20.1": output: Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host , error: exit status 1 To see the stack trace of this error execute with --v=5 or higher 그대로 따라하고 kubeadm init 명령어 치니까 저렇게 나옵니다... 해결방법 있을까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ReplicaSet 테스트 중 문의
Node2인 work2의 네트워크를 disconnect 후 5분 이상 기다려도 pod이 제대로 생성이 되지 않아 work2를 아예 Poweroff를 해서 기다리고 있는데, 정상적으로 뜨지 않고 있습니다. 혹시 이 부분에 Kubernetes의 버그가 있는건가요?
- 해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
ip가 같은 경우는?
동일하게 vm들을 생성했는데 ip가 모두 같게 나오네요
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
다음 새로운 강의로는 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다.
안녕하세요, 강사님~ 다음 새로운 강의로는 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다. EKS(Elastic Kubernetes Service)로 node 구성시 multi-AZ으로 해주시고, ECR(Elastic Container Registry)사용법, ALB for Ingress로 할지 아니면 'NLB + Nginx for Ingress로 할지', SSL(혹은 TLS)인증서를 어디에 구성할지(Termination할지?), Jenkins 와 쿠버네티스 연동 그리고, 웹서버 혹은 WAS서버가 Scale-In될 때 웹클라이언트 세션 유지 용도로 ElasticCache for Redis도 추가 부탁 드립니다. 이 정도 커리큘럼이면 괜찮은 강의가 구성될 것 같습니다. 여력이 되신다면 쿠버네티스 모니터링용으로 프로메테우스와 그라파나, 그리고 로그서버로 fluentd도 부탁 드립니다. ^^
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
VM에서 kubernetes 설치 후 kubectl expose deployment http-go~ 했을 때 pending 문의
GCP에서 아래와 같이 expose를 하면 제대로 pending이 EXTERNAL-IP를 불러옵니다. http-go 이미지 build 후 kubectl create deployment http-go --image=oojchoi/http-go 한 다음 kubectl expose deployment http-go --port=8080 --target-port=8080 --type=LoadBalancer 로 expose해서 oojchoi@cs-402228447137-default-default-mq8gw:~$ k get svc -wNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEhttp-go LoadBalancer 10.120.13.58 <pending> 8080:31160/TCP 12skubernetes ClusterIP 10.120.0.1 <none> 443/TCP 121mnginx LoadBalancer 10.120.15.116 34.64.137.0 80:31377/TCP 118mhttp-go LoadBalancer 10.120.13.58 34.64.212.7 8080:31160/TCP 31s 해당 IP로 Application을 호출했습니다. 제가 GCP 말고 실습하던 VM에서 위와 같이 했을 때, root@master:~/http_go# k get svc -w NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE http-go-svc LoadBalancer 10.99.209.14 <pending> 8080:30180/TCP 78s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15h 에서 pending이 바뀌지 않고 있는데요. 혹시 VM 환경에서 추가적으로 더 해주어야 할 부분이 있을까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
Kubernetes 설치 후 kubectl get node 수행 시 발생되는 에러 문의
root@work1:~# k get node The connection to the server localhost:8080 was refused - did you specify the right host or port? 현재 Node에서 위 kubectl get node를 수행했을 때 위와 같이 떨어집니다. 현재 네트워크는 host-only와 NAT 를 두 개를 Master, Node1, Node2에 설정하였습니다. Master ip 192.168.137.51 192.168.133.135 Node1 192.168.137.52 192.168.133.136 Node2 192.168.137.53 192.168.133.137 Node에서는 아래와 같이 수행하였습니다. root@work1:~# kubeadm join 192.168.133.135:6443 --token fnwrlf.kputr76hmcp2dfcs \ > --discovery-token-ca-cert-hash sha256:688c89f9b15384d62f858843e3b8a0dd1eef8de84ea4103fd0ee909472719d80 현재 6443 port는 Listen 하고 있는 상태입니다. root@work1:~# netstat -an | grep 6443 tcp 0 0 192.168.133.136:48760 192.168.133.135:6443 ESTABLISHED tcp 0 0 192.168.133.136:48748 192.168.133.135:6443 ESTABLISHED root@master:~# k get nodes NAME STATUS ROLES AGE VERSION master NotReady control-plane,master 5m59s v1.20.0 work1 NotReady <none> 4m24s v1.20.0 work2 NotReady <none> 4m24s v1.20.0 8080 port는 왜 사용하며, localhost:8080 was refuesd가 발생하는 이유에 대해서 답변 부탁드립니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
aws에 기반한 EKS ( with multi AZ), Nginx for ingress, SSL, Aurora for mysql, redis for session store 등의 내용 강의 부탁드립니다.
안녕하세요, 강사님 일전에 EKS를 기반으로한 쿠버네티스 강의를 부탁 드렸습니다. 추가적으로 내용 보강하여 aws에 기반한 EKS ( with multi AZ), Nginx for ingress?, ACM을 이용한 웹서버에 SSL 인증서 설치, ELB for ingress?, CloudFront, Route53, WAF, Aurora for mysql, redis for session store 등으로 하나의 서비스를 구축하는 방식으로 강의를 준비해주시면 더 좋을 것 같습니다. 그럼 부탁 드리겠습니다. 감사합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ubuntu ova 관련해서 질문 드립니다.
안녕하세요. 업무상 VMWare를 사용하고 있어서 VirtualBox로 사용하는데 제약이 있어서 ubuntu VM을 VMWare에 설치해서 진행하려고 하는데, 따로 ova 안에 구성해놓은 것들이 있으신가요? 또 ubuntu가 현재 최신버전으로 나왔는데, 최신버전으로 설치해도 강의를 진행하는데 문제가 없는지도 확인 부탁드립니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
1.19 버전에서 deployment 생성 스크립트가 변경된 것 같네요
kubectl run 명령어는 pod 실행 명령어로 바뀌고 deployment를 생성하려면 kubectl create deployment {디플로이먼트-이름} --image={이미지-이름} 와 같은 형태로 해야되네요, 제가 잘 본게 맞는지 확인부탁드립니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
etcdctl 실행 시 아래와 같은 에러가 발생합니다.
server1@master:/data/etcd-v3.4.13-linux-arm64$ 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 get / --prefix --keys-only ./etcdctl: 1: ./etcdctl: Syntax error: end of file unexpected (expecting ")") 명령어 실행하면 위와 같은 에러가 발생합니다. 이규가 뭘까요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
운영환경 도커 private registry 구축 관련 문의
안녕하세요. 강의 내용중 private registry를 주로 개발환경에 사용한다고 하셨는데, 현업에서 운영환경에 안정적으로 구축하여 사용도 하나요? 운영환경이면 이중화나, 디스크 용량 체크 등.... 검토할 사항들이 어떤것이 있나요?
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
도커 이미지 생성 시 필요 라이브러리를 어떤 방식으로 주로 설치하시는지 궁금합니다.
보통 로컬머신(우분투예시)의 경우 apt들로 설치하면 간단하게 연관 라이브러리들까지 다 설치해주고 어떤 프로그램의경우는 공식 도큐먼트에 apt install로만 제공하기도 하더라구요. 이런 경우에 도커 내부에서 apt로도 설치를 많이하는 편인지 궁금합니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
MAC환경에서의 실습환경 구성 질문
안녕하세요 강의 자료에 올려주신 실습환경 구성은 윈도우 PC에서의 실습환경 인것 같습니다 혹시 MAC에서 실습환경 구성을 어떻게 하면 되는지 알수 있을까요? 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
강사님, AWS의 EKS(Elastic Kubernetes Service)에 대한 강의도 인프런에 만들어주시길 부탁 드립니다.
안녕하세요, 강사님 덕분에 쿠버네티스 강의 잘 듣고 있습니다. 훌륭한 강의 해주셔서 감사합니다. 다름이 아니오라, AWS의 EKS(Elastic Kubernetes Service)에 대한 강의도 인프런에 만들어주시길 부탁 드립니다.