2.4. 플러그인을 사용하여 OpenShift CLI 확장

기본 oc 명령에 빌드할 플러그인을 작성하고 설치하여 OpenShift Container Platform CLI에서 새롭고 더 복잡한 작업을 수행할 수 있습니다.

2.4.1. CLI 플러그인 작성

명령줄 명령을 작성할 수 있는 모든 프로그래밍 언어 또는 스크립트로 OpenShift Container Platform CLI용 플러그인을 작성할 수 있습니다. 플러그인을 사용하여 기존 oc 명령을 덮어쓸 수 없습니다.

절차

이 절차에서는 oc foo 명령을 실행할 때 메시지를 터미널에 출력하는 간단한 Bash 플러그인을 생성합니다.

  1. oc-foo라는 파일을 생성합니다.

    플러그인 파일의 이름을 지정할 때 다음 사항에 유의하십시오.

    • 파일이 플러그인으로 인식되려면 oc- 또는 kubectl- 로 시작되어야 합니다.
    • 파일 이름에 따라 플러그인을 호출하는 명령이 결정됩니다. 예를 들어 파일 이름이 oc-foo-bar 인 플러그인은 oc foo bar 명령으로 호출할 수 있습니다. 명령에 대시를 포함하기 위해 밑줄을 사용할 수도 있습니다. 예를 들어 파일 이름이 oc-foo_bar 인 플러그인은 oc foo-bar 명령으로 호출할 수 있습니다.
  2. 파일에 다음 콘텐츠를 추가합니다.

    #!/bin/bash
    
    # optional argument handling
    if [[ "$1" == "version" ]]
    then
        echo "1.0.0"
        exit 0
    fi
    
    # optional argument handling
    if [[ "$1" == "config" ]]
    then
        echo $KUBECONFIG
        exit 0
    fi
    
    echo "I am a plugin named kubectl-foo"

OpenShift Container Platform CLI용으로 이 플러그인을 설치한 후에는 oc foo 명령을 사용하여 호출할 수 있습니다.

추가 리소스

2.4.2. CLI 플러그인 설치 및 사용

OpenShift Container Platform CLI용 사용자 정의 플러그인을 작성한 후에는 해당 플러그인을 설치하여 제공하는 기능을 사용해야 합니다.

사전 요구 사항

  • oc CLI 툴이 설치되어 있어야 합니다.
  • oc- 또는 kubectl- 로 시작하는 CLI 플러그인 파일이 있어야 합니다.

절차

  1. 필요한 경우 플러그인 파일을 실행 가능하게 업데이트합니다.

    $ chmod +x <plugin_file>
  2. 파일을 PATH에 있는 임의의 위치(예: /usr/local/bin/)에 배치합니다.

    $ sudo mv <plugin_file> /usr/local/bin/.
  3. oc plugin list 를 실행하여 플러그인이 나열되었는지 확인합니다.

    $ oc plugin list

    출력 예

    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>

    여기에 플러그인이 나열되지 않은 경우 파일이 oc- 또는 kubectl- 로 시작하고 실행 가능하며 PATH 에 있는지 확인합니다.

  4. 플러그인에서 도입한 새 명령 또는 옵션을 호출합니다.

    예를 들어 샘플 플러그인 리포지토리 에서 kubectl-ns 플러그인을 빌드하고 설치한 경우 다음 명령을 사용하여 현재 네임스페이스를 볼 수 있습니다.

    $ oc ns

    플러그인을 호출하는 명령은 플러그인 파일 이름에 따라 다릅니다. 예를 들어 파일 이름이 oc-foo-bar 인 플러그인은 oc foo bar 명령으로 호출합니다.