Niestandardowe porty
Cel
Niestandardowe porty pełnią kluczową rolę w publikowaniu interfejsów API lub aplikacji frontendowych w Internecie lub integracji różnych zasobów w ramach namespace'a. Te porty mogą być otwierane i zarządzane za pomocą funkcji CGC ingress.
Korzystanie z portów dla aplikacji
Aplikacje, takie jak interfejs frontendowy Streamlit lub FastAPI, mogą być uruchamiane z Jupyter notebook'a za pomocą wbudowanego terminala, a następnie publikowane za pomocą określonego portu za pośrednictwem funkcji CGC ingress.
Aby ograniczyć dostęp tylko w ramach Twojego namespace'a, możesz wykorzystać flagę --no-ingress
, zapobiegającą dostępowi w Internecie publicznym.
Zarządzanie portami zasobów obliczeniowych
CGC dostarcza zestaw poleceń do zarządzania portami powiązanymi z zasobami obliczeniowymi:
cgc compute port --help
To polecenie udostępnia kilka opcji:
add
: Dodaj port do uruchomionego zasobudelete
: Usuń port z uruchomionego zasobulist
: Wyświetl wszystkie porty dla uruchomionego zasobuupdate
: Zaktualizuj port w uruchomionym zasobie
Dodawanie portów
Aby otworzyć port dla określonego zasobu obliczeniowego:
cgc compute port add <RESOURCE_NAME> -n <PORT_NAME> -p <PORT_NUMBER>
Dla wewnętrznego użytku w ramach Twojego namespace'a, dodaj flagę -ni
lub --no-ingress
.
Wyświetlanie i usuwanie portów
Wyświetl wszystkie otwarte porty dla danego zasobu obliczeniowego:
cgc compute port list <RESOURCE_NAME>
Aby usunąć zbędny port:
cgc compute port delete <RESOURCE_NAME> -n <PORT_NAME>
Przykładowy scenariusz
Wyobraź sobie, że tworzysz interfejs frontendowy Streamlit dla aplikacji z akceleracją GPU. Oprócz domyślnej ścieżki prowadzącej do interfejsu webowego Jupyter, możesz wprowadzić suffix, np. /app
, aby obsłużyć swoją aplikację.
Konfiguracja aplikacji
Zakładając, że zasób obliczeniowy ma nazwę llm-testing w namespace dynamic-startup, bazowy adres URL do dostępu do interfejsu webowego środowiska deweloperskiego będzie wyglądał tak:
https://llm-testing.dynamic-startup.cgc-krk-01.comtegra.cloud/?token=YOUR-TOKEN
W ramach tego środowiska utworzyłeś skrypt Streamlit obsługujący interfejs frontendowy na porcie 9000.
Upewnij się, że host dla Twojej niestandardowej aplikacji zawsze wskazuje na 0.0.0.0, ponieważ jest ona skonteneryzowana, a trasowanie sieci jest zarządzane przez Kubernetes.
Tworzenie portu
Ponieważ Twój interfejs frontendowy jest obsługiwany wewnętrznie, inne pod-y lub ruch internetowy nie mogą się do niego dostać. Aby umożliwić dostęp, skonfiguruj nowy port:
cgc compute port add llm-testing -p 9000 -n custom-app
Twój zasób obliczeniowy zostanie ponownie załadowany.
Po zakończeniu ponownego załadowania port 9000 Twojego zasobu obliczeniowego (interfejs frontendowy Streamlit) będzie dostępny pod adresem:
https://llm-testing.dynamic-startup.cgc-krk-01.comtegra.cloud/custom-app
Aby ograniczyć dostęp tylko do sieci namespace'a, użyj flagi -ni
lub --no-ingress
.
Uwagi
Jeśli Twoja niestandardowa aplikacja nie posiada mechanizmu uwierzytelniania, będzie dostępna dla wszystkich. Bądź ostrożny, publikując wrażliwe dane. Zawsze używaj kluczy API lub uwierzytelniania, aby zabezpieczyć swoje endpoint'y.