Вы можете сделать это с помощью памяти кучи (через вызов malloc () ), как и другие ответы, описанные здесь, но вы всегда должны управлять памятью (используйте функцию free () каждый раз, когда вы вызываете свою функцию). Вы также можете сделать это со статическим массивом:
char* returnArrayPointer()
{
static char array[SIZE];
// do something in your array here
return array;
}
Вы можете использовать его, не беспокоясь об управлении памятью.
int main()
{
char* myArray = returnArrayPointer();
/* use your array here */
/* don't worry to free memory here */
}
В этом примере вы должны использовать статическое ключевое слово в определение массива, чтобы установить продолжительность жизни массива в приложении, поэтому он не будет уничтожен после оператора return. Разумеется, таким образом вы занимаете байты SIZE в своей памяти на весь срок службы приложения, поэтому его размер будет правильным!
Если вы просто пытаетесь выполнить быструю проверку, вы можете перенаправить порт на модуль - сделать kubectl get pods
, чтобы найти имя модуля и затем kubectl port-forward <pod-name> 8080:8080
или любой другой порт, который вы используете, если нет 8080. Затем вы можете нажать свою конечную точку в браузере или с помощью curl на localhost. Например, если у вас работает привод пружинного чехла, вы можете перейти к http://localhost:8080/actuator/health
.
Если вы пытаетесь получить доступ к Pod через Сервис, вы можете перенаправить порт в Сервис , но вы можете открыть Сервис снаружи. Вы захотите выбрать , как выставить его внешне , и настроить его. Тогда у вас будет внешний URL-адрес, который вы можете использовать, и вам не нужно будет обращаться к внутренним API-интерфейсам kube.
Также возможно создать URL для обращения к Сервису при прокси с kubectl proxy
. Например, вы можете нажать на привод в приложении с пружинной загрузкой, используя http (не https) с api/v1/namespaces/<namespace>/services/<http:><service_name>:<port_name>/proxy/actuator/health
. <port_name>
будет в спецификации сервиса, и вы найдете его в выходных данных kubectl describe service
.