Przejdź do głównej zawartości

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 zasobu
  • delete: Usuń port z uruchomionego zasobu
  • list: Wyświetl wszystkie porty dla uruchomionego zasobu
  • update: 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.

Uwaga

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
Zapisz swoją pracę

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.