설치 전 유효성 검사
Bob 온프레미스를 배포하기 전에 모델 연결성, 자격 증명, 인증서 및 구성 설정을 검증하여 Model Gateway 문제를 식별하고 해결합니다.
Bob 온프레미스를 설치하기 전에 모델 엔드포인트, 인증 자격 증명, TLS 인증서 및 Model Gateway 구성이 올바르게 구성되어 있고 대상 OpenShift 클러스터에서 액세스 가능한지 확인하세요. 이러한 유효성 검사를 수행하면 배포 전에 연결 문제, 유효하지 않은 자격 증명, 인증서 신뢰 문제 및 구성 오류를 식별하여 설치 실패와 문제 해결 노력을 줄일 수 있습니다.
bobctl install을 실행하기 전에 이 체크리스트를 실행하여 누락된 구성을 조기에 파악하세요.
모델 엔드포인트 연결성 테스트
Bob 컴포넌트가 배포되기 전에 OpenShift 클러스터가 각 모델 엔드포인트에 연결할 수 있는지 확인합니다. 대상 네임스페이스에서 임시 디버그 파드를 생성하고 HTTPS 연결을 직접 테스트합니다:
# openai_compatible
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -v https://<model-endpoint>/v1/models
# bedrock
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -k https://bedrock.<AWS_REGION>.amazonaws.com/foundation-models \
--aws-sigv4 "aws:amz:${REGION}:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY"openai_compatible 엔드포인트의 경우 Model Gateway 구성의 base_url 값을 대상으로 테스트합니다. 에어갭 또는 프라이빗 인프라의 경우 설계상 외부 연결이 없으므로 이것이 연결성을 검증하는 유일한 방법입니다.
인증 유효성 검사
자격 증명을 config.yaml에 시크릿으로 인코딩하기 전에 유효성을 검사합니다. 잘못된 자격 증명은 모호한 로그 메시지와 함께 Inference Service 시작 실패를 초래합니다.
-
openai_compatible— 디버그 파드에서 직접 API 키를 테스트합니다:curl -s https://<base_url>/v1/models \ -H "Authorization: Bearer <api_key>" | jq '.data[].id' -
bedrock—config.yaml에 추가하기 전에 AWS CLI를 사용하여AWS_ACCESS_KEY및AWS_SECRET_ACCESS_KEY값을 확인합니다:aws bedrock list-foundation-models --region us-east-1 -
vertex—GEMINI_CREDENTIALSbase64 값을 디코딩하고 제공하기 전에 유효한 서비스 계정 JSON인지 확인합니다:base64 -d <<< "$GEMINI_CREDENTIALS" | jq '.type' # 예상 출력: "service_account"
TLS 인증서 검증
openai_compatible 엔드포인트와 함께 ca_cert_pem을 사용하는 경우 시크릿으로 제공하기 전에 인증서의 유효성을 검사합니다.
인증서가 PEM으로 인코딩되어 있고 만료되지 않았는지 확인합니다:
echo "<cert content>" | openssl x509 -noout -dates인증서가 엔드포인트의 CA 체인과 일치하는지 확인합니다:
openssl s_client -connect <host>:<port> -CAfile ca.peminsecure_skip_verify: true는 초기 연결 디버깅 중에만 일시적으로 사용할 수 있습니다. 프로덕션 운영 전에는 제거하세요. ca_cert_pem이 bob.modelGateway.secrets에 없는 환경 변수를 참조하는 경우 Inference Service는 정상적으로 시작되지만 추론 시 TLS가 실패합니다.
모델 검색 검증
제공자 블록의 model ID가 제공자가 노출하는 내용과 정확히 일치하는지 확인하세요. 불일치가 발생하면 시작 시가 아니라 추론 시 404 또는 model-not-found 오류가 발생합니다.
openai_compatible 엔드포인트의 경우 설치 전에 사용 가능한 모델 ID를 확인하세요:
curl -s https://<base_url>/v1/models \
-H "Authorization: Bearer <api_key>" | jq '.data[].id'일반적인 잘못된 구성 점검
| 잘못된 구성 | 증상 | 점검 방법 |
|---|---|---|
모델 구성의 시크릿 이름이 config.yaml secrets 블록의 키와 일치하지 않음 | 시작 시가 아닌 요청 시 인증 실패 | 모델 구성의 모든 env.* 참조를 bob.modelGateway.secrets 키와 비교 |
GEMINI_CREDENTIALS가 base64로 인코딩되지 않음 | Vertex 제공자가 시작 시 자격 증명 구문 분석 실패 | base64 -d <<< "$VALUE"를 실행하고 "type": "service_account"가 포함된 유효한 JSON인지 확인 |
base_url에 후행 / 또는 경로 접미사가 포함됨 | 제공자가 404를 반환함 | 후행 슬래시 제거 — 게이트웨이가 /v1/chat/completions와 같은 경로를 자체적으로 추가함 |
models 목록에 중복된 model_name 값 | 정의되지 않은 라우팅 동작 | 구성 전체에서 모든 model_name 값이 고유한지 확인 |
--model-config 없이 bobctl install 실행됨 | 게이트웨이가 비어 있고 추론 불가 | --model-config가 전달되었고 지정된 경로에서 파일을 읽을 수 있는지 확인 |
ca_cert_pem 환경 변수가 모델 구성에 정의되어 있지만 secrets에 누락됨 | 추론 시 TLS 실패 | 모델 구성의 모든 env.* 참조를 secrets 블록과 교차 확인 |