ncp cli로 쿠버네티스를 실행하려다 사용하던 linux_cli가 들어있는 폴더의 위치를 바꿨는데(Download -> <내가 원하는 폴더>) ncloud 파일 실행이 안되었습니다. 그 문제를 해결한 과정을 정리하였습니다.
cli_linux 폴더 안에 있는 ncloud 파일을 vim ncloud를 통해 열면 아래와 같이 설정되어 있습니다.
실행이 안된다면 아래와 같이 자바랑 .jar 파일 경로를 바꿔야합니다.
#!/bin/bash
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -jar /Users/ganghyeong-geun/Downloads/FIN_CLI_1.1.20_20240620/cli_linux/lib/ncloud-api-cli-1.1.20-SNAPSHOT-jar-with-dependencies.jar "$@"
-jar 기준으로 앞 부분은 자바 파일 위치이고 뒤 부분은 .jar 파일 위치입니다.
이 경로가 제대로 설정되어 있지 않는 경우 cli_linux 폴더에 있는 ncloud 파일이 잘 실행되지 않을 수 있습니다.
경로가 문제라면 1, 2번을 확인하시고 그래도 안되면 /usr/local/bin/ncloud 파일에 문제가 있을 수 있으니 3번으로 가보시면 됩니다.
1. "./jre8/bin/java: cannot execute binary file"이 출력될 때(자바 문제)
그 다음 ./ncloud
명령어로 실행하려고 하면 실행이 안됩니다.
cli_linux/jre8/bin/java에 들어있는 자바 버전을 실행할 수 없어서 문제가 발생합니다.
호환되는 자바 버전을 설치하여 ncloud 파일에 있는 자바 경로를 변경해주면 됩니다.
Home | Adoptium
The Adoptium® Working Group The Adoptium Working Group promotes and supports high-quality runtimes and associated technology for use across the Java ecosystem. Our vision is to meet the needs of Eclipse and the broader Java community by providing runtimes
adoptium.net
위의 사이트에서 자바를 다운 받을 수 있습니다. 24년 8월 기준 저는 17-LTS jdk를 다운받겠습니다.
17-LTS를 사용하는 이유?
최신 버전은 21-LTS입니다. LTS를 무조건 추천하며 네이버 클라우드에서 가장 최신버전은 문제가 생길 수 있다고 하니 한 단계 낮은 17버전을 선택해줍시다.
저는 애플 실리콘 맥을 사용하고 있기 때문에 "aarch64"를 선택했습니다. 만일 인텔맥을 사용하시는 분들은 "x64"를 선택해서 jdk를 다운받으시기 바랍니다.
다운받아서 설치해줍니다. 설치경로를 변경하지 않았다면 아마 이곳에 설치될 겁니다.
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
/Home/bin 안에 java 파일이 있을겁니다.
2. .jar 파일 경로 문제
경로를 하드코딩하지 않고 환경변수 설정으로 경로를 지정해주겠습니다.
echo $NCLOUD_CLI_JAR_PATH
아무것도 출력되지 않는다면 비어 있는 경우입니다.
저는 .jar 파일의 위치를 고정해 놓고 사용해서 발생했는데 환경변수를 알맞은 위치로 다시 수정해 주시면 됩니다.
export NCLOUD_CLI_JAR_PATH="/Users/ganghyeong-geun/Desktop/work/cloud/ncloud-study-0818/FIN_CLI_1.1.20_20240620/cli_linux/lib/ncloud-api-cli-1.1.20-SNAPSHOT-jar-with-dependencies.jar"
경로는 자신의 경로에 맞게 수정해주시면 됩니다.
잘 적용 됐는지 확인하기
echo $NCLOUD_CLI_JAR_PATH
1, 2번 지정한 후 ncloud 파일을 cat 명령어로 확인해보세요
#!/bin/bash
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -jar "$NCLOUD_CLI_JAR_PATH" "$@"
이런식으로 설정이 되었다면 ./ncloud를 다시 실행해보세요.
3. ncloud 스크립트가 다른 경로를 찾고 있는 경우
ncloud 명령어를 실행할 때 심볼릭 링크가 설정되어 있다면 시스템은 File: /usr/local/bin/ncloud 이 위치에 있는 파일을 참조한다고 합니다.
vim $(which ncloud)
실행해서 자바 파일과 jar 파일의 경로를 확인해보시기 바랍니다.
경로가 이상하다고 생각된다면 /usr/local/bin에 있는 ncloud 파일을 삭제하고, cli_linux에 있는 ncloud파일에 경로를 올바르게 설정한 다음, 다음 명령어를 이용해서 /usr/local/bin으로 파일을 복사하세요
sudo cp <cli_linux 폴더가 있는 경로>/cli_linux/ncloud /usr/local/bin/ncloud
이제 /usr/local/bin 폴더에 ncloud 파일이 복사되었습니다.
실행 권한도 부여해줍니다.
sudo chmod +x /usr/local/bin/ncloud
4. 확인
ncloud vserver getRegionList
'[Cloud] > [NCP]' 카테고리의 다른 글
[NCP] 테라폼으로 NCP에 쿠버네티스 설치 (4) | 2024.08.20 |
---|---|
[NCP] 쿠버네티스 콘솔로 생성(NKS) (0) | 2024.08.19 |
[NCP] NCP 로드밸런서 생성 및 연결 (0) | 2024.08.17 |
[NCP] NCP CLI로 VPC, 인스턴스 접근하기(macOS) (0) | 2024.08.16 |
[NCP] NCP Global DNS(도메인을 NCP 인스턴스와 연결하기) (0) | 2024.08.15 |