6.7.2. 클라이언트에서 원격 명령을 시작하는 프로토콜


클라이언트는 Kubernetes API 서버에 대한 요청을 발행하여 컨테이너에서 원격 명령 실행을 시작합니다.

/proxy/nodes/<node_name>/exec/<namespace>/<pod>/<container>?command=<command>

위 URL에서

  • <node_name>은 노드의 FQDN입니다.
  • <namespace>는 대상 Pod의 프로젝트입니다.
  • <pod>는 대상 Pod의 이름입니다.
  • <container>는 대상 컨테이너의 이름입니다.
  • <command>는 실행하기를 원하는 명령입니다.

예를 들면 다음과 같습니다.

/proxy/nodes/node123.openshift.com/exec/myns/mypod/mycontainer?command=date

또한 클라이언트는 요청에 매개변수를 추가하여 다음에 대한 여부를 표시할 수 있습니다.

  • 클라이언트에서 원격 컨테이너의 명령(stdin)에 입력을 보내야 합니다.
  • 클라이언트의 터미널이 TTY입니다.
  • 원격 컨테이너의 명령에서 stdout의 출력을 클라이언트로 보내야 합니다.
  • 원격 컨테이너의 명령에서 stderr의 출력을 클라이언트로 보내야 합니다.

클라이언트는 API 서버로 exec 요청을 보낸 후 다중 스트림을 지원하는 연결로 연결을 업그레이드합니다. 현재 구현에서는 HTTP/2 를 사용합니다.

클라이언트는 stdin, stdout, stderr에 대해 각각 하나의 스트림을 생성합니다. 클라이언트는 스트림을 구분하기 위해 스트림의 streamType 헤더를 stdin, stdout, stderr 중 하나로 설정합니다.

클라이언트는 원격 명령 실행 요청을 완료하면 모든 스트림, 업그레이드된 연결, 기본 연결을 종료합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.