- 21, Oct 2024
- #1
Я пытаюсь реализовать проверку жизнеспособности через код С# (основная структура .Net). Я просто хочу запустить команду Curl внутри контейнера так . Ниже приведен фрагмент кода с использованием kubernetesКлиент:
#region Assembly KubernetesClient, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a0f90e8c9af122d
using Newtonsoft.Json;
using System.Collections.Generic;
namespace k8s.Models
{
//
// Summary:
// ExecAction describes a "run in container" action.
public class V1ExecAction
{
//
// Summary:
// Initializes a new instance of the V1ExecAction class.
public V1ExecAction();
//
// Summary:
// Initializes a new instance of the V1ExecAction class.
//
// Parameters:
// command:
// Command is the command line to execute inside the container, the working directory
// for the command is root ('/') in the container's filesystem. The command is simply
// exec'd, it is not run inside a shell, so traditional shell instructions ('|',
// etc) won't work. To use a shell, you need to explicitly call out to that shell.
// Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
public V1ExecAction(IList<string> command = null);
//
// Summary:
// Gets or sets command is the command line to execute inside the container, the
// working directory for the command is root ('/') in the container's filesystem.
// The command is simply exec'd, it is not run inside a shell, so traditional shell
// instructions ('|', etc) won't work. To use a shell, you need to explicitly call
//out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
[JsonProperty(PropertyName = "command")]
public IList<string> Command { get; set; }
} }
Но получаю эту ошибку в описании модуля:
Ошибка проверки работоспособности: ошибка rpc: код = неизвестное описание = не удалось выполнитьexec в контейнере: не удалось запустить exec«a80d33b5b2046b8e606ed622da7085013a725»: Ошибка выполнения среды выполнения OCI: exec http://localhost:5001/checkhealth/не удалось: контейнер_linux. http://localhost:5001/checkhealth/
идти: 380
IList<string> command = new List<string>();
V1Probe livnessconfig = null;
command.Add("curl http://localhost:5001/checkhealth/");
V1ExecAction execommand = new V1ExecAction(command);
livnessconfig = new V1Probe { Exec = execommand, InitialDelaySeconds = 10, PeriodSeconds = 10, TimeoutSeconds = 5, FailureThreshold = 3 };
: запуск процесса контейнера вызвал: