-
카테고리
-
세부 분야
데브옵스 · 인프라
-
해결 여부
미해결
empty-dir pod 생성 오류
21.06.29 11:37 작성 조회수 576
2
강의에 나와있는데로 empty-dir pod를 생성하려고 하면 아래와 같이 오류가 생깁니다. 오탈자도없고...
$pod logs pod-volume-1
error: a container name must be specified for pod pod-volume-1, choose one of: [container1 container2]
이유가 무엇일까요?
재 pod 생성 yaml 파일입니다.
apiVersion: v1
kind: Pod
metadata:
name: pod-volume-1
spec:
containers:
- name: container1
image: hglee0126/p8000
volumeMounts:
- name: empty-dir
mountPath: /mount1
- name: container2
image: hglee0126/p8000
volumeMounts:
- name: empty-dir
mountPath: /mount2
volumes:
- name : empty-dir
emptyDir: {}
답변을 작성해보세요.
0
일프로
지식공유자2021.06.29
안녕하세요.
동일 컨테이너를 생성하면 port 가 충돌이 나는 에러가 발생합니다.
그리고 컨테이너가 두개 있으면 로그 조회시 -c 옵션으로 컨테이너 이름까지 주면됩니다.
$pod logs pod-volume-1 -c container1
감사합니다.
hglee0126
질문자2021.06.29
음.. container1과 container2로 나눠놓았는데 다른 컨테이너 아닌가요??
강의영상과 똑같은 코드입니다. 이미지 이름만 다를뿐...강의 영상에선 잘 생성이 되는걸로 보이는데 ㅜㅜ
일프로
지식공유자2021.06.29
혹시 pod 강의 실습을 해보셨을지요?
아래 자료실 기준으로 보면 1.container에서 컨테이너에 동일 Port가 생성시 충돌 에러가 납니다.
https://kubetm.github.io/practice/beginner/object-pod/
hglee0126
질문자2021.06.29
같은 pod안에 container port가 충돌나서 에러가 난다는것 이해했습니다. 실제로 로그에서도 그렇게 보입니다. 제가 궁금한점은,
강사님의 tmkube/init 이미지를 사용하여 pod를 만들면 container port는 별도로 지정하지 않았는데도 불구하고 describe를 확인해보면 host port는 none인 상태로 두개의 컨테이너가 정상적으로 생성됩니다.
하지만 동일하게 컨테이너 포트 옵션은 아예 기입해주지 않은 상태에서 제 이미지로 시도를 하면
'Error: listen EADDRINUSE: address already in use :::8000' 에러가 발생합니다.
제 이미지는 강사님이 실습때 사용했던 이미지 파일과 동일하게 제가 따로 만든건데, node.js파일에 expose 8000하는 이미지입니다. 이미지에 expose 8000이라는 내용이 있어서 다른 결과가 나오는걸까요?
일프로
지식공유자2021.06.29
네 맞습니다.
init 이미지는 포트를 지정하지 않았기 때문에 여러개를 만들어도 포트 충돌이 나지 않습니다.
근데 p8000은 질문하신 내용처럼. expose로 8000 포트를 오픈시켰고
한 Pod에 같은 두 컨테이너를 생성했기 때문에 에러가 발생합니다.
답변 1