
Docker 컨테이너에 대한 포트 매핑/전달과 함께 아래 docker 명령을 Kubernetes YAML 파일로 변환하는 데 도움을 주세요.
# docker run -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:latest
아래 구성을 시도했습니다.
그러나 아무런 결과도 얻지 못하고 있습니다.
위의 배포 파일이 잘못된지, 그리고 그렇다면 결과를 얻기 위해 여기에서 수행할 수 있는 가능한 변경 사항은 무엇인지 알려줄 전문가가 필요합니다. 다른 여러 조합을 시도했지만 결과가 나오지 않습니다.
참고: 컨테이너가 배포되지만 포트 매핑/전달이 작동하지 않습니다. 그것이 내가 갇혀서 도움을 구하는 곳입니다.
답변1
NodePort 서비스를 지정하면 Kubernetes는 모든 노드에 포트를 할당합니다. 선택한 NodePort는 생성 후 서비스 사양에 표시됩니다. 또는 서비스를 생성하는 동안 사양에서 NodePort로 사용할 특정 포트를 지정할 수 있습니다. 특정 NodePort를 지정하지 않으면 Kubernetes 클러스터에 구성된 범위(기본값: 30000-32767)에서 포트가 무작위로 선택됩니다.
Kubernetes에서는 # 포트 레이블을 사용하여 포트를 정의할 수 있습니다. 이 레이블은 배포의 포트 구성 아래에 있습니다. 구성에 따라 원하는 포트 수를 간단히 정의할 수 있습니다. 다음 예에서는 두 개의 포트를 정의하는 방법을 보여줍니다.
apiVersion: v1
kind: Service
Metadata:
name: my-service
Spec:
selector:
app: MyApp
Ports:
- name: http
protocol: TCP
port: 80
targetPort: 9376
- name: https
protocol: TCP
port: 443
targetPort: 9377
로컬 호스트로 포트 전달을 수행하려면 다음 명령을 실행하십시오.
kubectl port-forward <pod-name> <locahost-port>:<pod-port>
자세한 내용은 다음 링크를 참조하세요.Docker 컨테이너 포트 전달그리고노드 포트.