mirror of
https://github.com/hanzo-ml/kserve.git
synced 2026-10-30 20:53:49 +00:00
40205 lines
1.7 MiB
Plaintext
Executable File
Generated
40205 lines
1.7 MiB
Plaintext
Executable File
Generated
#!/bin/bash
|
|
|
|
# Copyright 2025 The KServe Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Install KServe Knative Mode and all related dependencies with manifests included in the script.
|
|
#
|
|
# AUTO-GENERATED from: kserve-knative-mode-full-install-with-manifests.definition
|
|
# DO NOT EDIT MANUALLY
|
|
#
|
|
# To regenerate:
|
|
# ./scripts/generate-install-script.py kserve-knative-mode-full-install-with-manifests.definition
|
|
#
|
|
# Usage: kserve-knative-mode-full-install-with-manifests.sh [--reinstall|--uninstall]
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
#================================================
|
|
# Helper Functions (from common.sh)
|
|
#================================================
|
|
|
|
# Utility Functions
|
|
# ============================================================================
|
|
|
|
find_repo_root() {
|
|
local current_dir="${1:-$(pwd)}"
|
|
local skip="${2:-false}"
|
|
|
|
while [[ "$current_dir" != "/" ]]; do
|
|
if [[ -e "${current_dir}/.git" ]]; then
|
|
echo "$current_dir"
|
|
return 0
|
|
fi
|
|
current_dir="$(dirname "$current_dir")"
|
|
done
|
|
|
|
# Git repository not found
|
|
if [[ "$skip" == "true" ]]; then
|
|
log_warning "Could not find git repository root, using current directory: $PWD"
|
|
echo "$PWD"
|
|
return 0
|
|
else
|
|
log_error "Could not find git repository root"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
ensure_dir() {
|
|
local dir_path="${1}"
|
|
|
|
if [[ -d "${dir_path}" ]]; then
|
|
return 0
|
|
fi
|
|
|
|
mkdir -p "${dir_path}"
|
|
}
|
|
|
|
detect_os() {
|
|
local os=""
|
|
case "$(uname -s)" in
|
|
Linux*) os="linux" ;;
|
|
Darwin*) os="darwin" ;;
|
|
*) log_error "Unsupported OS detected: $(uname -s)" ; exit 1 ;;
|
|
esac
|
|
echo "$os"
|
|
}
|
|
|
|
detect_arch() {
|
|
local arch=""
|
|
case "$(uname -m)" in
|
|
x86_64) arch="amd64" ;;
|
|
aarch64|arm64) arch="arm64" ;;
|
|
*) log_error "Unsupported architecture detected: $(uname -m)" ; exit 1 ;;
|
|
esac
|
|
echo "$arch"
|
|
}
|
|
|
|
cleanup_bin_dir() {
|
|
# Remove BIN_DIR if it was created by this script
|
|
if [[ "${BIN_DIR_CREATED_BY_SCRIPT:-false}" == "true" ]] && [[ -d "${BIN_DIR:-}" ]]; then
|
|
log_info "Cleaning up BIN_DIR: ${BIN_DIR}"
|
|
rm -rf "${BIN_DIR}"
|
|
fi
|
|
}
|
|
|
|
cleanup() {
|
|
# Call all cleanup functions
|
|
cleanup_bin_dir
|
|
}
|
|
|
|
# Set up trap to run cleanup on exit
|
|
trap cleanup EXIT
|
|
|
|
# Color codes (disable if NO_COLOR is set or not a terminal)
|
|
if [[ -z "${NO_COLOR:-}" ]] && [[ -t 1 ]]; then
|
|
BLUE='\033[94m'
|
|
GREEN='\033[92m'
|
|
RED='\033[91m'
|
|
YELLOW='\033[93m'
|
|
RESET='\033[0m'
|
|
else
|
|
BLUE=''
|
|
GREEN=''
|
|
RED=''
|
|
YELLOW=''
|
|
RESET=''
|
|
fi
|
|
|
|
log_info() {
|
|
echo -e "${BLUE}[INFO]${RESET} $*" >&2
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${RESET} $*" >&2
|
|
}
|
|
|
|
log_success() {
|
|
echo -e "${GREEN}[SUCCESS]${RESET} $*" >&2
|
|
}
|
|
|
|
log_warning() {
|
|
echo -e "${YELLOW}[WARNING]${RESET} $*" >&2
|
|
}
|
|
|
|
is_positive() {
|
|
local input_val="${1:-no}"
|
|
|
|
case "${input_val}" in
|
|
0|true|True|yes|Yes|y|Y)
|
|
return 0 # Success - truthy
|
|
;;
|
|
1|false|False|no|No|n|N)
|
|
return 1 # Failure - falsy
|
|
;;
|
|
*)
|
|
return 2 # Invalid input
|
|
;;
|
|
esac
|
|
}
|
|
|
|
|
|
# ============================================================================
|
|
# Infrastructure Installation Helper Functions
|
|
# ============================================================================
|
|
|
|
# Detect the platform (kind/minikube/openshift/kubernetes)
|
|
# Returns: kind, minikube, openshift, or kubernetes
|
|
detect_platform() {
|
|
# Check for OpenShift
|
|
if kubectl get clusterversion &>/dev/null; then
|
|
echo "openshift"
|
|
return 0
|
|
fi
|
|
|
|
# Check for Kind
|
|
local node_hostname
|
|
node_hostname=$(kubectl get nodes -o jsonpath='{.items[0].metadata.labels.kubernetes\.io/hostname}' 2>/dev/null || echo "")
|
|
if [[ "$node_hostname" == *"kind"* ]]; then
|
|
echo "kind"
|
|
return 0
|
|
fi
|
|
|
|
# Check for Minikube
|
|
local current_context
|
|
current_context=$(kubectl config current-context 2>/dev/null || echo "")
|
|
if [[ "$current_context" == *"minikube"* ]]; then
|
|
echo "minikube"
|
|
return 0
|
|
fi
|
|
|
|
# Default to standard Kubernetes
|
|
echo "kubernetes"
|
|
return 0
|
|
}
|
|
|
|
# Wait for pods to be created (exist)
|
|
# Usage: wait_for_pods_created <namespace> <label-selector> [timeout_seconds]
|
|
wait_for_pods_created() {
|
|
local namespace="$1"
|
|
local label_selector="$2"
|
|
local timeout="${3:-60}"
|
|
local elapsed=0
|
|
|
|
log_info "Waiting for pods with label '$label_selector' in namespace '$namespace' to be created..."
|
|
|
|
while true; do
|
|
# Exclude terminating pods by filtering out Terminating status
|
|
local pod_count=$(kubectl get pods -n "$namespace" -l "$label_selector" \
|
|
--no-headers 2>/dev/null | grep -v "Terminating" | wc -l)
|
|
|
|
if [ "$pod_count" -gt 0 ]; then
|
|
log_info "Found $pod_count pod(s) with label '$label_selector'"
|
|
return 0
|
|
fi
|
|
|
|
if [ $elapsed -ge $timeout ]; then
|
|
log_error "Timeout waiting for pods with label '$label_selector' to be created"
|
|
return 1
|
|
fi
|
|
|
|
sleep 2
|
|
elapsed=$((elapsed + 2))
|
|
done
|
|
}
|
|
|
|
# Wait for pods to be ready
|
|
# Usage: wait_for_pods_ready <namespace> <label-selector> [timeout]
|
|
wait_for_pods_ready() {
|
|
local namespace="$1"
|
|
local label_selector="$2"
|
|
local timeout="${3:-180s}"
|
|
|
|
log_info "Waiting for pods with label '$label_selector' in namespace '$namespace' to be ready..."
|
|
|
|
# Get list of non-terminating pods and wait for them
|
|
local pods=$(kubectl get pods -n "$namespace" -l "$label_selector" \
|
|
--no-headers 2>/dev/null | grep -v "Terminating" | awk '{print $1}')
|
|
|
|
if [ -z "$pods" ]; then
|
|
log_error "No pods found with label '$label_selector' in namespace '$namespace'"
|
|
return 1
|
|
fi
|
|
|
|
for pod in $pods; do
|
|
kubectl wait --for=condition=Ready pod/"$pod" -n "$namespace" --timeout="$timeout" || return 1
|
|
done
|
|
}
|
|
|
|
# Wait for pods to be ready (combines both creation and ready checks)
|
|
# Usage: wait_for_pods <namespace> <label-selector> [timeout]
|
|
wait_for_pods() {
|
|
local namespace="$1"
|
|
local label_selector="$2"
|
|
local timeout="${3:-180s}"
|
|
|
|
# Convert timeout to seconds for pod creation check
|
|
local timeout_seconds="${timeout%s}"
|
|
local timeout_created=60
|
|
|
|
# If timeout is longer than 60s, use 60s for creation, rest for ready
|
|
# If timeout is shorter, split it
|
|
if [ "$timeout_seconds" -gt 60 ]; then
|
|
timeout_created=60
|
|
else
|
|
timeout_created=$((timeout_seconds / 3))
|
|
fi
|
|
|
|
# First, wait for pods to be created
|
|
wait_for_pods_created "$namespace" "$label_selector" "$timeout_created" || return 1
|
|
|
|
# Then, wait for pods to be ready
|
|
wait_for_pods_ready "$namespace" "$label_selector" "$timeout" || return 1
|
|
|
|
log_success "Pods with label '$label_selector' in namespace '$namespace' are ready!"
|
|
}
|
|
|
|
# Wait for deployment to be available using kubectl wait
|
|
# Usage: wait_for_deployment <namespace> <deployment-name> [timeout]
|
|
# Note: This uses kubectl wait --for=condition=Available, which checks deployment status directly
|
|
wait_for_deployment() {
|
|
local namespace="$1"
|
|
local deployment_name="$2"
|
|
local timeout="${3:-180s}"
|
|
|
|
log_info "Waiting for deployment '$deployment_name' in namespace '$namespace' to be available..."
|
|
if kubectl wait --timeout="$timeout" -n "$namespace" deployment/"$deployment_name" --for=condition=Available; then
|
|
log_success "Deployment '$deployment_name' in namespace '$namespace' is available!"
|
|
else
|
|
log_error "Deployment '$deployment_name' in namespace '$namespace' failed to become available within $timeout"
|
|
log_error "--- Deployment status ---"
|
|
kubectl get deployment "$deployment_name" -n "$namespace" -o wide 2>/dev/null || true
|
|
log_error "--- Pod status ---"
|
|
kubectl get pods -n "$namespace" -l "control-plane=$deployment_name" -o wide 2>/dev/null || true
|
|
log_error "--- Pod describe (last 50 lines) ---"
|
|
kubectl describe pods -n "$namespace" -l "control-plane=$deployment_name" 2>/dev/null | tail -50 || true
|
|
log_error "--- Recent events in namespace '$namespace' ---"
|
|
kubectl get events -n "$namespace" --sort-by='.lastTimestamp' 2>/dev/null | tail -20 || true
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Wait for CRD to be established
|
|
# Usage: wait_for_crd <crd-name> [timeout]
|
|
wait_for_crd() {
|
|
local crd_name="$1"
|
|
local timeout="${2:-60s}"
|
|
|
|
log_info "Waiting for CRD '$crd_name' to be established..."
|
|
|
|
# Add small delay to allow CRD status to be initialized
|
|
sleep 2
|
|
|
|
# Retry logic to handle race condition where .status.conditions may not be initialized yet
|
|
local max_retries=10
|
|
local retry=0
|
|
while [ $retry -lt $max_retries ]; do
|
|
if kubectl wait --for=condition=Established --timeout="$timeout" crd/"$crd_name" 2>/dev/null; then
|
|
return 0
|
|
fi
|
|
retry=$((retry + 1))
|
|
if [ $retry -lt $max_retries ]; then
|
|
log_info "Retry $retry/$max_retries: Waiting for CRD status to be initialized..."
|
|
sleep 3
|
|
fi
|
|
done
|
|
|
|
# Final attempt with error output
|
|
kubectl wait --for=condition=Established --timeout="$timeout" crd/"$crd_name"
|
|
}
|
|
|
|
# Wait for multiple CRDs to be established
|
|
# Usage: wait_for_crds <timeout> <crd1> <crd2> ...
|
|
wait_for_crds() {
|
|
local timeout="$1"
|
|
shift
|
|
|
|
for crd in "$@"; do
|
|
wait_for_crd "$crd" "$timeout" || return 1
|
|
done
|
|
|
|
log_success "All CRDs are established!"
|
|
}
|
|
|
|
# Update multiple fields in KServe inferenceservice-config ConfigMap
|
|
# Usage: update_isvc_config "ingress.enableGatewayApi=true" "deploy.defaultDeploymentMode=Standard"
|
|
# Example:
|
|
# update_isvc_config "ingress.enableGatewayApi=true"
|
|
# update_isvc_config "ingress.enableGatewayApi=true" "ingress.className=\"envoy\""
|
|
update_isvc_config() {
|
|
if [ $# -eq 0 ]; then
|
|
log_error "No update parameters provided"
|
|
return 1
|
|
fi
|
|
|
|
log_info "Updating inferenceservice-config..."
|
|
|
|
# Prepare updates as JSON array
|
|
local updates_file
|
|
updates_file=$(mktemp)
|
|
|
|
for arg in "$@"; do
|
|
local key="${arg%%=*}"
|
|
local raw_value="${arg#*=}"
|
|
local data_key="${key%%.*}"
|
|
local json_path="${key#*.}"
|
|
local value_json="$raw_value"
|
|
|
|
# Smart type detection: auto-quote strings, keep numbers/booleans/JSON as-is
|
|
if [[ ! $raw_value =~ ^\" ]] \
|
|
&& [[ ! $raw_value =~ ^-?[0-9]+(\.[0-9]+)?$ ]] \
|
|
&& [[ ! $raw_value =~ ^(true|false|null)$ ]] \
|
|
&& [[ ! $raw_value =~ ^[{\[] ]]; then
|
|
value_json=$(jq -Rn --arg v "$raw_value" '$v')
|
|
fi
|
|
|
|
jq -n \
|
|
--arg data_key "$data_key" \
|
|
--arg path "$json_path" \
|
|
--argjson value "$value_json" \
|
|
'{data_key:$data_key, path:$path, value:$value}' >> "$updates_file"
|
|
|
|
log_info " ✓ $data_key.$json_path = $value_json"
|
|
done
|
|
|
|
local updates_json
|
|
updates_json=$(jq -s '.' "$updates_file")
|
|
rm -f "$updates_file"
|
|
|
|
# Apply all updates with a single jq invocation
|
|
kubectl get configmap inferenceservice-config -n "${KSERVE_NAMESPACE}" -o json |
|
|
jq --argjson updates "$updates_json" '
|
|
# Helper function to safely set nested paths, creating intermediate objects as needed
|
|
def setpath_safe($parts; $value):
|
|
reduce range(0; ($parts|length)-1) as $i (.;
|
|
$parts[:$i+1] as $prefix
|
|
| if getpath($prefix) == null then setpath($prefix; {}) else . end
|
|
)
|
|
| setpath($parts; $value);
|
|
|
|
# Apply each update
|
|
reduce $updates[] as $item (.;
|
|
if .data[$item.data_key] == null or .data[$item.data_key] == "" then
|
|
.data[$item.data_key] = (
|
|
{}
|
|
| setpath_safe($item.path | split("."); $item.value)
|
|
| tojson
|
|
)
|
|
else
|
|
.data[$item.data_key] |= (
|
|
fromjson
|
|
| setpath_safe($item.path | split("."); $item.value)
|
|
| tojson
|
|
)
|
|
end
|
|
)
|
|
' |
|
|
kubectl apply -f -
|
|
|
|
log_success "ConfigMap updated successfully"
|
|
}
|
|
|
|
# Create namespace if it does not exist (skip if already exists)
|
|
# Usage: create_or_skip_namespace <namespace>
|
|
create_or_skip_namespace() {
|
|
local namespace="$1"
|
|
|
|
if kubectl get namespace "$namespace" &>/dev/null; then
|
|
log_info "Namespace '$namespace' already exists"
|
|
else
|
|
log_info "Creating namespace '$namespace'..."
|
|
kubectl create namespace "$namespace"
|
|
log_success "Namespace '$namespace' created"
|
|
fi
|
|
}
|
|
|
|
# Check if required CLI tools exist
|
|
# Usage: check_cli_exist <tool1> [tool2] [tool3] ...
|
|
check_cli_exist() {
|
|
local missing=()
|
|
for cmd in "$@"; do
|
|
if ! command_exists "$cmd"; then
|
|
missing+=("$cmd")
|
|
fi
|
|
done
|
|
|
|
if [ ${#missing[@]} -gt 0 ]; then
|
|
log_error "Required CLI tool(s) not found: ${missing[*]}"
|
|
log_error "Please install missing tool(s) first."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
command_exists() {
|
|
command -v "$1" &>/dev/null
|
|
}
|
|
|
|
# Retry a command with delay between attempts
|
|
# Usage: retry_command <max_attempts> <delay_seconds> <command...>
|
|
# Example: retry_command 3 5 kubectl apply -k "${RUNTIMES_DIR}"
|
|
# Returns: 0 on success, 1 on failure after all attempts
|
|
retry_command() {
|
|
local max_attempts="$1"
|
|
local delay="$2"
|
|
shift 2
|
|
local attempt=1
|
|
|
|
while [ $attempt -le $max_attempts ]; do
|
|
if "$@" 2>&1; then
|
|
return 0
|
|
fi
|
|
|
|
if [ $attempt -lt $max_attempts ]; then
|
|
log_warning "Command failed, retrying in ${delay} seconds... (attempt $attempt/$max_attempts)"
|
|
sleep "$delay"
|
|
else
|
|
log_error "Command failed after $max_attempts attempts"
|
|
return 1
|
|
fi
|
|
attempt=$((attempt + 1))
|
|
done
|
|
}
|
|
|
|
# Compare semantic versions (returns 0 if v1 >= v2, 1 otherwise)
|
|
# Usage: version_gte "v3.17.3" "v3.16.0"
|
|
# Example: version_gte "$current_version" "$required_version" && echo "OK"
|
|
version_gte() {
|
|
[ "$1" = "$(printf '%s\n' "$1" "$2" | sort -V | tail -1)" ]
|
|
}
|
|
|
|
# ============================================================================
|
|
# Shared Resources Configuration (for dual KServe + LLMISVC installation)
|
|
# ============================================================================
|
|
|
|
determine_shared_resources_config() {
|
|
local install_mode="${1}"
|
|
local enable_kserve="${2}"
|
|
local enable_llmisvc="${3}"
|
|
|
|
if ! is_positive "${enable_kserve}" && ! is_positive "${enable_llmisvc}"; then
|
|
return
|
|
fi
|
|
|
|
log_info "Determining shared resources configuration (KSERVE=${enable_kserve}, LLMISVC=${enable_llmisvc})..."
|
|
|
|
if [ "${install_mode}" = "helm" ]; then
|
|
determine_shared_resources_helm "${enable_kserve}" "${enable_llmisvc}"
|
|
elif [ "${install_mode}" = "kustomize" ]; then
|
|
determine_shared_resources_kustomize
|
|
else
|
|
log_error "INSTALL_MODE not set. Must be 'helm' or 'kustomize'"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
determine_shared_resources_helm() {
|
|
local enable_kserve="${1}"
|
|
local enable_llmisvc="${2}"
|
|
|
|
local kserve_installed=$(helm list -n "${KSERVE_NAMESPACE}" -q 2>/dev/null | grep -c "^kserve-resources$" || true)
|
|
local llmisvc_installed=$(helm list -n "${KSERVE_NAMESPACE}" -q 2>/dev/null | grep -c "^kserve-llmisvc-resources$" || true)
|
|
|
|
if [ "${kserve_installed}" = "0" ] && [ "${llmisvc_installed}" = "0" ]; then
|
|
# First installation - check which components are being enabled
|
|
if is_positive "${enable_kserve}" && is_positive "${enable_llmisvc}"; then
|
|
# Both enabled: kserve-resources installs first and creates shared resources
|
|
log_info "[Helm] First install (both) - kserve-resources creates shared resources, llmisvc-resources does not"
|
|
LLMISVC_EXTRA_ARGS="${LLMISVC_EXTRA_ARGS:-} --set kserve.createSharedResources=false"
|
|
elif is_positive "${enable_kserve}" && ! is_positive "${enable_llmisvc}"; then
|
|
# Only kserve enabled: kserve-resources creates shared resources
|
|
log_info "[Helm] First install (kserve only) - kserve-resources will create shared resources"
|
|
# Use default value (true) - no extra args needed
|
|
elif ! is_positive "${enable_kserve}" && is_positive "${enable_llmisvc}"; then
|
|
# Only llmisvc enabled: llmisvc-resources creates shared resources
|
|
log_info "[Helm] First install (llmisvc only) - llmisvc-resources will create shared resources"
|
|
# Use default value (true) - no extra args needed
|
|
else
|
|
# Neither enabled - shouldn't reach here
|
|
log_error "[Helm] No components enabled"
|
|
return 1
|
|
fi
|
|
elif [ "${kserve_installed}" = "1" ] && [ "${llmisvc_installed}" = "0" ]; then
|
|
log_info "[Helm] Only kserve-resources installed - setting createSharedResources=false for LLMISVC"
|
|
LLMISVC_EXTRA_ARGS="${LLMISVC_EXTRA_ARGS:-} --set kserve.createSharedResources=false"
|
|
elif [ "${kserve_installed}" = "0" ] && [ "${llmisvc_installed}" = "1" ]; then
|
|
log_info "[Helm] Only kserve-llmisvc-resources installed - setting createSharedResources=false for KSERVE"
|
|
KSERVE_EXTRA_ARGS="${KSERVE_EXTRA_ARGS:-} --set kserve.createSharedResources=false"
|
|
else
|
|
local kserve_has_false=$(helm get values kserve-resources -n "${KSERVE_NAMESPACE}" 2>/dev/null | grep -c "createSharedResources: false" || true)
|
|
|
|
if [ "${kserve_has_false}" = "1" ]; then
|
|
log_info "[Helm] Maintaining createSharedResources=false for KSERVE"
|
|
KSERVE_EXTRA_ARGS="${KSERVE_EXTRA_ARGS:-} --set kserve.createSharedResources=false"
|
|
else
|
|
log_info "[Helm] Setting createSharedResources=false for LLMISVC"
|
|
LLMISVC_EXTRA_ARGS="${LLMISVC_EXTRA_ARGS:-} --set kserve.createSharedResources=false"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
determine_shared_resources_kustomize() {
|
|
KSERVE_INSTALLED=$(kubectl get deployment kserve-controller-manager -n "${KSERVE_NAMESPACE}" 2>/dev/null | grep -c "kserve-controller-manager" || true)
|
|
LLMISVC_INSTALLED=$(kubectl get deployment llmisvc-controller-manager -n "${KSERVE_NAMESPACE}" 2>/dev/null | grep -c "llmisvc-controller-manager" || true)
|
|
|
|
export KSERVE_INSTALLED
|
|
export LLMISVC_INSTALLED
|
|
|
|
log_info "[Kustomize] Installation status(0: not installed, 1: installed): KSERVE=${KSERVE_INSTALLED}, LLMISVC=${LLMISVC_INSTALLED}"
|
|
}
|
|
|
|
# ============================================================================
|
|
|
|
# Set environment variable based on priority order:
|
|
# Priority: 1. Runtime env > 2. Component env > 3. Global env > 4. Component default
|
|
# Usage: set_env_with_priority VAR_NAME COMPONENT_ENV_VALUE GLOBAL_ENV_VALUE DEFAULT_VALUE
|
|
set_env_with_priority() {
|
|
local var_name="$1"
|
|
local component_value="$2"
|
|
local global_value="$3"
|
|
local default_value="$4"
|
|
|
|
# Get current value
|
|
local current_value
|
|
eval "current_value=\${${var_name}}"
|
|
|
|
# If current value exists and differs from default, it's a runtime value - keep it
|
|
if [ -n "$current_value" ] && [ -n "$default_value" ] && [ "$current_value" != "$default_value" ]; then
|
|
# This is a runtime value, keep it
|
|
return
|
|
fi
|
|
|
|
# Apply priority: component env > global env > default
|
|
if [ -n "$component_value" ]; then
|
|
eval "export $var_name=\"$component_value\""
|
|
elif [ -n "$global_value" ]; then
|
|
eval "export $var_name=\"$global_value\""
|
|
fi
|
|
# If both are empty, variable keeps its default value
|
|
}
|
|
|
|
#================================================
|
|
# Determine repository root using find_repo_root
|
|
#================================================
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-.}")" && pwd)"
|
|
REPO_ROOT="$(find_repo_root "${SCRIPT_DIR}" "true")"
|
|
export REPO_ROOT
|
|
|
|
# Set up BIN_DIR - use repo bin if it exists, otherwise use temp directory
|
|
if [[ -d "${REPO_ROOT}/bin" ]]; then
|
|
export BIN_DIR="${REPO_ROOT}/bin"
|
|
else
|
|
export BIN_DIR="$(mktemp -d)"
|
|
log_info "Using temp BIN_DIR: ${BIN_DIR}"
|
|
fi
|
|
|
|
export PATH="${BIN_DIR}:${PATH}"
|
|
|
|
REINSTALL="${REINSTALL:-false}"
|
|
UNINSTALL="${UNINSTALL:-false}"
|
|
FORCE_UPGRADE="${FORCE_UPGRADE:-false}"
|
|
|
|
if [[ "$*" == *"--uninstall"* ]]; then
|
|
UNINSTALL=true
|
|
elif [[ "$*" == *"--reinstall"* ]]; then
|
|
REINSTALL=true
|
|
elif [[ "$*" == *"--force-upgrade"* ]]; then
|
|
FORCE_UPGRADE=true
|
|
fi
|
|
|
|
export REINSTALL
|
|
export UNINSTALL
|
|
export FORCE_UPGRADE
|
|
|
|
# RELEASE mode (from definition file)
|
|
RELEASE="false"
|
|
export RELEASE
|
|
|
|
#================================================
|
|
# Version Dependencies (from kserve-deps.env)
|
|
#================================================
|
|
|
|
GOLANGCI_LINT_VERSION=v2.9.0
|
|
CONTROLLER_TOOLS_VERSION=v0.19.0
|
|
ENVTEST_VERSION=release-0.19
|
|
YQ_VERSION=v4.52.1
|
|
HELM_VERSION=v3.16.3
|
|
KUSTOMIZE_VERSION=v5.8.1
|
|
HELM_DOCS_VERSION=v1.12.0
|
|
POETRY_VERSION=1.8.3
|
|
UV_VERSION=0.7.8
|
|
RUFF_VERSION=0.14.13
|
|
PINACT_VERSION=v3.9.0
|
|
KIND_VERSION=v0.30.0
|
|
CERT_MANAGER_VERSION=v1.17.0
|
|
ENVOY_GATEWAY_VERSION=v1.7.0
|
|
ENVOY_AI_GATEWAY_VERSION=v0.6.0
|
|
KNATIVE_OPERATOR_VERSION=v1.21.1
|
|
KNATIVE_SERVING_VERSION=1.21.1
|
|
KEDA_OTEL_ADDON_VERSION=v0.0.6
|
|
PROMETHEUS_VERSION=83.4.0
|
|
PROMETHEUS_ADAPTER_VERSION=5.3.0
|
|
JAEGER_VERSION=4.7.0
|
|
KSERVE_VERSION=v0.19.0
|
|
ISTIO_VERSION=1.27.1
|
|
KEDA_VERSION=2.18.0
|
|
OPENTELEMETRY_OPERATOR_VERSION=0.74.3
|
|
LWS_VERSION=v0.8.0
|
|
GATEWAY_API_VERSION=v1.5.1
|
|
GIE_VERSION=v1.5.0
|
|
WVA_VERSION=v0.7.0
|
|
|
|
#================================================
|
|
# Global Variables (from global-vars.env)
|
|
#================================================
|
|
# These provide default namespace values that can be overridden
|
|
# by environment variables or GLOBAL_ENV settings below
|
|
|
|
KEDA_NAMESPACE="${KEDA_NAMESPACE:-keda}"
|
|
KSERVE_NAMESPACE="${KSERVE_NAMESPACE:-kserve}"
|
|
PROMETHEUS_NAMESPACE="${PROMETHEUS_NAMESPACE:-monitoring}"
|
|
PROMETHEUS_ADAPTER_NAMESPACE="${PROMETHEUS_ADAPTER_NAMESPACE:-monitoring}"
|
|
WVA_NAMESPACE="${WVA_NAMESPACE:-wva-system}"
|
|
OTEL_NAMESPACE="${OTEL_NAMESPACE:-opentelemetry-operator}"
|
|
OPERATOR_NAMESPACE="${OPERATOR_NAMESPACE:-knative-operator}"
|
|
SERVING_NAMESPACE="${SERVING_NAMESPACE:-knative-serving}"
|
|
ISTIO_NAMESPACE="${ISTIO_NAMESPACE:-istio-system}"
|
|
GATEWAY_NAMESPACE="${GATEWAY_NAMESPACE:-kserve}"
|
|
DEPLOYMENT_MODE="${DEPLOYMENT_MODE:-Knative}"
|
|
GATEWAY_NETWORK_LAYER="${GATEWAY_NETWORK_LAYER:-false}"
|
|
ENABLE_KSERVE="${ENABLE_KSERVE:-true}"
|
|
ENABLE_LLMISVC="${ENABLE_LLMISVC:-false}"
|
|
ENABLE_LOCALMODEL="${ENABLE_LOCALMODEL:-false}"
|
|
EMBED_MANIFESTS="${EMBED_MANIFESTS:-false}"
|
|
EMBED_TEMPLATES="${EMBED_TEMPLATES:-false}"
|
|
KSERVE_CUSTOM_ISVC_CONFIGS="${KSERVE_CUSTOM_ISVC_CONFIGS:-}"
|
|
|
|
#================================================
|
|
# Component-Specific Variables
|
|
#================================================
|
|
|
|
NETWORK_LAYER="${NETWORK_LAYER:-istio}"
|
|
TEMPLATE_DIR="${SCRIPT_DIR}/templates"
|
|
SET_KSERVE_VERSION="${SET_KSERVE_VERSION:-}"
|
|
SET_KSERVE_REGISTRY="${SET_KSERVE_REGISTRY:-}"
|
|
ENABLE_KSERVE="${ENABLE_KSERVE:-${KSERVE:-true}}"
|
|
ENABLE_LLMISVC="${ENABLE_LLMISVC:-${LLMISVC:-false}}"
|
|
ENABLE_LOCALMODEL="${ENABLE_LOCALMODEL:-${LOCALMODEL:-false}}"
|
|
KSERVE_OVERLAY_DIR="${KSERVE_OVERLAY_DIR:-}"
|
|
USE_LOCAL_CONFIGMAP="${USE_LOCAL_CONFIGMAP:-false}"
|
|
KSERVE_INSTALLED="${KSERVE_INSTALLED:-0}"
|
|
LLMISVC_INSTALLED="${LLMISVC_INSTALLED:-0}"
|
|
INSTALL_RUNTIMES="${INSTALL_RUNTIMES:-${ENABLE_KSERVE:-false}}"
|
|
INSTALL_LLMISVC_CONFIGS="${INSTALL_LLMISVC_CONFIGS:-${ENABLE_LLMISVC:-false}}"
|
|
FORCE_UPGRADE="${FORCE_UPGRADE:-false}"
|
|
TARGET_CRD_DIRS=()
|
|
TARGET_DEPLOYMENT_NAMES=()
|
|
TARGET_OVERLAY_DIRS=()
|
|
TARGET_CRDS_TO_VERIFY=()
|
|
|
|
#================================================
|
|
# Template Functions (EMBED_TEMPLATES MODE)
|
|
#================================================
|
|
|
|
# ============================================================================
|
|
# Template Functions: knative-operator
|
|
# ============================================================================
|
|
|
|
get_knative_serving_istio() {
|
|
cat <<'KNATIVE_SERVING_ISTIO_EOF'
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: knative-serving
|
|
---
|
|
apiVersion: operator.knative.dev/v1beta1
|
|
kind: KnativeServing
|
|
metadata:
|
|
name: knative-serving
|
|
namespace: knative-serving
|
|
spec:
|
|
version: "1.21.1"
|
|
config:
|
|
deployment:
|
|
# Skip tag resolution for certain domains
|
|
registries-skipping-tag-resolving: "nvcr.io,index.docker.io"
|
|
domain:
|
|
# Patch the external domain as the default domain svc.cluster.local is not exposed on ingress (from knative 1.8)
|
|
example.com: ""
|
|
workloads:
|
|
- name: controller
|
|
resources:
|
|
- container: controller
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: activator
|
|
resources:
|
|
- container: activator
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: autoscaler
|
|
resources:
|
|
- container: autoscaler
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: domain-mapping
|
|
resources:
|
|
- container: domain-mapping
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: webhook
|
|
resources:
|
|
- container: webhook
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: domainmapping-webhook
|
|
resources:
|
|
- container: domainmapping-webhook
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: net-istio-controller
|
|
resources:
|
|
- container: controller
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: net-istio-webhook
|
|
resources:
|
|
- container: webhook
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
KNATIVE_SERVING_ISTIO_EOF
|
|
}
|
|
|
|
get_knative_serving_kourier() {
|
|
cat <<'KNATIVE_SERVING_KOURIER_EOF'
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: knative-serving
|
|
---
|
|
apiVersion: operator.knative.dev/v1beta1
|
|
kind: KnativeServing
|
|
metadata:
|
|
name: knative-serving
|
|
namespace: knative-serving
|
|
spec:
|
|
version: "1.21.1"
|
|
ingress:
|
|
kourier:
|
|
enabled: true
|
|
config:
|
|
network:
|
|
ingress-class: "kourier.ingress.networking.knative.dev"
|
|
deployment:
|
|
# Skip tag resolution for certain domains
|
|
registries-skipping-tag-resolving: "nvcr.io,index.docker.io"
|
|
domain:
|
|
# Patch the external domain as the default domain svc.cluster.local is not exposed on ingress (from knative 1.8)
|
|
example.com: ""
|
|
workloads:
|
|
- name: controller
|
|
resources:
|
|
- container: controller
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: activator
|
|
resources:
|
|
- container: activator
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: autoscaler
|
|
resources:
|
|
- container: autoscaler
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: domain-mapping
|
|
resources:
|
|
- container: domain-mapping
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: webhook
|
|
resources:
|
|
- container: webhook
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: domainmapping-webhook
|
|
resources:
|
|
- container: domainmapping-webhook
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: net-kourier-controller
|
|
resources:
|
|
- container: controller
|
|
requests:
|
|
cpu: 5m
|
|
memory: 32Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
- name: 3scale-kourier-gateway
|
|
resources:
|
|
- container: kourier-gateway
|
|
requests:
|
|
cpu: 200m
|
|
memory: 200Mi
|
|
limits:
|
|
cpu: 300m
|
|
memory: 500Mi
|
|
KNATIVE_SERVING_KOURIER_EOF
|
|
}
|
|
|
|
|
|
|
|
#================================================
|
|
# Component Functions
|
|
#================================================
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: helm
|
|
# ----------------------------------------
|
|
|
|
|
|
|
|
install_helm() {
|
|
local os=$(detect_os)
|
|
local arch=$(detect_arch)
|
|
local archive_name="helm-${HELM_VERSION}-${os}-${arch}.tar.gz"
|
|
local download_url="https://get.helm.sh/${archive_name}"
|
|
|
|
log_info "Installing Helm ${HELM_VERSION} for ${os}/${arch}..."
|
|
|
|
# Check if helm is already installed in BIN_DIR with the exact required version
|
|
if [[ -f "${BIN_DIR}/helm" ]]; then
|
|
local current_version=$("${BIN_DIR}/helm" version --template='{{.Version}}' 2>/dev/null)
|
|
if [[ "$current_version" == "$HELM_VERSION" ]]; then
|
|
log_info "Helm ${current_version} is already installed in ${BIN_DIR}"
|
|
return 0
|
|
fi
|
|
[[ -n "$current_version" ]] && log_info "Replacing Helm ${current_version} with ${HELM_VERSION} in ${BIN_DIR}..."
|
|
fi
|
|
|
|
local temp_dir=$(mktemp -d)
|
|
local temp_file="${temp_dir}/${archive_name}"
|
|
|
|
if command -v wget &>/dev/null; then
|
|
wget -q "${download_url}" -O "${temp_file}"
|
|
elif command -v curl &>/dev/null; then
|
|
curl -sL "${download_url}" -o "${temp_file}"
|
|
else
|
|
log_error "Neither wget nor curl is available" >&2
|
|
rm -rf "${temp_dir}"
|
|
exit 1
|
|
fi
|
|
|
|
tar -xzf "${temp_file}" -C "${temp_dir}"
|
|
|
|
local binary_path="${temp_dir}/${os}-${arch}/helm"
|
|
|
|
if [[ ! -f "${binary_path}" ]]; then
|
|
log_error "helm binary not found in archive" >&2
|
|
rm -rf "${temp_dir}"
|
|
exit 1
|
|
fi
|
|
|
|
chmod +x "${binary_path}"
|
|
|
|
if [[ -w "${BIN_DIR}" ]]; then
|
|
mv "${binary_path}" "${BIN_DIR}/helm"
|
|
else
|
|
sudo mv "${binary_path}" "${BIN_DIR}/helm"
|
|
fi
|
|
|
|
rm -rf "${temp_dir}"
|
|
|
|
log_success "Successfully installed Helm ${HELM_VERSION} to ${BIN_DIR}/helm"
|
|
"${BIN_DIR}/helm" version
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: kustomize
|
|
# ----------------------------------------
|
|
|
|
|
|
|
|
install_kustomize() {
|
|
local os=$(detect_os)
|
|
local arch=$(detect_arch)
|
|
local archive_name="kustomize_${KUSTOMIZE_VERSION}_${os}_${arch}.tar.gz"
|
|
local download_url="https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F${KUSTOMIZE_VERSION}/${archive_name}"
|
|
|
|
log_info "Installing Kustomize ${KUSTOMIZE_VERSION} for ${os}/${arch}..."
|
|
|
|
if [[ -x "${BIN_DIR}/kustomize" ]]; then
|
|
local current_version=$("${BIN_DIR}/kustomize" version 2>/dev/null | awk 'match($0, /v[0-9.]+/) {print substr($0, RSTART, RLENGTH)}')
|
|
if [[ -n "$current_version" ]] && version_gte "$current_version" "$KUSTOMIZE_VERSION"; then
|
|
log_info "Kustomize ${current_version} is already installed in ${BIN_DIR} (>= ${KUSTOMIZE_VERSION})"
|
|
return 0
|
|
fi
|
|
[[ -n "$current_version" ]] && log_info "Upgrading Kustomize from ${current_version} to ${KUSTOMIZE_VERSION}..."
|
|
fi
|
|
|
|
local temp_dir=$(mktemp -d)
|
|
local temp_file="${temp_dir}/${archive_name}"
|
|
|
|
if command -v wget &>/dev/null; then
|
|
wget -q "${download_url}" -O "${temp_file}"
|
|
elif command -v curl &>/dev/null; then
|
|
curl -sL "${download_url}" -o "${temp_file}"
|
|
else
|
|
log_error "Neither wget nor curl is available" >&2
|
|
rm -rf "${temp_dir}"
|
|
exit 1
|
|
fi
|
|
|
|
tar -xzf "${temp_file}" -C "${temp_dir}"
|
|
|
|
local binary_path="${temp_dir}/kustomize"
|
|
|
|
if [[ ! -f "${binary_path}" ]]; then
|
|
log_error "kustomize binary not found in archive" >&2
|
|
rm -rf "${temp_dir}"
|
|
exit 1
|
|
fi
|
|
|
|
chmod +x "${binary_path}"
|
|
|
|
if [[ -w "${BIN_DIR}" ]]; then
|
|
mv "${binary_path}" "${BIN_DIR}/kustomize"
|
|
else
|
|
sudo mv "${binary_path}" "${BIN_DIR}/kustomize"
|
|
fi
|
|
|
|
rm -rf "${temp_dir}"
|
|
|
|
log_success "Successfully installed Kustomize ${KUSTOMIZE_VERSION} to ${BIN_DIR}/kustomize"
|
|
"${BIN_DIR}/kustomize" version
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: yq
|
|
# ----------------------------------------
|
|
|
|
|
|
|
|
install_yq() {
|
|
local os=$(detect_os)
|
|
local arch=$(detect_arch)
|
|
local binary_name="yq_${os}_${arch}"
|
|
local download_url="https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/${binary_name}"
|
|
|
|
log_info "Installing yq ${YQ_VERSION} for ${os}/${arch}..."
|
|
|
|
if [[ -x "${BIN_DIR}/yq" ]]; then
|
|
local current_version=$("${BIN_DIR}/yq" --version 2>&1 | awk 'match($0, /v[0-9.]+/) {print substr($0, RSTART, RLENGTH)}')
|
|
# Normalize version format (add 'v' prefix if missing)
|
|
[[ -n "$current_version" && "$current_version" != v* ]] && current_version="v${current_version}"
|
|
if [[ -n "$current_version" ]] && version_gte "$current_version" "$YQ_VERSION"; then
|
|
log_info "yq ${current_version} is already installed in ${BIN_DIR} (>= ${YQ_VERSION})"
|
|
return 0
|
|
fi
|
|
[[ -n "$current_version" ]] && log_info "Upgrading yq from ${current_version} to ${YQ_VERSION}..."
|
|
fi
|
|
|
|
local temp_file=$(mktemp)
|
|
|
|
if command -v wget &>/dev/null; then
|
|
wget -q "${download_url}" -O "${temp_file}"
|
|
elif command -v curl &>/dev/null; then
|
|
curl -sL "${download_url}" -o "${temp_file}"
|
|
else
|
|
log_info "Neither wget nor curl is available" >&2
|
|
rm -f "${temp_file}"
|
|
exit 1
|
|
fi
|
|
|
|
chmod +x "${temp_file}"
|
|
|
|
if [[ -w "${BIN_DIR}" ]]; then
|
|
mv "${temp_file}" "${BIN_DIR}/yq"
|
|
else
|
|
sudo mv "${temp_file}" "${BIN_DIR}/yq"
|
|
fi
|
|
|
|
log_success "Successfully installed yq ${YQ_VERSION} to ${BIN_DIR}/yq"
|
|
"${BIN_DIR}/yq" --version
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: cert-manager
|
|
# ----------------------------------------
|
|
|
|
uninstall_cert_manager() {
|
|
log_info "Uninstalling cert-manager..."
|
|
helm uninstall cert-manager -n cert-manager 2>/dev/null || true
|
|
kubectl delete all --all -n cert-manager --force --grace-period=0 2>/dev/null || true
|
|
kubectl delete namespace cert-manager --wait=true --timeout=60s --force --grace-period=0 2>/dev/null || true
|
|
log_success "cert-manager uninstalled"
|
|
}
|
|
|
|
install_cert_manager() {
|
|
if helm list -n cert-manager 2>/dev/null | grep -q "cert-manager"; then
|
|
if [ "$REINSTALL" = false ]; then
|
|
log_info "cert-manager is already installed. Use --reinstall to reinstall."
|
|
return 0
|
|
else
|
|
log_info "Reinstalling cert-manager..."
|
|
uninstall_cert_manager
|
|
fi
|
|
fi
|
|
|
|
log_info "Adding cert-manager Helm repository..."
|
|
helm repo add jetstack https://charts.jetstack.io --force-update
|
|
|
|
log_info "Installing cert-manager ${CERT_MANAGER_VERSION}..."
|
|
helm install \
|
|
cert-manager jetstack/cert-manager \
|
|
--namespace cert-manager \
|
|
--create-namespace \
|
|
--version "${CERT_MANAGER_VERSION}" \
|
|
--set crds.enabled=true \
|
|
--wait
|
|
|
|
log_success "Successfully installed cert-manager ${CERT_MANAGER_VERSION} via Helm"
|
|
|
|
wait_for_pods "cert-manager" "app in (cert-manager,webhook,cainjector)" "180s"
|
|
|
|
log_success "cert-manager is ready!"
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: istio
|
|
# ----------------------------------------
|
|
|
|
uninstall_istio() {
|
|
log_info "Uninstalling Istio..."
|
|
helm uninstall istio-ingressgateway -n "${ISTIO_NAMESPACE}" 2>/dev/null || true
|
|
helm uninstall istiod -n "${ISTIO_NAMESPACE}" 2>/dev/null || true
|
|
helm uninstall istio-base -n "${ISTIO_NAMESPACE}" 2>/dev/null || true
|
|
kubectl delete all --all -n "${ISTIO_NAMESPACE}" --force --grace-period=0 2>/dev/null || true
|
|
kubectl delete namespace "${ISTIO_NAMESPACE}" --wait=true --timeout=60s --force --grace-period=0 2>/dev/null || true
|
|
log_success "Istio uninstalled"
|
|
}
|
|
|
|
install_istio() {
|
|
if helm list -n "${ISTIO_NAMESPACE}" 2>/dev/null | grep -q "istio-base"; then
|
|
if [ "$REINSTALL" = false ]; then
|
|
log_info "Istio is already installed. Use --reinstall to reinstall."
|
|
return 0
|
|
else
|
|
log_info "Reinstalling Istio..."
|
|
uninstall_istio
|
|
fi
|
|
fi
|
|
|
|
log_info "Adding Istio Helm repository..."
|
|
helm repo add istio https://istio-release.storage.googleapis.com/charts --force-update
|
|
|
|
log_info "Installing istio-base ${ISTIO_VERSION}..."
|
|
helm install istio-base istio/base \
|
|
--namespace "${ISTIO_NAMESPACE}" \
|
|
--create-namespace \
|
|
--version "${ISTIO_VERSION}" \
|
|
--set defaultRevision=default \
|
|
--wait \
|
|
${ISTIO_BASE_EXTRA_ARGS:-}
|
|
|
|
log_info "Installing istiod ${ISTIO_VERSION}..."
|
|
helm install istiod istio/istiod \
|
|
--namespace "${ISTIO_NAMESPACE}" \
|
|
--version "${ISTIO_VERSION}" \
|
|
--set proxy.autoInject=disabled \
|
|
--set pilot.env.ENABLE_GATEWAY_API_INFERENCE_EXTENSION=true \
|
|
--set-string pilot.podAnnotations."cluster-autoscaler\.kubernetes\.io/safe-to-evict"=true \
|
|
--wait \
|
|
${ISTIOD_EXTRA_ARGS:-}
|
|
|
|
log_info "Installing istio-ingressgateway ${ISTIO_VERSION}..."
|
|
helm install istio-ingressgateway istio/gateway \
|
|
--namespace "${ISTIO_NAMESPACE}" \
|
|
--version "${ISTIO_VERSION}" \
|
|
--set-string podAnnotations."cluster-autoscaler\.kubernetes\.io/safe-to-evict"=true \
|
|
${ISTIO_GATEWAY_EXTRA_ARGS:-}
|
|
|
|
log_success "Successfully installed Istio ${ISTIO_VERSION} via Helm"
|
|
|
|
wait_for_pods "${ISTIO_NAMESPACE}" "app=istiod" "600s"
|
|
wait_for_pods "${ISTIO_NAMESPACE}" "app=istio-ingressgateway" "600s"
|
|
|
|
log_success "Istio is ready!"
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: istio-ingress-class
|
|
# ----------------------------------------
|
|
|
|
uninstall_istio_ingress_class() {
|
|
log_info "Deleting Istio IngressClass 'istio'..."
|
|
kubectl delete ingressclass "istio" --ignore-not-found=true --force --grace-period=0 2>/dev/null || true
|
|
log_success "Istio IngressClass 'istio' deleted"
|
|
}
|
|
|
|
install_istio_ingress_class() {
|
|
if kubectl get ingressclass "istio" &>/dev/null; then
|
|
if [ "$REINSTALL" = false ]; then
|
|
log_info "Istio IngressClass 'istio' already exists. Use --reinstall to recreate."
|
|
return 0
|
|
else
|
|
log_info "Recreating Istio IngressClass 'istio'..."
|
|
uninstall_istio_ingress_class
|
|
fi
|
|
fi
|
|
|
|
log_info "Creating Istio IngressClass 'istio'..."
|
|
cat <<EOF | kubectl apply -f -
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: IngressClass
|
|
metadata:
|
|
name: istio
|
|
spec:
|
|
controller: istio.io/ingress-controller
|
|
EOF
|
|
|
|
log_success "Istio IngressClass 'istio' created successfully!"
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: knative-operator
|
|
# ----------------------------------------
|
|
|
|
uninstall_knative_operator() {
|
|
log_info "Uninstalling Knative Serving..."
|
|
|
|
if [ "$EMBED_TEMPLATES" = "true" ]; then
|
|
get_knative_serving_${NETWORK_LAYER} | \
|
|
kubectl delete -f - --ignore-not-found=true --force --grace-period=0 2>/dev/null || true
|
|
else
|
|
kubectl delete -f "${TEMPLATE_DIR}/knative-serving-${NETWORK_LAYER}.yaml" --ignore-not-found=true --force --grace-period=0 2>/dev/null || true
|
|
fi
|
|
|
|
kubectl delete all --all -n "${SERVING_NAMESPACE}" --force --grace-period=0 2>/dev/null || true
|
|
kubectl delete namespace "${SERVING_NAMESPACE}" --wait=true --timeout=60s --force --grace-period=0 2>/dev/null || true
|
|
|
|
log_info "Uninstalling Knative Operator..."
|
|
helm uninstall knative-operator -n "${OPERATOR_NAMESPACE}" 2>/dev/null || true
|
|
kubectl delete all --all -n "${OPERATOR_NAMESPACE}" --force --grace-period=0 2>/dev/null || true
|
|
kubectl delete namespace "${OPERATOR_NAMESPACE}" --wait=true --timeout=60s --force --grace-period=0 2>/dev/null || true
|
|
|
|
log_success "Knative uninstalled"
|
|
}
|
|
|
|
install_knative_operator() {
|
|
log_info "Network layer: ${NETWORK_LAYER}"
|
|
|
|
if helm list -n "${OPERATOR_NAMESPACE}" 2>/dev/null | grep -q "knative-operator"; then
|
|
if [ "$REINSTALL" = false ]; then
|
|
log_info "Knative Operator is already installed. Checking Knative Serving..."
|
|
|
|
if kubectl get knativeserving knative-serving -n "${SERVING_NAMESPACE}" &>/dev/null; then
|
|
log_info "Knative Serving is already deployed. Use --reinstall to reinstall."
|
|
return 0
|
|
fi
|
|
else
|
|
log_info "Reinstalling Knative..."
|
|
uninstall_knative_operator
|
|
fi
|
|
fi
|
|
|
|
log_info "Installing Knative Operator ${KNATIVE_OPERATOR_VERSION}..."
|
|
|
|
if [[ "${KNATIVE_OPERATOR_VERSION}" == v* ]]; then
|
|
OPERATOR_CHART_URL="https://github.com/knative/operator/releases/download/knative-${KNATIVE_OPERATOR_VERSION}/knative-operator-${KNATIVE_OPERATOR_VERSION}.tgz"
|
|
log_info "Using GitHub release: ${OPERATOR_CHART_URL}"
|
|
|
|
# shellcheck disable=SC2086
|
|
helm install knative-operator \
|
|
--namespace "${OPERATOR_NAMESPACE}" \
|
|
--create-namespace \
|
|
--wait \
|
|
${KNATIVE_OPERATOR_EXTRA_ARGS:-} \
|
|
"${OPERATOR_CHART_URL}"
|
|
else
|
|
log_info "Adding Knative Operator Helm repository..."
|
|
helm repo add knative-operator https://knative.github.io/operator --force-update
|
|
|
|
# shellcheck disable=SC2086
|
|
helm install knative-operator knative-operator/knative-operator \
|
|
--namespace "${OPERATOR_NAMESPACE}" \
|
|
--create-namespace \
|
|
--version "${KNATIVE_OPERATOR_VERSION}" \
|
|
--wait \
|
|
${KNATIVE_OPERATOR_EXTRA_ARGS:-}
|
|
fi
|
|
|
|
log_success "Successfully installed Knative Operator ${KNATIVE_OPERATOR_VERSION}"
|
|
|
|
wait_for_pods "${OPERATOR_NAMESPACE}" "name=knative-operator" "300s"
|
|
|
|
log_info "Deploying Knative Serving ${KNATIVE_SERVING_VERSION} with ${NETWORK_LAYER} network layer..."
|
|
|
|
if [ "$EMBED_TEMPLATES" = "true" ]; then
|
|
if [[ "${KNATIVE_SERVING_VERSION}" != "1.21.1" ]]; then
|
|
log_info "Customizing template with version=${KNATIVE_SERVING_VERSION}"
|
|
get_knative_serving_${NETWORK_LAYER} | \
|
|
sed -e "s/version: \".*\"/version: \"${KNATIVE_SERVING_VERSION}\"/" | \
|
|
kubectl apply --server-side -f -
|
|
else
|
|
get_knative_serving_${NETWORK_LAYER} | kubectl apply --server-side -f -
|
|
fi
|
|
else
|
|
TEMPLATE_FILE="${TEMPLATE_DIR}/knative-serving-${NETWORK_LAYER}.yaml"
|
|
|
|
if [[ ! -f "${TEMPLATE_FILE}" ]]; then
|
|
log_error "Template file not found: ${TEMPLATE_FILE}"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${KNATIVE_SERVING_VERSION}" != "1.21.1" ]]; then
|
|
log_info "Customizing template with version=${KNATIVE_SERVING_VERSION}"
|
|
sed -e "s/version: \".*\"/version: \"${KNATIVE_SERVING_VERSION}\"/" \
|
|
"${TEMPLATE_FILE}" | kubectl apply -f -
|
|
else
|
|
kubectl apply -f "${TEMPLATE_FILE}"
|
|
fi
|
|
fi
|
|
|
|
log_success "Knative Serving CR applied"
|
|
|
|
log_info "Waiting for Knative Serving to be ready..."
|
|
kubectl wait --for=condition=Ready -n "${SERVING_NAMESPACE}" KnativeServing knative-serving --timeout=300s
|
|
|
|
log_success "Knative Operator and Serving are ready!"
|
|
}
|
|
|
|
# ----------------------------------------
|
|
# CLI/Component: kserve-kustomize
|
|
# ----------------------------------------
|
|
|
|
uninstall_kserve_kustomize() {
|
|
log_info "Uninstalling KServe..."
|
|
|
|
# EMBED_MANIFESTS: use embedded manifests
|
|
if is_positive "$EMBED_MANIFESTS"; then
|
|
if type uninstall_kserve_manifest &>/dev/null; then
|
|
uninstall_kserve_manifest
|
|
else
|
|
log_error "EMBED_MANIFESTS enabled but uninstall_kserve_manifest function not found"
|
|
log_error "This script should be called from a generated installation script"
|
|
exit 1
|
|
fi
|
|
else
|
|
# Uninstall Runtimes and LLMISVC configs first
|
|
if is_positive "${INSTALL_RUNTIMES}"; then
|
|
log_info "Uninstalling ClusterServingRuntimes..."
|
|
kubectl delete -k config/runtimes --force --grace-period=0 2>/dev/null || true
|
|
fi
|
|
if is_positive "${INSTALL_LLMISVC_CONFIGS}"; then
|
|
log_info "Uninstalling LLMISVC configs..."
|
|
kubectl delete -k config/llmisvcconfig --force --grace-period=0 2>/dev/null || true
|
|
fi
|
|
|
|
# Uninstall overlay resources in reverse order
|
|
for ((i=${#TARGET_OVERLAY_DIRS[@]}-1; i>=0; i--)); do
|
|
log_info "Uninstalling resources from ${TARGET_OVERLAY_DIRS[$i]}..."
|
|
kustomize build "${TARGET_OVERLAY_DIRS[$i]}" | kubectl delete -f - --force --grace-period=0 2>/dev/null || true
|
|
done
|
|
|
|
# Uninstall CRDs in reverse order
|
|
for ((i=${#TARGET_CRD_DIRS[@]}-1; i>=0; i--)); do
|
|
log_info "Uninstalling CRDs from ${TARGET_CRD_DIRS[$i]}..."
|
|
kustomize build "${TARGET_CRD_DIRS[$i]}" | kubectl delete -f - --force --grace-period=0 2>/dev/null || true
|
|
done
|
|
fi
|
|
|
|
kubectl delete all --all -n "${KSERVE_NAMESPACE}" --force --grace-period=0 2>/dev/null || true
|
|
kubectl delete namespace "${KSERVE_NAMESPACE}" --wait=true --timeout=60s --force --grace-period=0 2>/dev/null || true
|
|
log_success "KServe uninstalled"
|
|
}
|
|
|
|
install_kserve_kustomize() {
|
|
# Determine installation status
|
|
determine_shared_resources_config "${INSTALL_MODE}" "${ENABLE_KSERVE}" "${ENABLE_LLMISVC}"
|
|
|
|
# Check if already installed
|
|
local already_installed=false
|
|
if [ "${KSERVE_INSTALLED}" = "1" ] || [ "${LLMISVC_INSTALLED}" = "1" ]; then
|
|
already_installed=true
|
|
fi
|
|
|
|
if [ "${already_installed}" = "true" ]; then
|
|
if ! is_positive "$REINSTALL"; then
|
|
if is_positive "$FORCE_UPGRADE"; then
|
|
log_info "Force upgrading KServe..."
|
|
else
|
|
log_info "KServe is already installed. Use --reinstall to reinstall or --force-upgrade to upgrade."
|
|
return 0
|
|
fi
|
|
else
|
|
log_info "Reinstalling KServe..."
|
|
uninstall_kserve_kustomize
|
|
fi
|
|
fi
|
|
|
|
# EMBED_MANIFESTS: use embedded manifests from generated script
|
|
if is_positive "$EMBED_MANIFESTS"; then
|
|
log_info "Installing KServe using embedded manifests..."
|
|
|
|
# Call manifest functions (these should be available in generated script)
|
|
if type install_kserve_manifest &>/dev/null; then
|
|
install_kserve_manifest
|
|
else
|
|
log_error "EMBED_MANIFESTS enabled but install_kserve_manifest function not found"
|
|
log_error "This script should be called from a generated installation script"
|
|
exit 1
|
|
fi
|
|
else
|
|
log_info "Installing KServe via Kustomize..."
|
|
|
|
# Install CRDs and wait for them
|
|
log_info "Installing KServe CRDs..."
|
|
for i in "${!TARGET_CRD_DIRS[@]}"; do
|
|
crd_dir="${TARGET_CRD_DIRS[$i]}"
|
|
log_info " - Installing CRDs from ${crd_dir}..."
|
|
kustomize build "${crd_dir}" | kubectl apply --server-side --force-conflicts -f -
|
|
|
|
# Collect CRDs to verify
|
|
crds="${TARGET_CRDS_TO_VERIFY[$i]}"
|
|
if [ -n "${crds}" ]; then
|
|
log_info "Waiting for required CRDs..."
|
|
wait_for_crds "60s" ${crds}
|
|
fi
|
|
done
|
|
|
|
# Install resources from overlays
|
|
log_info "Installing KServe resources..."
|
|
for i in "${!TARGET_OVERLAY_DIRS[@]}"; do
|
|
overlay_dir="${TARGET_OVERLAY_DIRS[$i]}"
|
|
|
|
# Install overlay
|
|
log_info " - Installing resources from ${overlay_dir}..."
|
|
kustomize build "${overlay_dir}" | kubectl apply --server-side -f -
|
|
|
|
# Wait for corresponding deployment
|
|
if [ ${#TARGET_DEPLOYMENT_NAMES[@]} -gt $i ] && [ -n "${TARGET_DEPLOYMENT_NAMES[$i]}" ]; then
|
|
for d in ${TARGET_DEPLOYMENT_NAMES[$i]}; do
|
|
wait_for_deployment "${KSERVE_NAMESPACE}" "${d}" "300s"
|
|
done
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if ! is_positive "${USE_LOCAL_CONFIGMAP}"; then
|
|
# Build list of config updates
|
|
local config_updates=()
|
|
|
|
# Update deployment mode if needed
|
|
if [ "${DEPLOYMENT_MODE}" = "Standard" ] || [ "${DEPLOYMENT_MODE}" = "RawDeployment" ]; then
|
|
log_info "Adding deployment mode update: ${DEPLOYMENT_MODE}"
|
|
config_updates+=("deploy.defaultDeploymentMode=${DEPLOYMENT_MODE}")
|
|
fi
|
|
|
|
# Enable Gateway API for KServe(ISVC) if needed
|
|
if [ "${GATEWAY_NETWORK_LAYER}" != "false" ] && ! is_positive "${ENABLE_LLMISVC}"; then
|
|
log_info "Adding Gateway API updates: enableGatewayApi=true, ingressClassName=${GATEWAY_NETWORK_LAYER}"
|
|
config_updates+=("ingress.enableGatewayApi=true")
|
|
config_updates+=("ingress.ingressClassName=${GATEWAY_NETWORK_LAYER}")
|
|
fi
|
|
if is_positive "${ENABLE_LOCALMODEL}"; then
|
|
log_info "Adding LocalModel updates: enabled=true, defaultJobImage=kserve/storage-initializer:${KSERVE_VERSION}"
|
|
config_updates+=("localModel.enabled=true")
|
|
config_updates+=("localModel.defaultJobImage=kserve/storage-initializer:${KSERVE_VERSION}")
|
|
fi
|
|
# Add custom configurations if provided
|
|
if [ -n "${KSERVE_CUSTOM_ISVC_CONFIGS}" ]; then
|
|
log_info "Adding custom configurations: ${KSERVE_CUSTOM_ISVC_CONFIGS}"
|
|
IFS='|' read -ra custom_configs <<< "${KSERVE_CUSTOM_ISVC_CONFIGS}"
|
|
config_updates+=("${custom_configs[@]}")
|
|
fi
|
|
|
|
# Apply all config updates at once if there are any
|
|
if [ ${#config_updates[@]} -gt 0 ]; then
|
|
log_info "Applying ${#config_updates[@]} configuration update(s):"
|
|
for update in "${config_updates[@]}"; do
|
|
log_info " - ${update}"
|
|
done
|
|
update_isvc_config "${config_updates[@]}"
|
|
for i in "${!TARGET_OVERLAY_DIRS[@]}"; do
|
|
if [ ${#TARGET_DEPLOYMENT_NAMES[@]} -gt $i ] && [ -n "${TARGET_DEPLOYMENT_NAMES[$i]}" ]; then
|
|
for d in ${TARGET_DEPLOYMENT_NAMES[$i]}; do
|
|
wait_for_deployment "${KSERVE_NAMESPACE}" "${d}" "300s"
|
|
done
|
|
fi
|
|
done
|
|
log_success "KServe configuration updated"
|
|
else
|
|
if is_positive "${ENABLE_LLMISVC}" && ! is_positive "${ENABLE_KSERVE}"; then
|
|
log_info "No configuration updates needed for LLMISVC (GATEWAY_NETWORK_LAYER=${GATEWAY_NETWORK_LAYER})"
|
|
else
|
|
log_info "No configuration updates needed (DEPLOYMENT_MODE=${DEPLOYMENT_MODE}, GATEWAY_NETWORK_LAYER=${GATEWAY_NETWORK_LAYER})"
|
|
fi
|
|
fi
|
|
fi
|
|
# Final Check:Wait for controller manager to be ready
|
|
for deployment in $(kubectl get deployments -n "${KSERVE_NAMESPACE}" -o jsonpath='{.items[*].metadata.name}' 2>/dev/null); do
|
|
if echo "$deployment" | grep -q controller-manager; then
|
|
log_info "Waiting for deployment: $deployment"
|
|
wait_for_deployment "${KSERVE_NAMESPACE}" "$deployment" "300s"
|
|
fi
|
|
done
|
|
log_success "KServe is ready!"
|
|
|
|
# Wait for kserve webhook endpoint to be ready
|
|
sleep 2
|
|
|
|
if is_positive "${INSTALL_RUNTIMES}"; then
|
|
log_info "Installing ClusterServingRuntimes..."
|
|
if [ $EMBED_MANIFESTS = "true" ]; then
|
|
create_kserve_runtime_manifests
|
|
else
|
|
retry_command 3 5 kubectl apply --server-side=true -k "${RUNTIMES_DIR}"
|
|
fi
|
|
fi
|
|
|
|
if is_positive "${INSTALL_LLMISVC_CONFIGS}"; then
|
|
log_info "Installing LLMISVC configs..."
|
|
if [ $EMBED_MANIFESTS = "true" ]; then
|
|
create_kserve_llmisvcconfig_manifests
|
|
else
|
|
retry_command 3 5 kubectl apply --server-side=true -k "${REPO_ROOT}/config/llmisvcconfig"
|
|
fi
|
|
fi
|
|
|
|
# Cleanup temporary overlay after all resources are installed
|
|
if [ "${KSERVE_OVERLAY_DIR}" = "temp" ]; then
|
|
rm -rf "${REPO_ROOT}/config/overlays/temp"
|
|
log_info "Temporary overlay directory cleaned up"
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
#================================================
|
|
# Main Installation Logic
|
|
#================================================
|
|
|
|
main() {
|
|
if [ "$UNINSTALL" = true ]; then
|
|
echo "=========================================="
|
|
echo "Uninstalling components..."
|
|
echo "=========================================="
|
|
uninstall_kserve_manifest
|
|
uninstall_knative_operator
|
|
uninstall_istio_ingress_class
|
|
uninstall_istio
|
|
uninstall_cert_manager
|
|
|
|
|
|
|
|
echo "=========================================="
|
|
echo "✅ Uninstallation completed!"
|
|
echo "=========================================="
|
|
exit 0
|
|
fi
|
|
|
|
echo "=========================================="
|
|
echo "Install KServe Knative Mode and all related dependencies with manifests included in the script."
|
|
echo "=========================================="
|
|
|
|
export EMBED_TEMPLATES="true"
|
|
export EMBED_MANIFESTS="true"
|
|
export INSTALL_MODE="kustomize"
|
|
|
|
install_helm
|
|
install_kustomize
|
|
install_yq
|
|
install_cert_manager
|
|
install_istio
|
|
install_istio_ingress_class
|
|
install_knative_operator
|
|
(
|
|
set_env_with_priority "ENABLE_LLMISVC" "False" "" ""
|
|
set_env_with_priority "ENABLE_KSERVE" "True" "" ""
|
|
set_env_with_priority "INSTALL_RUNTIMES" "True" "" ""
|
|
set_env_with_priority "INSTALL_LLMISVC_CONFIGS" "False" "" ""
|
|
KSERVE_CRDS="inferenceservices.serving.kserve.io servingruntimes.serving.kserve.io clusterservingruntimes.serving.kserve.io inferencegraphs.serving.kserve.io trainedmodels.serving.kserve.io"
|
|
LLMISVC_CRDS="llminferenceservices.serving.kserve.io llminferenceserviceconfigs.serving.kserve.io"
|
|
LOCALMODEL_CRDS="localmodelcaches.serving.kserve.io localmodelnodegroups.serving.kserve.io localmodelnodes.serving.kserve.io"
|
|
KSERVE_CONFIG_DIR="${REPO_ROOT}/config/overlays/standalone/kserve"
|
|
LLMISVC_CONFIG_DIR="${REPO_ROOT}/config/overlays/standalone/llmisvc"
|
|
LOCALMODEL_CONFIG_DIR="${REPO_ROOT}/config/overlays/addons/localmodel"
|
|
RUNTIMES_DIR="${REPO_ROOT}/config/runtimes"
|
|
|
|
# Override KSERVE_VERSION if SET_KSERVE_VERSION is provided
|
|
if [ -n "${SET_KSERVE_VERSION}" ]; then
|
|
KSERVE_VERSION="${SET_KSERVE_VERSION}"
|
|
fi
|
|
|
|
# Create temporary overlay if version/registry override is needed
|
|
if ! is_positive "$EMBED_MANIFESTS" && [ -z "${KSERVE_OVERLAY_DIR}" ] && ([ -n "${SET_KSERVE_VERSION}" ] || [ -n "${SET_KSERVE_REGISTRY}" ]); then
|
|
TEMP_OVERLAY_DIR="${REPO_ROOT}/config/overlays/temp"
|
|
TEMPLATE_DIR="${REPO_ROOT}/config/overlays/version-template"
|
|
|
|
log_info "Creating temporary overlay from template: ${TEMP_OVERLAY_DIR}"
|
|
|
|
# Copy template
|
|
rm -rf "${TEMP_OVERLAY_DIR}"
|
|
cp -r "${TEMPLATE_DIR}" "${TEMP_OVERLAY_DIR}"
|
|
|
|
# Replace version/registry placeholders
|
|
VERSION="${SET_KSERVE_VERSION:-latest}"
|
|
REGISTRY="${SET_KSERVE_REGISTRY:-kserve}"
|
|
|
|
find "${TEMP_OVERLAY_DIR}" -type f -name "*.yaml" -exec sed -i \
|
|
-e "s/latest/${VERSION}/g" \
|
|
-e "s|kserve/|${REGISTRY}/|g" {} \;
|
|
|
|
# Uncomment components/patches based on ENABLE_* flags
|
|
if is_positive "${ENABLE_KSERVE}"; then
|
|
sed -i 's/#ENABLE_KSERVE //' "${TEMP_OVERLAY_DIR}/kustomization.yaml"
|
|
fi
|
|
|
|
if is_positive "${ENABLE_LLMISVC}"; then
|
|
sed -i 's/#ENABLE_LLMISVC //' "${TEMP_OVERLAY_DIR}/kustomization.yaml"
|
|
fi
|
|
|
|
if is_positive "${ENABLE_LOCALMODEL}"; then
|
|
sed -i 's/#ENABLE_LOCALMODEL //' "${TEMP_OVERLAY_DIR}/kustomization.yaml"
|
|
fi
|
|
|
|
# Use temporary overlay
|
|
KSERVE_OVERLAY_DIR="temp"
|
|
log_success "Temporary overlay created successfully"
|
|
fi
|
|
|
|
if [ -n "${KSERVE_OVERLAY_DIR}" ]; then
|
|
TARGET_OVERLAY_DIRS+=("${REPO_ROOT}/config/overlays/${KSERVE_OVERLAY_DIR}")
|
|
if [ "${KSERVE_OVERLAY_DIR}" == "test" ]; then
|
|
# Auto-enable localmodel for test overlay
|
|
ENABLE_LOCALMODEL="true"
|
|
|
|
# Update test overlay image tags if version is set
|
|
if [ -n "${SET_KSERVE_VERSION}" ]; then
|
|
log_info "Updating test overlay image tags to ${SET_KSERVE_VERSION}..."
|
|
sed -i -e "s/latest/${SET_KSERVE_VERSION}/g" config/overlays/test/configmap/inferenceservice.yaml
|
|
sed -i -e "s/latest/${SET_KSERVE_VERSION}/g" config/overlays/test/clusterresources/kustomization.yaml
|
|
fi
|
|
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full")
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/localmodel")
|
|
TARGET_CRDS_TO_VERIFY+=("${KSERVE_CRDS}")
|
|
TARGET_CRDS_TO_VERIFY+=("${LOCALMODEL_CRDS}")
|
|
test_overlay_deployments="kserve-controller-manager kserve-localmodel-controller-manager"
|
|
if is_positive "${ENABLE_LLMISVC}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/llmisvc")
|
|
TARGET_CRDS_TO_VERIFY+=("${LLMISVC_CRDS}")
|
|
test_overlay_deployments+=" llmisvc-controller-manager"
|
|
fi
|
|
TARGET_DEPLOYMENT_NAMES+=("${test_overlay_deployments}")
|
|
elif [ "${KSERVE_OVERLAY_DIR}" == "test-modelcache" ]; then
|
|
ENABLE_LOCALMODEL="true"
|
|
ENABLE_LLMISVC="true"
|
|
INSTALL_LLMISVC_CONFIGS="true"
|
|
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full")
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/localmodel")
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/llmisvc")
|
|
TARGET_CRDS_TO_VERIFY+=("${KSERVE_CRDS}")
|
|
TARGET_CRDS_TO_VERIFY+=("${LOCALMODEL_CRDS}")
|
|
TARGET_CRDS_TO_VERIFY+=("${LLMISVC_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("kserve-controller-manager kserve-localmodel-controller-manager llmisvc-controller-manager")
|
|
elif [ "${KSERVE_OVERLAY_DIR}" == "test-llmisvc" ]; then
|
|
# Update test-llmisvc overlay image tags if version is set
|
|
if [ -n "${SET_KSERVE_VERSION}" ]; then
|
|
log_info "Updating test-llmisvc overlay image tags to ${SET_KSERVE_VERSION}..."
|
|
sed -i -e "s/latest/${SET_KSERVE_VERSION}/g" config/overlays/test-llmisvc/llmisvc_image_patch.yaml
|
|
sed -i -e "s/latest/${SET_KSERVE_VERSION}/g" config/configmap/inferenceservice.yaml
|
|
fi
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/llmisvc")
|
|
TARGET_CRDS_TO_VERIFY+=("${LLMISVC_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("llmisvc-controller-manager")
|
|
elif [ "${KSERVE_OVERLAY_DIR}" == "temp" ]; then
|
|
RUNTIMES_DIR="${REPO_ROOT}/config/overlays/temp/cluster-resources"
|
|
if is_positive "${ENABLE_KSERVE}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full")
|
|
TARGET_CRDS_TO_VERIFY+=("${KSERVE_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("kserve-controller-manager")
|
|
fi
|
|
if is_positive "${ENABLE_LLMISVC}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/llmisvc")
|
|
TARGET_CRDS_TO_VERIFY+=("${LLMISVC_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("llmisvc-controller-manager")
|
|
fi
|
|
if is_positive "${ENABLE_LOCALMODEL}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/localmodel")
|
|
TARGET_CRDS_TO_VERIFY+=("${LOCALMODEL_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("kserve-localmodel-controller-manager")
|
|
fi
|
|
fi
|
|
else
|
|
if is_positive "${ENABLE_KSERVE}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full")
|
|
TARGET_CRDS_TO_VERIFY+=("${KSERVE_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("kserve-controller-manager")
|
|
if [ "${LLMISVC_INSTALLED}" = "1" ]; then
|
|
KSERVE_CONFIG_DIR="${REPO_ROOT}/config/overlays/addons/kserve"
|
|
fi
|
|
TARGET_OVERLAY_DIRS+=("${KSERVE_CONFIG_DIR}")
|
|
fi
|
|
|
|
if is_positive "${ENABLE_LLMISVC}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/llmisvc")
|
|
TARGET_CRDS_TO_VERIFY+=("${LLMISVC_CRDS}")
|
|
TARGET_DEPLOYMENT_NAMES+=("llmisvc-controller-manager")
|
|
if [ "${KSERVE_INSTALLED}" = "1" ]; then
|
|
LLMISVC_CONFIG_DIR="${REPO_ROOT}/config/overlays/addons/llmisvc"
|
|
fi
|
|
TARGET_OVERLAY_DIRS+=("${LLMISVC_CONFIG_DIR}")
|
|
fi
|
|
|
|
if is_positive "${ENABLE_LOCALMODEL}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/localmodel")
|
|
TARGET_CRDS_TO_VERIFY+=("${LOCALMODEL_CRDS}")
|
|
TARGET_OVERLAY_DIRS+=("${LOCALMODEL_CONFIG_DIR}")
|
|
TARGET_DEPLOYMENT_NAMES+=("kserve-localmodel-controller-manager")
|
|
fi
|
|
fi
|
|
|
|
# Add ClusterStorageContainer CRD if either KServe or LLMISVC is enabled
|
|
if is_positive "${ENABLE_KSERVE}" || is_positive "${ENABLE_LLMISVC}"; then
|
|
TARGET_CRD_DIRS+=("${REPO_ROOT}/config/crd/full/clusterstoragecontainer")
|
|
TARGET_CRDS_TO_VERIFY+=("clusterstoragecontainers.serving.kserve.io")
|
|
fi
|
|
|
|
install_kserve_kustomize
|
|
)
|
|
|
|
echo "=========================================="
|
|
echo "✅ Installation completed successfully!"
|
|
echo "=========================================="
|
|
}
|
|
|
|
# ============================================================================
|
|
# KServe Manifest Functions (EMBED_MANIFESTS MODE)
|
|
# ============================================================================
|
|
|
|
install_kserve_manifest() {
|
|
log_info "Installing KServe CRDs..."
|
|
get_kserve_crd_manifest | kubectl apply --server-side -f -
|
|
|
|
log_info "Installing KServe core components..."
|
|
get_kserve_core_manifest | kubectl apply --server-side -f -
|
|
|
|
log_success "KServe CRD and core components installed successfully!"
|
|
}
|
|
|
|
uninstall_kserve_manifest() {
|
|
# Uninstall in reverse order of dependencies
|
|
log_info "Uninstalling KServe LLMISvcConfig manifests..."
|
|
if [ "${LLMISVC:-false}" = "true" ] && type get_kserve_llmisvcconfig_manifests &>/dev/null; then
|
|
get_kserve_llmisvcconfig_manifests | kubectl delete -f - || true
|
|
fi
|
|
|
|
log_info "Uninstalling KServe runtime manifests..."
|
|
if [ "${INSTALL_RUNTIMES:-false}" = "true" ] && type get_kserve_runtime_manifests &>/dev/null; then
|
|
get_kserve_runtime_manifests | kubectl delete -f - || true
|
|
fi
|
|
|
|
log_info "Uninstalling KServe core components..."
|
|
get_kserve_core_manifest | kubectl delete -f - || true
|
|
|
|
log_info "Uninstalling KServe CRDs..."
|
|
get_kserve_crd_manifest | kubectl delete -f - || true
|
|
|
|
log_success "KServe manifests uninstalled successfully!"
|
|
}
|
|
|
|
get_kserve_runtime_manifests() {
|
|
cat <<'KSERVE_RUNTIME_MANIFEST_EOF'
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: autogluonserver
|
|
name: kserve-autogluonserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
image: kserve/autogluonserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: autogluon
|
|
priority: 1
|
|
version: "1"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: huggingfaceserver
|
|
name: kserve-huggingfaceserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
env:
|
|
- name: LMCACHE_USE_EXPERIMENTAL
|
|
value: "True"
|
|
image: kserve/huggingfaceserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
volumeMounts:
|
|
- mountPath: /dev/shm
|
|
name: devshm
|
|
hostIPC: false
|
|
protocolVersions:
|
|
- v2
|
|
- v1
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: huggingface
|
|
priority: 1
|
|
version: "1"
|
|
volumes:
|
|
- emptyDir:
|
|
medium: Memory
|
|
name: devshm
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: huggingfaceserver
|
|
name: kserve-huggingfaceserver-multinode
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
command:
|
|
- bash
|
|
- -c
|
|
- "export MODEL_DIR_ARG=\"\"\nif [[ ! -z ${MODEL_ID} ]]\nthen\n export MODEL_DIR_ARG=\"--model_dir=${MODEL_ID}\"\nfi\n\nif
|
|
[[ ! -z ${MODEL_DIR} ]]\nthen\n export MODEL_DIR_ARG=\"--model_dir=${MODEL_DIR}\"\nfi\n\nexport
|
|
RAY_ADDRESS=${POD_IP}:${RAY_PORT}\nray start --head --disable-usage-stats --include-dashboard
|
|
false \npython ./huggingfaceserver/health_check.py registered_nodes --retries
|
|
200 --probe_name runtime_start\n\npython -m huggingfaceserver ${MODEL_DIR_ARG}
|
|
--tensor-parallel-size=${TENSOR_PARALLEL_SIZE} --pipeline-parallel-size=${PIPELINE_PARALLEL_SIZE}
|
|
$0 $@\n"
|
|
env:
|
|
- name: RAY_PORT
|
|
value: "6379"
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: POD_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
- name: VLLM_CONFIG_ROOT
|
|
value: /tmp
|
|
- name: HF_HUB_CACHE
|
|
value: /tmp
|
|
image: kserve/huggingfaceserver:latest-gpu
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
python ./huggingfaceserver/health_check.py registered_node_and_runtime_health --health_check_url http://localhost:8080 --probe_name head_liveness
|
|
failureThreshold: 2
|
|
periodSeconds: 5
|
|
successThreshold: 1
|
|
timeoutSeconds: 15
|
|
name: kserve-container
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
python ./huggingfaceserver/health_check.py runtime_health --health_check_url http://localhost:8080 --probe_name head_readiness
|
|
failureThreshold: 2
|
|
periodSeconds: 5
|
|
successThreshold: 1
|
|
timeoutSeconds: 15
|
|
resources:
|
|
limits:
|
|
cpu: "4"
|
|
memory: 12Gi
|
|
requests:
|
|
cpu: "2"
|
|
memory: 6Gi
|
|
startupProbe:
|
|
exec:
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
python ./huggingfaceserver/health_check.py registered_node_and_runtime_health --health_check_url http://localhost:8080 --probe_name head_startup
|
|
failureThreshold: 40
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 30
|
|
volumeMounts:
|
|
- mountPath: /dev/shm
|
|
name: shm
|
|
protocolVersions:
|
|
- v2
|
|
- v1
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: huggingface
|
|
priority: 2
|
|
version: "1"
|
|
volumes:
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 3Gi
|
|
name: shm
|
|
workerSpec:
|
|
containers:
|
|
- command:
|
|
- bash
|
|
- -c
|
|
- "export RAY_HEAD_ADDRESS=${HEAD_SVC}.${POD_NAMESPACE}.svc.cluster.local:6379\nSECONDS=0\n\nwhile
|
|
true; do \n if (( SECONDS <= 240 )); then\n if ray health-check
|
|
--address \"${RAY_HEAD_ADDRESS}\" > /dev/null 2>&1; then\n echo \"Ray
|
|
Global Control Service(GCS) is ready.\"\n break\n fi\n echo \"$SECONDS
|
|
seconds elapsed: Waiting for Ray Global Control Service(GCS) to be ready.\"\n
|
|
\ else\n if ray health-check --address \"${RAY_HEAD_ADDRESS}\"; then\n
|
|
\ echo \"Ray Global Control Service(GCS) is ready. Any error messages
|
|
above can be safely ignored.\"\n break\n fi\n echo \"$SECONDS seconds
|
|
elapsed: Still waiting for Ray Global Control Service(GCS) to be ready.\"\n
|
|
\ fi\n\n sleep 5\ndone\n\necho \"Attempting to connect to Ray cluster at
|
|
$RAY_HEAD_ADDRESS ...\"\nray start --address=\"${RAY_HEAD_ADDRESS}\" --block\n"
|
|
env:
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
image: kserve/huggingfaceserver:latest-gpu
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
export RAY_ADDRESS=${HEAD_SVC}.${POD_NAMESPACE}.svc.cluster.local:6379
|
|
python ./huggingfaceserver/health_check.py registered_nodes --probe_name worker_liveness
|
|
failureThreshold: 2
|
|
periodSeconds: 5
|
|
successThreshold: 1
|
|
timeoutSeconds: 15
|
|
name: worker-container
|
|
resources:
|
|
limits:
|
|
cpu: "4"
|
|
memory: 12Gi
|
|
requests:
|
|
cpu: "2"
|
|
memory: 6Gi
|
|
startupProbe:
|
|
exec:
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
export RAY_HEAD_NODE=${HEAD_SVC}.${POD_NAMESPACE}.svc.cluster.local
|
|
export RAY_ADDRESS=${RAY_HEAD_NODE}:6379
|
|
python ./huggingfaceserver/health_check.py registered_node_and_runtime_models --runtime_url http://${RAY_HEAD_NODE}:8080/v1/models --probe_name worker_startup
|
|
failureThreshold: 40
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 30
|
|
volumeMounts:
|
|
- mountPath: /dev/shm
|
|
name: shm
|
|
pipelineParallelSize: 1
|
|
tensorParallelSize: 1
|
|
volumes:
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 3Gi
|
|
name: shm
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: lgbserver
|
|
name: kserve-lgbserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
- --nthread=1
|
|
image: kserve/lgbserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: lightgbm
|
|
priority: 1
|
|
version: "4"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: mlserver
|
|
name: kserve-mlserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- env:
|
|
- name: MLSERVER_MODEL_IMPLEMENTATION
|
|
value: '{{.Labels.modelClass}}'
|
|
- name: MLSERVER_HTTP_PORT
|
|
value: "8080"
|
|
- name: MLSERVER_GRPC_PORT
|
|
value: "9000"
|
|
image: docker.io/seldonio/mlserver:1.7.1
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: sklearn
|
|
priority: 2
|
|
version: "0"
|
|
- autoSelect: true
|
|
name: sklearn
|
|
priority: 2
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: xgboost
|
|
priority: 2
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: xgboost
|
|
priority: 2
|
|
version: "2"
|
|
- autoSelect: true
|
|
name: lightgbm
|
|
priority: 2
|
|
version: "3"
|
|
- autoSelect: true
|
|
name: lightgbm
|
|
priority: 2
|
|
version: "4"
|
|
- autoSelect: true
|
|
name: mlflow
|
|
priority: 1
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: mlflow
|
|
priority: 1
|
|
version: "2"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: paddleserver
|
|
name: kserve-paddleserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
image: kserve/paddleserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: paddle
|
|
priority: 1
|
|
version: "2"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: pmmlserver
|
|
name: kserve-pmmlserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
image: kserve/pmmlserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: pmml
|
|
priority: 1
|
|
version: "3"
|
|
- autoSelect: true
|
|
name: pmml
|
|
priority: 1
|
|
version: "4"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: predictiveserver
|
|
name: kserve-predictiveserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
- --framework={{.Annotations.modelFormat}}
|
|
- --nthread=1
|
|
image: kserve/predictiveserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
multiModel: false
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: false
|
|
name: sklearn
|
|
priority: 3
|
|
version: "1"
|
|
- autoSelect: false
|
|
name: xgboost
|
|
priority: 3
|
|
version: "2"
|
|
- autoSelect: false
|
|
name: lightgbm
|
|
priority: 3
|
|
version: "4"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: sklearnserver
|
|
name: kserve-sklearnserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
image: kserve/sklearnserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: sklearn
|
|
priority: 1
|
|
version: "1"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: tensorflow-serving
|
|
name: kserve-tensorflow-serving
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --port=9000
|
|
- --rest_api_port=8080
|
|
- --model_base_path=/mnt/models
|
|
- --rest_api_timeout_in_ms=60000
|
|
command:
|
|
- /usr/bin/tensorflow_model_server
|
|
image: tensorflow/serving:2.6.2
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
protocolVersions:
|
|
- v1
|
|
- grpc-v1
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: tensorflow
|
|
priority: 2
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: tensorflow
|
|
priority: 2
|
|
version: "2"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: torchserve
|
|
name: kserve-torchserve
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8082"
|
|
containers:
|
|
- args:
|
|
- torchserve
|
|
- --start
|
|
- --model-store=/mnt/models/model-store
|
|
- --ts-config=/mnt/models/config/config.properties
|
|
env:
|
|
- name: TS_SERVICE_ENVELOPE
|
|
value: '{{.Labels.serviceEnvelope}}'
|
|
image: pytorch/torchserve-kfs:0.9.0
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
- grpc-v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: pytorch
|
|
priority: 2
|
|
version: "1"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: tritonserver
|
|
name: kserve-tritonserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8002"
|
|
containers:
|
|
- args:
|
|
- tritonserver
|
|
- --model-store=/mnt/models
|
|
- --grpc-port=9000
|
|
- --http-port=8080
|
|
- --allow-grpc=true
|
|
- --allow-http=true
|
|
image: nvcr.io/nvidia/tritonserver:23.05-py3
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
protocolVersions:
|
|
- v2
|
|
- grpc-v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: tensorrt
|
|
priority: 1
|
|
version: "8"
|
|
- autoSelect: true
|
|
name: tensorflow
|
|
priority: 1
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: tensorflow
|
|
priority: 1
|
|
version: "2"
|
|
- autoSelect: true
|
|
name: onnx
|
|
priority: 1
|
|
version: "1"
|
|
- name: pytorch
|
|
version: "1"
|
|
- autoSelect: true
|
|
name: triton
|
|
priority: 1
|
|
version: "2"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: vllmserver
|
|
name: kserve-vllmserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --port=8080
|
|
- --served-model-name={{.Name}}
|
|
- --model=/mnt/models
|
|
command:
|
|
- python
|
|
- -m
|
|
- vllm.entrypoints.openai.api_server
|
|
env:
|
|
- name: LMCACHE_USE_EXPERIMENTAL
|
|
value: "True"
|
|
- name: HF_HOME
|
|
value: /tmp
|
|
- name: VLLM_CONFIG_ROOT
|
|
value: /tmp
|
|
image: vllm/vllm-openai:latest
|
|
name: kserve-container
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /v1/models
|
|
port: 8080
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 5
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /v1/models
|
|
port: 8080
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 10
|
|
volumeMounts:
|
|
- mountPath: /dev/shm
|
|
name: devshm
|
|
hostIPC: false
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: vLLM
|
|
priority: 1
|
|
version: "1"
|
|
volumes:
|
|
- emptyDir:
|
|
medium: Memory
|
|
name: devshm
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterServingRuntime
|
|
metadata:
|
|
annotations:
|
|
serving.kserve.io/server-type: xgbserver
|
|
name: kserve-xgbserver
|
|
spec:
|
|
annotations:
|
|
prometheus.kserve.io/path: /metrics
|
|
prometheus.kserve.io/port: "8080"
|
|
containers:
|
|
- args:
|
|
- --model_name={{.Name}}
|
|
- --model_dir=/mnt/models
|
|
- --http_port=8080
|
|
- --nthread=1
|
|
image: kserve/xgbserver:latest
|
|
name: kserve-container
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
runAsNonRoot: true
|
|
protocolVersions:
|
|
- v1
|
|
- v2
|
|
supportedModelFormats:
|
|
- autoSelect: true
|
|
name: xgboost
|
|
priority: 1
|
|
version: "2"
|
|
KSERVE_RUNTIME_MANIFEST_EOF
|
|
}
|
|
|
|
get_kserve_llmisvcconfig_manifests() {
|
|
cat <<'KSERVE_LLMISVCCONFIG_MANIFEST_EOF'
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-decode-template
|
|
namespace: kserve
|
|
spec:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Template 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve /mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8001 \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8001
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
initContainers:
|
|
- command:
|
|
- /app/pd-sidecar
|
|
- --port=8000
|
|
- --vllm-port=8001
|
|
- --kv-connector=nixlv2
|
|
- --enable-ssrf-protection=true
|
|
- --pool-group=inference.networking.x-k8s.io
|
|
- --inference-pool={{ .GlobalConfig.InferencePoolNamespacedName }}
|
|
- '{{ if .GlobalConfig.EnableTLS }}--secure-proxy=true{{else}}--secure-proxy=false{{-
|
|
end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--cert-path=/var/run/kserve/tls{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--decoder-use-tls=true{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--prefiller-use-tls=true{{- end }}'
|
|
env:
|
|
- name: INFERENCE_POOL_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: SSL_CERT_DIR
|
|
value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs
|
|
image: ghcr.io/llm-d/llm-d-router-disagg-sidecar:v0.9.0-rc.2
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 10
|
|
name: llm-d-routing-sidecar
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
resources: {}
|
|
restartPolicy: Always
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 1Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-decode-worker-data-parallel
|
|
namespace: kserve
|
|
spec:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=0
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Template 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8001 \
|
|
--api-server-count ${VLLM_API_SERVER_COUNT:-8} \
|
|
{{- if .Spec.Parallelism.Expert -}}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Parallelism.Tensor -}}--tensor-parallel-size {{ .Spec.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Parallelism.DataRPCPort }}{{ .Spec.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8001
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8001
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
initContainers:
|
|
- command:
|
|
- /app/pd-sidecar
|
|
- --port=8000
|
|
- --vllm-port=8001
|
|
- --kv-connector=nixlv2
|
|
- --enable-ssrf-protection=true
|
|
- --pool-group=inference.networking.x-k8s.io
|
|
- --inference-pool={{ .GlobalConfig.InferencePoolNamespacedName }}
|
|
- '{{ if .GlobalConfig.EnableTLS }}--secure-proxy=true{{else}}--secure-proxy=false{{-
|
|
end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--cert-path=/var/run/kserve/tls{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--decoder-use-tls=true{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--prefiller-use-tls=true{{- end }}'
|
|
env:
|
|
- name: INFERENCE_POOL_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: SSL_CERT_DIR
|
|
value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs
|
|
image: ghcr.io/llm-d/llm-d-router-disagg-sidecar:v0.9.0-rc.2
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 10
|
|
name: llm-d-routing-sidecar
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
restartPolicy: Always
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
worker:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=$(( ${LWS_WORKER_INDEX:-0} * {{ or .Spec.Parallelism.DataLocal 1 }} ))
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Worker 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8001 \
|
|
{{- if .Spec.Parallelism.Expert }}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Parallelism.Tensor }}--tensor-parallel-size {{ .Spec.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Parallelism.DataRPCPort }}{{ .Spec.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
--headless \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
- name: VLLM_RANDOMIZE_DP_DUMMY_INPUTS
|
|
value: "1"
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
name: main
|
|
ports:
|
|
- containerPort: 8001
|
|
protocol: TCP
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-prefill-template
|
|
namespace: kserve
|
|
spec:
|
|
prefill:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ if .Spec.Prefill }}{{ shutdownTimeout .Spec.Prefill.Template 15 }}{{ else }}{{ shutdownTimeout nil 15 }}{{ end }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ if .Spec.Prefill }}{{ kvTransferConfig .Spec.Prefill.KVCacheOffloading }}{{ end }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve /mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: File
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 1Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-prefill-worker-data-parallel
|
|
namespace: kserve
|
|
spec:
|
|
prefill:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=0
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ if .Spec.Prefill }}{{ shutdownTimeout .Spec.Prefill.Template 15 }}{{ else }}{{ shutdownTimeout nil 15 }}{{ end }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ if .Spec.Prefill }}{{ kvTransferConfig .Spec.Prefill.KVCacheOffloading }}{{ end }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
--api-server-count ${VLLM_API_SERVER_COUNT:-8} \
|
|
{{- if .Spec.Prefill.Parallelism.Expert -}}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Prefill.Parallelism.Tensor -}}--tensor-parallel-size {{ .Spec.Prefill.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Prefill.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Prefill.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Prefill.Parallelism.DataRPCPort }}{{ .Spec.Prefill.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
worker:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=$(( ${LWS_WORKER_INDEX:-0} * {{ or .Spec.Prefill.Parallelism.DataLocal 1 }} ))
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ if .Spec.Prefill }}{{ shutdownTimeout .Spec.Prefill.Worker 15 }}{{ else }}{{ shutdownTimeout nil 15 }}{{ end }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ if .Spec.Prefill }}{{ kvTransferConfig .Spec.Prefill.KVCacheOffloading }}{{ end }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
{{- if .Spec.Prefill.Parallelism.Expert }}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Prefill.Parallelism.Tensor }}--tensor-parallel-size {{ .Spec.Prefill.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Prefill.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Prefill.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Prefill.Parallelism.DataRPCPort }}{{ .Spec.Prefill.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
--headless \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-router-route
|
|
namespace: kserve
|
|
spec:
|
|
router:
|
|
route:
|
|
http:
|
|
spec:
|
|
parentRefs:
|
|
- group: gateway.networking.k8s.io
|
|
kind: Gateway
|
|
name: '{{ .GlobalConfig.IngressGatewayName }}'
|
|
namespace: '{{ .GlobalConfig.IngressGatewayNamespace }}'
|
|
rules:
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
filters:
|
|
- type: URLRewrite
|
|
urlRewrite:
|
|
path:
|
|
replacePrefixMatch: /v1/completions
|
|
type: ReplacePrefixMatch
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /{{ .ObjectMeta.Namespace }}/{{ .ObjectMeta.Name }}/v1/completions
|
|
name: v1-completions-path
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
matches:
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/completions
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/completions/
|
|
name: v1-completions-model-routing
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
filters:
|
|
- type: URLRewrite
|
|
urlRewrite:
|
|
path:
|
|
replacePrefixMatch: /v1/chat/completions
|
|
type: ReplacePrefixMatch
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /{{ .ObjectMeta.Namespace }}/{{ .ObjectMeta.Name }}/v1/chat/completions
|
|
name: v1-chat-completions-path
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
matches:
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/chat/completions
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/chat/completions/
|
|
name: v1-chat-completions-model-routing
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
filters:
|
|
- type: URLRewrite
|
|
urlRewrite:
|
|
path:
|
|
replacePrefixMatch: /v1/responses
|
|
type: ReplacePrefixMatch
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /{{ .ObjectMeta.Namespace }}/{{ .ObjectMeta.Name }}/v1/responses
|
|
name: v1-responses-path
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
matches:
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/responses
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/responses/
|
|
name: v1-responses-model-routing
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
filters:
|
|
- type: URLRewrite
|
|
urlRewrite:
|
|
path:
|
|
replacePrefixMatch: /v1/messages
|
|
type: ReplacePrefixMatch
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /{{ .ObjectMeta.Namespace }}/{{ .ObjectMeta.Name }}/v1/messages
|
|
name: v1-messages-path
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- group: inference.networking.k8s.io
|
|
kind: InferencePool
|
|
name: '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
port: 8000
|
|
weight: 1
|
|
matches:
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/messages
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
path:
|
|
type: Exact
|
|
value: /v1/messages/
|
|
name: v1-messages-model-routing
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- kind: Service
|
|
name: '{{ ChildName .ObjectMeta.Name `-kserve-workload-svc` }}'
|
|
port: 8000
|
|
weight: 1
|
|
filters:
|
|
- type: URLRewrite
|
|
urlRewrite:
|
|
path:
|
|
replacePrefixMatch: /
|
|
type: ReplacePrefixMatch
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /{{ .ObjectMeta.Namespace }}/{{ .ObjectMeta.Name }}
|
|
name: v1-catch-all-path
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
- backendRefs:
|
|
- kind: Service
|
|
name: '{{ ChildName .ObjectMeta.Name `-kserve-workload-svc` }}'
|
|
port: 8000
|
|
weight: 1
|
|
matches:
|
|
- headers:
|
|
- name: '{{ .GlobalConfig.ModelBasedRoutingHeaderName }}'
|
|
type: Exact
|
|
value: publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name
|
|
}}
|
|
name: v1-catch-all-model-routing
|
|
timeouts:
|
|
backendRequest: 0s
|
|
request: 0s
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-scheduler
|
|
namespace: kserve
|
|
spec:
|
|
router:
|
|
scheduler:
|
|
annotations:
|
|
app.kubernetes.io/version: 0.9.0
|
|
pool:
|
|
spec:
|
|
endpointPickerRef:
|
|
failureMode: FailOpen
|
|
kind: Service
|
|
name: '{{ ChildName .ObjectMeta.Name `-epp-service` }}'
|
|
port:
|
|
number: 9002
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: '{{ .ObjectMeta.Name }}'
|
|
app.kubernetes.io/part-of: llminferenceservice
|
|
kserve.io/component: workload
|
|
targetPorts:
|
|
- number: 8000
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /app/epp
|
|
- --pool-name
|
|
- '{{ ChildName .ObjectMeta.Name `-inference-pool` }}'
|
|
- --pool-namespace
|
|
- '{{ .ObjectMeta.Namespace }}'
|
|
- --zap-encoder
|
|
- json
|
|
- --grpc-port
|
|
- "9002"
|
|
- --grpc-health-port
|
|
- "9003"
|
|
- '{{ if .GlobalConfig.EnableTLS }}--enable-cert-reload=true{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--secure-serving=true{{- end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--model-server-metrics-scheme=https{{-
|
|
end }}'
|
|
- '{{ if .GlobalConfig.EnableTLS }}--cert-path=/var/run/kserve/tls{{- end
|
|
}}'
|
|
env:
|
|
- name: SSL_CERT_DIR
|
|
value: /var/run/kserve/tls:/var/run/secrets/kubernetes.io/serviceaccount:/etc/pki/tls/certs
|
|
image: ghcr.io/llm-d/llm-d-router-endpoint-picker:v0.9.0-rc.2
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
grpc:
|
|
port: 9003
|
|
service: liveness
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 9002
|
|
name: grpc
|
|
protocol: TCP
|
|
- containerPort: 9003
|
|
name: grpc-health
|
|
protocol: TCP
|
|
- containerPort: 9090
|
|
name: metrics
|
|
protocol: TCP
|
|
- containerPort: 5557
|
|
name: zmq
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
grpc:
|
|
port: 9003
|
|
service: readiness
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
resources:
|
|
limits:
|
|
cpu: 6
|
|
memory: 16Gi
|
|
requests:
|
|
cpu: 1
|
|
memory: 2Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
- mountPath: /tmp/tokenizer
|
|
name: tokenizer-uds
|
|
- env:
|
|
- name: TOKENIZERS_DIR
|
|
value: /mnt/models
|
|
image: ghcr.io/llm-d/llm-d-uds-tokenizer:vllm-v0.19.1
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8082
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
name: tokenizer
|
|
ports:
|
|
- containerPort: 8082
|
|
name: health
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8082
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
resources:
|
|
requests:
|
|
cpu: 256m
|
|
memory: 500Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8082
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /tmp
|
|
name: tokenizer-tmp
|
|
- mountPath: /.cache
|
|
name: tokenizer-cache
|
|
- mountPath: /tmp/tokenizer
|
|
name: tokenizer-uds
|
|
workingDir: /mnt/models
|
|
dnsPolicy: ClusterFirst
|
|
restartPolicy: Always
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs`
|
|
}}'
|
|
- emptyDir: {}
|
|
name: tokenizer-uds
|
|
- emptyDir: {}
|
|
name: tokenizer-tmp
|
|
- emptyDir: {}
|
|
name: tokenizer-cache
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-scheduler-latency-predictor
|
|
namespace: kserve
|
|
spec:
|
|
router:
|
|
scheduler:
|
|
template:
|
|
containers:
|
|
- env:
|
|
- name: PREDICTION_SERVER_URL
|
|
value: http://localhost:8001
|
|
- name: TRAINING_SERVER_URL
|
|
value: http://localhost:8000
|
|
- name: LATENCY_MAX_SAMPLE_SIZE
|
|
value: "10000"
|
|
- name: LATENCY_MAX_CONCURRENT_DISPATCHES
|
|
value: "36"
|
|
- name: LATENCY_COALESCE_WINDOW_MS
|
|
value: "1"
|
|
name: main
|
|
- env:
|
|
- name: LATENCY_RETRAINING_INTERVAL_SEC
|
|
value: "10"
|
|
- name: LATENCY_MIN_SAMPLES_FOR_RETRAIN
|
|
value: "100"
|
|
- name: LATENCY_TTFT_MODEL_PATH
|
|
value: /models/ttft.joblib
|
|
- name: LATENCY_TPOT_MODEL_PATH
|
|
value: /models/tpot.joblib
|
|
- name: LATENCY_TTFT_SCALER_PATH
|
|
value: /models/ttft_scaler.joblib
|
|
- name: LATENCY_TPOT_SCALER_PATH
|
|
value: /models/tpot_scaler.joblib
|
|
- name: LATENCY_TTFT_GATED_MODEL_PATH
|
|
value: /models/ttft_gated.joblib
|
|
- name: LATENCY_TPOT_GATED_MODEL_PATH
|
|
value: /models/tpot_gated.joblib
|
|
- name: LATENCY_MODEL_TYPE
|
|
value: xgboost
|
|
- name: LATENCY_MAX_TRAINING_DATA_SIZE_PER_BUCKET
|
|
value: "500"
|
|
- name: LATENCY_OBJECTIVE_TYPE
|
|
value: mean
|
|
image: ghcr.io/llm-d/llm-d-latency-predictor-training-server:v0.8.0
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8000
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 20
|
|
name: training-server
|
|
ports:
|
|
- containerPort: 8000
|
|
name: training-port
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8000
|
|
initialDelaySeconds: 45
|
|
periodSeconds: 10
|
|
resources:
|
|
limits:
|
|
cpu: 4000m
|
|
memory: 8Gi
|
|
requests:
|
|
cpu: 2000m
|
|
memory: 4Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 30
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8000
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /models
|
|
name: training-server-storage
|
|
- mountPath: /tmp
|
|
name: training-server-tmp
|
|
- env:
|
|
- name: TRAINING_SERVER_URL
|
|
value: http://localhost:8000
|
|
- name: LATENCY_MODEL_TYPE
|
|
value: xgboost
|
|
- name: PREDICT_HOST
|
|
value: 0.0.0.0
|
|
- name: PREDICT_PORT
|
|
value: "8001"
|
|
- name: LOCAL_TTFT_MODEL_PATH
|
|
value: /server_models/ttft.joblib
|
|
- name: LOCAL_TPOT_MODEL_PATH
|
|
value: /server_models/tpot.joblib
|
|
- name: LOCAL_TTFT_SCALER_PATH
|
|
value: /server_models/ttft_scaler.joblib
|
|
- name: LOCAL_TPOT_SCALER_PATH
|
|
value: /server_models/tpot_scaler.joblib
|
|
- name: LOCAL_TTFT_GATED_MODEL_PATH
|
|
value: /server_models/ttft_gated.joblib
|
|
- name: LOCAL_TPOT_GATED_MODEL_PATH
|
|
value: /server_models/tpot_gated.joblib
|
|
- name: UVICORN_WORKERS
|
|
value: "28"
|
|
- name: OMP_NUM_THREADS
|
|
value: "1"
|
|
- name: MODEL_SYNC_INTERVAL_SEC
|
|
value: "30"
|
|
- name: LATENCY_OBJECTIVE_TYPE
|
|
value: mean
|
|
image: ghcr.io/llm-d/llm-d-latency-predictor-prediction-server:v0.8.0
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 5
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8001
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
name: prediction-server
|
|
ports:
|
|
- containerPort: 8001
|
|
name: predict-port
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8001
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
resources:
|
|
limits:
|
|
cpu: 28000m
|
|
memory: 8Gi
|
|
requests:
|
|
cpu: 8000m
|
|
memory: 4Gi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8001
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /server_models
|
|
name: prediction-server-storage
|
|
- mountPath: /tmp
|
|
name: prediction-server-tmp
|
|
restartPolicy: Always
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir:
|
|
sizeLimit: 20Gi
|
|
name: training-server-storage
|
|
- emptyDir:
|
|
sizeLimit: 10Gi
|
|
name: prediction-server-storage
|
|
- emptyDir: {}
|
|
name: training-server-tmp
|
|
- emptyDir: {}
|
|
name: prediction-server-tmp
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-template
|
|
namespace: kserve
|
|
spec:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Template 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve /mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 1Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-tracing
|
|
namespace: kserve
|
|
spec:
|
|
tracing:
|
|
exporter: otlp
|
|
exporterEndpoint: http://otel-collector:4317
|
|
sampler: parentbased_traceidratio
|
|
samplerArg: "0.05"
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha2
|
|
kind: LLMInferenceServiceConfig
|
|
metadata:
|
|
name: kserve-config-llm-worker-data-parallel
|
|
namespace: kserve
|
|
spec:
|
|
annotations:
|
|
serving.kserve.io/model-based-routing-enabled: "true"
|
|
template:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=0
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Template 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
--api-server-count ${VLLM_API_SERVER_COUNT:-8} \
|
|
{{- if .Spec.Parallelism.Expert -}}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Parallelism.Tensor -}}--tensor-parallel-size {{ .Spec.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Parallelism.DataRPCPort }}{{ .Spec.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 2
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 1
|
|
timeoutSeconds: 1
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
startupProbe:
|
|
failureThreshold: 60
|
|
httpGet:
|
|
path: /health
|
|
port: 8000
|
|
scheme: '{{ if .GlobalConfig.EnableTLS }}HTTPS{{else}}HTTP{{- end }}'
|
|
periodSeconds: 10
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
worker:
|
|
containers:
|
|
- command:
|
|
- /bin/bash
|
|
- -c
|
|
- |-
|
|
# In some versions, ZMQ bind doesn't resolve the address through DNS
|
|
# Retry DP_ADDRESS resolution (configurable attempts, default 30)
|
|
RESOLVE_ATTEMPTS=${DP_ADDRESS_RESOLVE_ATTEMPTS:-30}
|
|
for ((i=1; i<=RESOLVE_ATTEMPTS; i++)); do
|
|
DP_ADDRESS=$(getent hosts ${LWS_LEADER_ADDRESS} | cut -d' ' -f1)
|
|
if [ -n "$DP_ADDRESS" ]; then
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (resolved on attempt $i)"
|
|
break
|
|
else
|
|
echo "DP_ADDRESS resolution failed on attempt $i, retrying..."
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if [ -z "$DP_ADDRESS" ]; then
|
|
echo "WARNING: Failed to resolve DP_ADDRESS after ${RESOLVE_ATTEMPTS} attempts, falling back to LWS_LEADER_ADDRESS"
|
|
DP_ADDRESS=${LWS_LEADER_ADDRESS}
|
|
echo "DP_ADDRESS=${DP_ADDRESS} (fallback)"
|
|
fi
|
|
|
|
if [ "$KSERVE_INFER_ROCE" = "true" ]; then
|
|
echo "Trying to infer RoCE configs ... "
|
|
grep -H . /sys/class/infiniband/*/ports/*/gids/* 2>/dev/null
|
|
grep -H . /sys/class/infiniband/*/ports/*/gid_attrs/types/* 2>/dev/null
|
|
|
|
cat /proc/driver/nvidia/params
|
|
|
|
KSERVE_INFER_IB_GID_INDEX_GREP=${KSERVE_INFER_IB_GID_INDEX_GREP:-"RoCE v2"}
|
|
|
|
echo "[Infer RoCE] Discovering active HCAs ..."
|
|
active_hcas=()
|
|
# Loop through all mlx5 devices found in sysfs
|
|
for hca_dir in /sys/class/infiniband/mlx5_*; do
|
|
# Ensure it's a directory before proceeding
|
|
if [ -d "$hca_dir" ]; then
|
|
hca_name=$(basename "$hca_dir")
|
|
port_state_file="$hca_dir/ports/1/state" # Assume port 1
|
|
type_file="$hca_dir/ports/1/gid_attrs/types/*"
|
|
|
|
echo "[Infer RoCE] Check if the port state file ${port_state_file} exists and contains 'ACTIVE'"
|
|
if [ -f "$port_state_file" ] && grep -q "ACTIVE" "$port_state_file" && grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" ${type_file} 2>/dev/null; then
|
|
echo "[Infer RoCE] Found active HCA: $hca_name"
|
|
active_hcas+=("$hca_name")
|
|
else
|
|
echo "[Infer RoCE] Skipping inactive or down HCA: $hca_name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Check if we found any active HCAs
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
# Join the array elements with a comma
|
|
hca_port_pairs=()
|
|
for hca in "${active_hcas[@]}"; do
|
|
hca_port_pairs+=("${hca}:1")
|
|
done
|
|
|
|
active_hca_list=$(IFS=,; echo "${active_hcas[*]}")
|
|
hca_port_pairs_list=$(IFS=,; echo "${hca_port_pairs[*]}")
|
|
echo "[Infer RoCE] Setting active HCAs: ${active_hca_list}"
|
|
export NCCL_IB_HCA=${NCCL_IB_HCA:-${active_hca_list}}
|
|
export NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST:-${hca_port_pairs_list}}
|
|
export UCX_NET_DEVICES=${UCX_NET_DEVICES:-${hca_port_pairs_list}}
|
|
|
|
echo "[Infer RoCE] NCCL_IB_HCA=${NCCL_IB_HCA}"
|
|
echo "[Infer RoCE] NVSHMEM_HCA_LIST=${NVSHMEM_HCA_LIST}"
|
|
echo "[Infer RoCE] UCX_NET_DEVICES=${UCX_NET_DEVICES}"
|
|
else
|
|
echo "[Infer RoCE] WARNING: No active RoCE HCAs found. NCCL_IB_HCA will not be set."
|
|
fi
|
|
|
|
if [ ${#active_hcas[@]} -gt 0 ]; then
|
|
echo "[Infer RoCE] Finding GID_INDEX for each active HCA (SR-IOV compatible)..."
|
|
|
|
# For SR-IOV environments, find the most common IPv4 RoCE v2 GID index across all HCAs
|
|
declare -A gid_index_count
|
|
declare -A hca_gid_index
|
|
|
|
for hca_name in "${active_hcas[@]}"; do
|
|
echo "[Infer RoCE] Processing HCA: ${hca_name}"
|
|
|
|
# Find all RoCE v2 IPv4 GIDs for this HCA and count by index
|
|
for tpath in /sys/class/infiniband/${hca_name}/ports/1/gid_attrs/types/*; do
|
|
if grep -q "${KSERVE_INFER_IB_GID_INDEX_GREP}" "$tpath" 2>/dev/null; then
|
|
idx=$(basename "$tpath")
|
|
gid_file="/sys/class/infiniband/${hca_name}/ports/1/gids/${idx}"
|
|
# Check for IPv4 GID (contains ffff:)
|
|
if [ -f "$gid_file" ] && grep -q "ffff:" "$gid_file"; then
|
|
gid_value=$(cat "$gid_file" 2>/dev/null || echo "")
|
|
echo "[Infer RoCE] Found IPv4 RoCE v2 GID for ${hca_name}: index=${idx}, gid=${gid_value}"
|
|
hca_gid_index["${hca_name}"]="${idx}"
|
|
gid_index_count["${idx}"]=$((${gid_index_count["${idx}"]} + 1))
|
|
break # Use first found IPv4 GID per HCA
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
|
|
# Find the most common GID index (most likely to be consistent across nodes)
|
|
best_gid_index=""
|
|
max_count=0
|
|
for idx in "${!gid_index_count[@]}"; do
|
|
count=${gid_index_count["${idx}"]}
|
|
echo "[Infer RoCE] GID_INDEX ${idx} found on ${count} HCAs"
|
|
if [ $count -gt $max_count ]; then
|
|
max_count=$count
|
|
best_gid_index="$idx"
|
|
fi
|
|
done
|
|
|
|
# Use deterministic fallback if tied - prefer index 3 (SR-IOV standard)
|
|
if [ ${#gid_index_count[@]} -gt 1 ]; then
|
|
echo "[Infer RoCE] Multiple GID indices found, selecting most common: ${best_gid_index}"
|
|
# If there's a tie, prefer index 3 as it's most common in SR-IOV setups
|
|
if [ -n "${gid_index_count['3']}" ] && [ "${gid_index_count['3']}" -eq "$max_count" ]; then
|
|
best_gid_index="3"
|
|
echo "[Infer RoCE] Using deterministic fallback: GID_INDEX=3 (SR-IOV standard)"
|
|
fi
|
|
fi
|
|
|
|
# Check if GID_INDEX is already set via environment variables
|
|
if [ -n "${NCCL_IB_GID_INDEX}" ]; then
|
|
echo "[Infer RoCE] Using pre-configured NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX} from environment"
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$NCCL_IB_GID_INDEX}
|
|
echo "[Infer RoCE] Using pre-configured GID_INDEX=${NCCL_IB_GID_INDEX} for NCCL, NVSHMEM, and UCX"
|
|
elif [ -n "$best_gid_index" ]; then
|
|
echo "[Infer RoCE] Selected GID_INDEX: ${best_gid_index} (found on ${max_count} HCAs)"
|
|
|
|
export NCCL_IB_GID_INDEX=${NCCL_IB_GID_INDEX:-$best_gid_index}
|
|
export NVSHMEM_IB_GID_INDEX=${NVSHMEM_IB_GID_INDEX:-$best_gid_index}
|
|
export UCX_IB_GID_INDEX=${UCX_IB_GID_INDEX:-$best_gid_index}
|
|
|
|
echo "[Infer RoCE] Exported GID_INDEX=${best_gid_index} for NCCL, NVSHMEM, and UCX"
|
|
else
|
|
echo "[Infer RoCE] ERROR: No valid IPv4 ${KSERVE_INFER_IB_GID_INDEX_GREP} GID_INDEX found on any HCA."
|
|
fi
|
|
else
|
|
echo "[Infer RoCE] No active HCAs found, skipping GID_INDEX inference."
|
|
fi
|
|
fi
|
|
|
|
START_RANK=$(( ${LWS_WORKER_INDEX:-0} * {{ or .Spec.Parallelism.DataLocal 1 }} ))
|
|
|
|
# --disable-access-log-for-endpoints landed in vLLM 0.16.0 (vllm-project/vllm#30011).
|
|
# Older versions still need the blanket --disable-uvicorn-access-log.
|
|
ACCESS_LOG_ARGS="--disable-uvicorn-access-log"
|
|
VLLM_VERSION=$(vllm --version 2>/dev/null | tail -1 | awk '{print $NF}')
|
|
echo "[access-log-detect] vllm version='${VLLM_VERSION}'"
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.16.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.16.0" ]; then
|
|
ACCESS_LOG_ARGS="--disable-access-log-for-endpoints /health,/metrics,/ping"
|
|
fi
|
|
echo "[access-log-detect] selected ACCESS_LOG_ARGS='${ACCESS_LOG_ARGS}'"
|
|
|
|
# --shutdown-timeout landed in vLLM 0.18.0 (vllm-project/vllm#36666).
|
|
SHUTDOWN_TIMEOUT_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.18.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.18.0" ]; then
|
|
SHUTDOWN_TIMEOUT_ARGS="--shutdown-timeout {{ shutdownTimeout .Spec.Worker 15 }}"
|
|
fi
|
|
|
|
# --kv-transfer-config with OffloadingConnector requires vLLM 0.22.0+ (vllm-project/vllm#40020).
|
|
KV_TRANSFER_ARGS=""
|
|
if [[ "$VLLM_VERSION" =~ ^[0-9]+\.[0-9]+ ]] && [ "$(printf '%s\n%s\n' "0.22.0" "${VLLM_VERSION}" | sort -V | head -1)" = "0.22.0" ]; then
|
|
if [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv-transfer-config"* ]] && [[ "${VLLM_ADDITIONAL_ARGS:-}" != *"--kv_transfer_config"* ]] && [[ "$*" != *"--kv-transfer-config"* ]] && [[ "$*" != *"--kv_transfer_config"* ]]; then
|
|
KV_TRANSFER_ARGS="{{ kvTransferConfig .Spec.KVCacheOffloading }}"
|
|
fi
|
|
fi
|
|
|
|
eval "exec vllm serve \
|
|
/mnt/models \
|
|
--served-model-name "{{ .Spec.Model.Name }}" "publishers/{{ .ObjectMeta.Namespace }}/models/{{ .Spec.Model.Name }}" \
|
|
--port 8000 \
|
|
{{- if .Spec.Parallelism.Expert }}--enable-expert-parallel{{- end }} \
|
|
{{- if .Spec.Parallelism.Tensor }}--tensor-parallel-size {{ .Spec.Parallelism.Tensor }}{{- end }} \
|
|
--data-parallel-size {{ or .Spec.Parallelism.Data 1 }} \
|
|
--data-parallel-size-local {{ or .Spec.Parallelism.DataLocal 1 }} \
|
|
--data-parallel-address ${DP_ADDRESS} \
|
|
--data-parallel-rpc-port {{ if .Spec.Parallelism.DataRPCPort }}{{ .Spec.Parallelism.DataRPCPort }}{{ else }}5555{{- end }} \
|
|
--data-parallel-start-rank $START_RANK \
|
|
--headless \
|
|
${ACCESS_LOG_ARGS} \
|
|
${SHUTDOWN_TIMEOUT_ARGS} \
|
|
${KV_TRANSFER_ARGS} \
|
|
{{ if .GlobalConfig.EnableTLS }}--enable-ssl-refresh{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-certfile /var/run/kserve/tls/tls.crt{{- end }} \
|
|
{{ if .GlobalConfig.EnableTLS }}--ssl-keyfile /var/run/kserve/tls/tls.key{{- end }} \
|
|
${VLLM_ADDITIONAL_ARGS} \
|
|
$@"
|
|
- --
|
|
env:
|
|
- name: HOME
|
|
value: /home
|
|
- name: VLLM_LOGGING_LEVEL
|
|
value: INFO
|
|
- name: HF_HUB_CACHE
|
|
value: /models
|
|
image: ghcr.io/llm-d/llm-d-cuda:v0.7.0
|
|
imagePullPolicy: IfNotPresent
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /bin/sleep
|
|
- "15"
|
|
name: main
|
|
ports:
|
|
- containerPort: 8000
|
|
protocol: TCP
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
add:
|
|
- IPC_LOCK
|
|
- SYS_RAWIO
|
|
- NET_RAW
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: false
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
volumeMounts:
|
|
- mountPath: /home
|
|
name: home
|
|
- mountPath: /tmp
|
|
name: tmp-dir
|
|
- mountPath: /dev/shm
|
|
name: dshm
|
|
- mountPath: /models
|
|
name: model-cache
|
|
- mountPath: /var/run/kserve/tls
|
|
name: tls-certs
|
|
readOnly: true
|
|
terminationGracePeriodSeconds: 60
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: home
|
|
- emptyDir: {}
|
|
name: tmp-dir
|
|
- emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 8Gi
|
|
name: dshm
|
|
- emptyDir: {}
|
|
name: model-cache
|
|
- name: tls-certs
|
|
secret:
|
|
secretName: '{{ ChildName .ObjectMeta.Name `-kserve-self-signed-certs` }}'
|
|
KSERVE_LLMISVCCONFIG_MANIFEST_EOF
|
|
}
|
|
|
|
create_kserve_runtime_manifests() {
|
|
get_kserve_runtime_manifests | kubectl apply --server-side -f -
|
|
}
|
|
|
|
create_kserve_llmisvcconfig_manifests() {
|
|
get_kserve_llmisvcconfig_manifests | kubectl apply --server-side -f -
|
|
}
|
|
|
|
get_kserve_crd_manifest() {
|
|
cat <<'KSERVE_CRD_MANIFEST_EOF'
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: clusterservingruntimes.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: ClusterServingRuntime
|
|
listKind: ClusterServingRuntimeList
|
|
plural: clusterservingruntimes
|
|
singular: clusterservingruntime
|
|
scope: Cluster
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.disabled
|
|
name: Disabled
|
|
type: boolean
|
|
- jsonPath: .spec.supportedModelFormats[*].name
|
|
name: ModelType
|
|
type: string
|
|
- jsonPath: .spec.containers[*].name
|
|
name: Containers
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
builtInAdapter:
|
|
properties:
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
memBufferBytes:
|
|
type: integer
|
|
modelLoadingTimeoutMillis:
|
|
type: integer
|
|
runtimeManagementPort:
|
|
type: integer
|
|
serverType:
|
|
type: string
|
|
type: object
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
disabled:
|
|
type: boolean
|
|
grpcDataEndpoint:
|
|
type: string
|
|
grpcEndpoint:
|
|
type: string
|
|
hostIPC:
|
|
type: boolean
|
|
httpDataEndpoint:
|
|
type: string
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
multiModel:
|
|
type: boolean
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
protocolVersions:
|
|
items:
|
|
type: string
|
|
type: array
|
|
replicas:
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
storageHelper:
|
|
properties:
|
|
disabled:
|
|
type: boolean
|
|
type: object
|
|
supportedModelFormats:
|
|
items:
|
|
properties:
|
|
autoSelect:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
minimum: 1
|
|
type: integer
|
|
version:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
workerSpec:
|
|
properties:
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
pipelineParallelSize:
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
tensorParallelSize:
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
required:
|
|
- containers
|
|
type: object
|
|
required:
|
|
- containers
|
|
type: object
|
|
status:
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: clusterstoragecontainers.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: ClusterStorageContainer
|
|
listKind: ClusterStorageContainerList
|
|
plural: clusterstoragecontainers
|
|
singular: clusterstoragecontainer
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
disabled:
|
|
type: boolean
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
container:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
supportedUriFormats:
|
|
items:
|
|
properties:
|
|
prefix:
|
|
type: string
|
|
regex:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
supportsMultiModelDownload:
|
|
default: false
|
|
type: boolean
|
|
workloadType:
|
|
default: initContainer
|
|
type: string
|
|
required:
|
|
- container
|
|
- supportedUriFormats
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: inferencegraphs.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: InferenceGraph
|
|
listKind: InferenceGraphList
|
|
plural: inferencegraphs
|
|
shortNames:
|
|
- ig
|
|
singular: inferencegraph
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.url
|
|
name: URL
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
maxReplicas:
|
|
format: int32
|
|
type: integer
|
|
minReplicas:
|
|
format: int32
|
|
type: integer
|
|
nodeName:
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
nodes:
|
|
additionalProperties:
|
|
properties:
|
|
routerType:
|
|
enum:
|
|
- Sequence
|
|
- Splitter
|
|
- Ensemble
|
|
- Switch
|
|
type: string
|
|
steps:
|
|
items:
|
|
properties:
|
|
condition:
|
|
type: string
|
|
data:
|
|
type: string
|
|
dependency:
|
|
enum:
|
|
- Soft
|
|
- Hard
|
|
type: string
|
|
mapPredictionsToInstances:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
nodeName:
|
|
type: string
|
|
serviceName:
|
|
type: string
|
|
serviceUrl:
|
|
type: string
|
|
weight:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
required:
|
|
- routerType
|
|
type: object
|
|
type: object
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
routerTimeouts:
|
|
properties:
|
|
serverIdle:
|
|
format: int64
|
|
type: integer
|
|
serverRead:
|
|
format: int64
|
|
type: integer
|
|
serverWrite:
|
|
format: int64
|
|
type: integer
|
|
serviceClient:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
scaleMetric:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
- concurrency
|
|
- rps
|
|
type: string
|
|
scaleTarget:
|
|
format: int32
|
|
type: integer
|
|
serviceAccountName:
|
|
type: string
|
|
timeout:
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
required:
|
|
- nodes
|
|
type: object
|
|
status:
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
conditions:
|
|
items:
|
|
properties:
|
|
lastTransitionTime:
|
|
type: string
|
|
message:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
severity:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
deploymentMode:
|
|
type: string
|
|
observedGeneration:
|
|
format: int64
|
|
type: integer
|
|
url:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: inferenceservices.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: InferenceService
|
|
listKind: InferenceServiceList
|
|
plural: inferenceservices
|
|
shortNames:
|
|
- isvc
|
|
singular: inferenceservice
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.url
|
|
name: URL
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .status.components.predictor.traffic[?(@.tag=='prev')].percent
|
|
name: Prev
|
|
type: integer
|
|
- jsonPath: .status.components.predictor.traffic[?(@.latestRevision==true)].percent
|
|
name: Latest
|
|
type: integer
|
|
- jsonPath: .status.components.predictor.traffic[?(@.tag=='prev')].revisionName
|
|
name: PrevRolledoutRevision
|
|
type: string
|
|
- jsonPath: .status.components.predictor.traffic[?(@.latestRevision==true)].revisionName
|
|
name: LatestReadyRevision
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1beta1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
explainer:
|
|
properties:
|
|
activeDeadlineSeconds:
|
|
format: int64
|
|
type: integer
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
art:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
config:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
type:
|
|
type: string
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
autoScaling:
|
|
properties:
|
|
behavior:
|
|
properties:
|
|
scaleDown:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
scaleUp:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
metrics:
|
|
items:
|
|
properties:
|
|
external:
|
|
properties:
|
|
authenticationRef:
|
|
properties:
|
|
authModes:
|
|
type: string
|
|
authenticationRef:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- authenticationRef
|
|
type: object
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- prometheus
|
|
- graphite
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
podmetric:
|
|
properties:
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- opentelemetry
|
|
type: string
|
|
metricNames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
operationOverTime:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
resource:
|
|
properties:
|
|
name:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
type: string
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- name
|
|
- target
|
|
type: object
|
|
type:
|
|
enum:
|
|
- Resource
|
|
- External
|
|
- PodMetric
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
automountServiceAccountToken:
|
|
type: boolean
|
|
batcher:
|
|
properties:
|
|
maxBatchSize:
|
|
type: integer
|
|
maxLatency:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
type: object
|
|
canaryTrafficPercent:
|
|
format: int64
|
|
type: integer
|
|
containerConcurrency:
|
|
format: int64
|
|
type: integer
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
deploymentStrategy:
|
|
properties:
|
|
rollingUpdate:
|
|
properties:
|
|
maxSurge:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type:
|
|
type: string
|
|
type: object
|
|
dnsConfig:
|
|
properties:
|
|
nameservers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
options:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
searches:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
dnsPolicy:
|
|
type: string
|
|
enableServiceLinks:
|
|
type: boolean
|
|
hostAliases:
|
|
items:
|
|
properties:
|
|
hostnames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
hostNetwork:
|
|
type: boolean
|
|
hostPID:
|
|
type: boolean
|
|
hostUsers:
|
|
type: boolean
|
|
hostname:
|
|
type: string
|
|
hostnameOverride:
|
|
type: string
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
initContainers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
logger:
|
|
properties:
|
|
batchInterval:
|
|
type: string
|
|
batchSize:
|
|
type: integer
|
|
marshallerUrl:
|
|
type: string
|
|
metadataAnnotations:
|
|
items:
|
|
type: string
|
|
type: array
|
|
metadataHeaders:
|
|
items:
|
|
type: string
|
|
type: array
|
|
mode:
|
|
enum:
|
|
- all
|
|
- request
|
|
- response
|
|
type: string
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
type: object
|
|
url:
|
|
type: string
|
|
type: object
|
|
maxReplicas:
|
|
format: int32
|
|
type: integer
|
|
minReplicas:
|
|
format: int32
|
|
type: integer
|
|
nodeName:
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
os:
|
|
properties:
|
|
name:
|
|
type: string
|
|
type: object
|
|
overhead:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
preemptionPolicy:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
type: integer
|
|
priorityClassName:
|
|
type: string
|
|
readinessGates:
|
|
items:
|
|
properties:
|
|
conditionType:
|
|
type: string
|
|
required:
|
|
- conditionType
|
|
type: object
|
|
type: array
|
|
resourceClaims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
resourceClaimName:
|
|
type: string
|
|
resourceClaimTemplateName:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
runtimeClassName:
|
|
type: string
|
|
scaleMetric:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
- concurrency
|
|
- rps
|
|
type: string
|
|
scaleMetricType:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
scaleTarget:
|
|
format: int32
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
schedulingGates:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
securityContext:
|
|
properties:
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
serviceAccount:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
setHostnameAsFQDN:
|
|
type: boolean
|
|
shareProcessNamespace:
|
|
type: boolean
|
|
storageUris:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
default: /mnt/models
|
|
maxLength: 255
|
|
pattern: ^/.*
|
|
type: string
|
|
uri:
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- uri
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
subdomain:
|
|
type: string
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeout:
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
topologySpreadConstraints:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
maxSkew:
|
|
format: int32
|
|
type: integer
|
|
minDomains:
|
|
format: int32
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
required:
|
|
- maxSkew
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
x-kubernetes-list-type: map
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
predictor:
|
|
properties:
|
|
activeDeadlineSeconds:
|
|
format: int64
|
|
type: integer
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
autoScaling:
|
|
properties:
|
|
behavior:
|
|
properties:
|
|
scaleDown:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
scaleUp:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
metrics:
|
|
items:
|
|
properties:
|
|
external:
|
|
properties:
|
|
authenticationRef:
|
|
properties:
|
|
authModes:
|
|
type: string
|
|
authenticationRef:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- authenticationRef
|
|
type: object
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- prometheus
|
|
- graphite
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
podmetric:
|
|
properties:
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- opentelemetry
|
|
type: string
|
|
metricNames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
operationOverTime:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
resource:
|
|
properties:
|
|
name:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
type: string
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- name
|
|
- target
|
|
type: object
|
|
type:
|
|
enum:
|
|
- Resource
|
|
- External
|
|
- PodMetric
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
automountServiceAccountToken:
|
|
type: boolean
|
|
batcher:
|
|
properties:
|
|
maxBatchSize:
|
|
type: integer
|
|
maxLatency:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
type: object
|
|
canaryTrafficPercent:
|
|
format: int64
|
|
type: integer
|
|
containerConcurrency:
|
|
format: int64
|
|
type: integer
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
deploymentStrategy:
|
|
properties:
|
|
rollingUpdate:
|
|
properties:
|
|
maxSurge:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type:
|
|
type: string
|
|
type: object
|
|
dnsConfig:
|
|
properties:
|
|
nameservers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
options:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
searches:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
dnsPolicy:
|
|
type: string
|
|
enableServiceLinks:
|
|
type: boolean
|
|
hostAliases:
|
|
items:
|
|
properties:
|
|
hostnames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
hostNetwork:
|
|
type: boolean
|
|
hostPID:
|
|
type: boolean
|
|
hostUsers:
|
|
type: boolean
|
|
hostname:
|
|
type: string
|
|
hostnameOverride:
|
|
type: string
|
|
huggingface:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
initContainers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
lightgbm:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
logger:
|
|
properties:
|
|
batchInterval:
|
|
type: string
|
|
batchSize:
|
|
type: integer
|
|
marshallerUrl:
|
|
type: string
|
|
metadataAnnotations:
|
|
items:
|
|
type: string
|
|
type: array
|
|
metadataHeaders:
|
|
items:
|
|
type: string
|
|
type: array
|
|
mode:
|
|
enum:
|
|
- all
|
|
- request
|
|
- response
|
|
type: string
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
type: object
|
|
url:
|
|
type: string
|
|
type: object
|
|
maxReplicas:
|
|
format: int32
|
|
type: integer
|
|
minReplicas:
|
|
format: int32
|
|
type: integer
|
|
model:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
modelFormat:
|
|
properties:
|
|
name:
|
|
type: string
|
|
version:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtime:
|
|
type: string
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
nodeName:
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
onnx:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
os:
|
|
properties:
|
|
name:
|
|
type: string
|
|
type: object
|
|
overhead:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
paddle:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
pmml:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
preemptionPolicy:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
type: integer
|
|
priorityClassName:
|
|
type: string
|
|
pytorch:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
readinessGates:
|
|
items:
|
|
properties:
|
|
conditionType:
|
|
type: string
|
|
required:
|
|
- conditionType
|
|
type: object
|
|
type: array
|
|
resourceClaims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
resourceClaimName:
|
|
type: string
|
|
resourceClaimTemplateName:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
runtimeClassName:
|
|
type: string
|
|
scaleMetric:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
- concurrency
|
|
- rps
|
|
type: string
|
|
scaleMetricType:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
scaleTarget:
|
|
format: int32
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
schedulingGates:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
securityContext:
|
|
properties:
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
serviceAccount:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
setHostnameAsFQDN:
|
|
type: boolean
|
|
shareProcessNamespace:
|
|
type: boolean
|
|
sklearn:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
storageContainerName:
|
|
type: string
|
|
storageUris:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
default: /mnt/models
|
|
maxLength: 255
|
|
pattern: ^/.*
|
|
type: string
|
|
uri:
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- uri
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
subdomain:
|
|
type: string
|
|
tensorflow:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeout:
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
topologySpreadConstraints:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
maxSkew:
|
|
format: int32
|
|
type: integer
|
|
minDomains:
|
|
format: int32
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
required:
|
|
- maxSkew
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
x-kubernetes-list-type: map
|
|
triton:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
workerSpec:
|
|
properties:
|
|
activeDeadlineSeconds:
|
|
format: int64
|
|
type: integer
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
automountServiceAccountToken:
|
|
type: boolean
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
dnsConfig:
|
|
properties:
|
|
nameservers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
options:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
searches:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
dnsPolicy:
|
|
type: string
|
|
enableServiceLinks:
|
|
type: boolean
|
|
ephemeralContainers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
targetContainerName:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
hostAliases:
|
|
items:
|
|
properties:
|
|
hostnames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
hostNetwork:
|
|
type: boolean
|
|
hostPID:
|
|
type: boolean
|
|
hostUsers:
|
|
type: boolean
|
|
hostname:
|
|
type: string
|
|
hostnameOverride:
|
|
type: string
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
initContainers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
nodeName:
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
os:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
overhead:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
pipelineParallelSize:
|
|
type: integer
|
|
preemptionPolicy:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
type: integer
|
|
priorityClassName:
|
|
type: string
|
|
readinessGates:
|
|
items:
|
|
properties:
|
|
conditionType:
|
|
type: string
|
|
required:
|
|
- conditionType
|
|
type: object
|
|
type: array
|
|
resourceClaims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
resourceClaimName:
|
|
type: string
|
|
resourceClaimTemplateName:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
runtimeClassName:
|
|
type: string
|
|
schedulerName:
|
|
type: string
|
|
schedulingGates:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
securityContext:
|
|
properties:
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
serviceAccount:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
setHostnameAsFQDN:
|
|
type: boolean
|
|
shareProcessNamespace:
|
|
type: boolean
|
|
subdomain:
|
|
type: string
|
|
tensorParallelSize:
|
|
type: integer
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
topologySpreadConstraints:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
maxSkew:
|
|
format: int32
|
|
type: integer
|
|
minDomains:
|
|
format: int32
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
required:
|
|
- maxSkew
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
x-kubernetes-list-type: map
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
xgboost:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
confidential:
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
resourceId:
|
|
type: string
|
|
required:
|
|
- enabled
|
|
type: object
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
protocolVersion:
|
|
type: string
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
runtimeVersion:
|
|
type: string
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
schemaPath:
|
|
type: string
|
|
type: object
|
|
storageUri:
|
|
type: string
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
transformer:
|
|
properties:
|
|
activeDeadlineSeconds:
|
|
format: int64
|
|
type: integer
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
autoScaling:
|
|
properties:
|
|
behavior:
|
|
properties:
|
|
scaleDown:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
scaleUp:
|
|
properties:
|
|
policies:
|
|
items:
|
|
properties:
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
type:
|
|
type: string
|
|
value:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- periodSeconds
|
|
- type
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
selectPolicy:
|
|
type: string
|
|
stabilizationWindowSeconds:
|
|
format: int32
|
|
type: integer
|
|
tolerance:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
metrics:
|
|
items:
|
|
properties:
|
|
external:
|
|
properties:
|
|
authenticationRef:
|
|
properties:
|
|
authModes:
|
|
type: string
|
|
authenticationRef:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
required:
|
|
- authenticationRef
|
|
type: object
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- prometheus
|
|
- graphite
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
podmetric:
|
|
properties:
|
|
metric:
|
|
properties:
|
|
backend:
|
|
enum:
|
|
- opentelemetry
|
|
type: string
|
|
metricNames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
operationOverTime:
|
|
type: string
|
|
query:
|
|
type: string
|
|
serverAddress:
|
|
type: string
|
|
type: object
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- metric
|
|
- target
|
|
type: object
|
|
resource:
|
|
properties:
|
|
name:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
type: string
|
|
target:
|
|
properties:
|
|
averageUtilization:
|
|
format: int32
|
|
type: integer
|
|
averageValue:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
value:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
required:
|
|
- name
|
|
- target
|
|
type: object
|
|
type:
|
|
enum:
|
|
- Resource
|
|
- External
|
|
- PodMetric
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: array
|
|
type: object
|
|
automountServiceAccountToken:
|
|
type: boolean
|
|
batcher:
|
|
properties:
|
|
maxBatchSize:
|
|
type: integer
|
|
maxLatency:
|
|
type: integer
|
|
timeout:
|
|
type: integer
|
|
type: object
|
|
canaryTrafficPercent:
|
|
format: int64
|
|
type: integer
|
|
containerConcurrency:
|
|
format: int64
|
|
type: integer
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
deploymentStrategy:
|
|
properties:
|
|
rollingUpdate:
|
|
properties:
|
|
maxSurge:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
maxUnavailable:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type:
|
|
type: string
|
|
type: object
|
|
dnsConfig:
|
|
properties:
|
|
nameservers:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
options:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
searches:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
dnsPolicy:
|
|
type: string
|
|
enableServiceLinks:
|
|
type: boolean
|
|
hostAliases:
|
|
items:
|
|
properties:
|
|
hostnames:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
ip:
|
|
type: string
|
|
required:
|
|
- ip
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
hostNetwork:
|
|
type: boolean
|
|
hostPID:
|
|
type: boolean
|
|
hostUsers:
|
|
type: boolean
|
|
hostname:
|
|
type: string
|
|
hostnameOverride:
|
|
type: string
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
initContainers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
logger:
|
|
properties:
|
|
batchInterval:
|
|
type: string
|
|
batchSize:
|
|
type: integer
|
|
marshallerUrl:
|
|
type: string
|
|
metadataAnnotations:
|
|
items:
|
|
type: string
|
|
type: array
|
|
metadataHeaders:
|
|
items:
|
|
type: string
|
|
type: array
|
|
mode:
|
|
enum:
|
|
- all
|
|
- request
|
|
- response
|
|
type: string
|
|
storage:
|
|
properties:
|
|
key:
|
|
type: string
|
|
parameters:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
path:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
type: object
|
|
url:
|
|
type: string
|
|
type: object
|
|
maxReplicas:
|
|
format: int32
|
|
type: integer
|
|
minReplicas:
|
|
format: int32
|
|
type: integer
|
|
nodeName:
|
|
type: string
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
os:
|
|
properties:
|
|
name:
|
|
type: string
|
|
type: object
|
|
overhead:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
preemptionPolicy:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
type: integer
|
|
priorityClassName:
|
|
type: string
|
|
readinessGates:
|
|
items:
|
|
properties:
|
|
conditionType:
|
|
type: string
|
|
required:
|
|
- conditionType
|
|
type: object
|
|
type: array
|
|
resourceClaims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
resourceClaimName:
|
|
type: string
|
|
resourceClaimTemplateName:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
runtimeClassName:
|
|
type: string
|
|
scaleMetric:
|
|
enum:
|
|
- cpu
|
|
- memory
|
|
- concurrency
|
|
- rps
|
|
type: string
|
|
scaleMetricType:
|
|
enum:
|
|
- Utilization
|
|
- Value
|
|
- AverageValue
|
|
type: string
|
|
scaleTarget:
|
|
format: int32
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
schedulingGates:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
securityContext:
|
|
properties:
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
fsGroup:
|
|
format: int64
|
|
type: integer
|
|
fsGroupChangePolicy:
|
|
type: string
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxChangePolicy:
|
|
type: string
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
supplementalGroups:
|
|
items:
|
|
format: int64
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
supplementalGroupsPolicy:
|
|
type: string
|
|
sysctls:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
serviceAccount:
|
|
type: string
|
|
serviceAccountName:
|
|
type: string
|
|
setHostnameAsFQDN:
|
|
type: boolean
|
|
shareProcessNamespace:
|
|
type: boolean
|
|
storageUris:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
default: /mnt/models
|
|
maxLength: 255
|
|
pattern: ^/.*
|
|
type: string
|
|
uri:
|
|
minLength: 1
|
|
type: string
|
|
required:
|
|
- uri
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
subdomain:
|
|
type: string
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeout:
|
|
format: int64
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
topologySpreadConstraints:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
maxSkew:
|
|
format: int32
|
|
type: integer
|
|
minDomains:
|
|
format: int32
|
|
type: integer
|
|
nodeAffinityPolicy:
|
|
type: string
|
|
nodeTaintsPolicy:
|
|
type: string
|
|
topologyKey:
|
|
type: string
|
|
whenUnsatisfiable:
|
|
type: string
|
|
required:
|
|
- maxSkew
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- topologyKey
|
|
- whenUnsatisfiable
|
|
x-kubernetes-list-type: map
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
required:
|
|
- predictor
|
|
type: object
|
|
status:
|
|
properties:
|
|
address:
|
|
properties:
|
|
CACerts:
|
|
type: string
|
|
audience:
|
|
type: string
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
clusterServingRuntimeName:
|
|
type: string
|
|
components:
|
|
additionalProperties:
|
|
properties:
|
|
address:
|
|
properties:
|
|
CACerts:
|
|
type: string
|
|
audience:
|
|
type: string
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
grpcUrl:
|
|
type: string
|
|
latestCreatedRevision:
|
|
type: string
|
|
latestReadyRevision:
|
|
type: string
|
|
latestRolledoutRevision:
|
|
type: string
|
|
previousRolledoutRevision:
|
|
type: string
|
|
restUrl:
|
|
type: string
|
|
traffic:
|
|
items:
|
|
properties:
|
|
configurationName:
|
|
type: string
|
|
latestRevision:
|
|
type: boolean
|
|
percent:
|
|
format: int64
|
|
type: integer
|
|
revisionName:
|
|
type: string
|
|
tag:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
url:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
conditions:
|
|
items:
|
|
properties:
|
|
lastTransitionTime:
|
|
type: string
|
|
message:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
severity:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
deploymentMode:
|
|
type: string
|
|
modelStatus:
|
|
properties:
|
|
copies:
|
|
properties:
|
|
failedCopies:
|
|
default: 0
|
|
type: integer
|
|
totalCopies:
|
|
type: integer
|
|
required:
|
|
- failedCopies
|
|
type: object
|
|
lastFailureInfo:
|
|
properties:
|
|
exitCode:
|
|
format: int32
|
|
type: integer
|
|
location:
|
|
type: string
|
|
message:
|
|
type: string
|
|
modelRevisionName:
|
|
type: string
|
|
reason:
|
|
enum:
|
|
- ModelLoadFailed
|
|
- RuntimeUnhealthy
|
|
- RuntimeDisabled
|
|
- NoSupportingRuntime
|
|
- RuntimeNotRecognized
|
|
- InvalidPredictorSpec
|
|
type: string
|
|
time:
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
states:
|
|
properties:
|
|
activeModelState:
|
|
default: Pending
|
|
enum:
|
|
- ""
|
|
- Pending
|
|
- Standby
|
|
- Loading
|
|
- Loaded
|
|
- FailedToLoad
|
|
type: string
|
|
targetModelState:
|
|
default: ""
|
|
enum:
|
|
- ""
|
|
- Pending
|
|
- Standby
|
|
- Loading
|
|
- Loaded
|
|
- FailedToLoad
|
|
type: string
|
|
required:
|
|
- activeModelState
|
|
type: object
|
|
transitionStatus:
|
|
default: UpToDate
|
|
enum:
|
|
- ""
|
|
- UpToDate
|
|
- InProgress
|
|
- BlockedByFailedLoad
|
|
- InvalidSpec
|
|
type: string
|
|
required:
|
|
- transitionStatus
|
|
type: object
|
|
observedGeneration:
|
|
format: int64
|
|
type: integer
|
|
servingRuntimeName:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: servingruntimes.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: ServingRuntime
|
|
listKind: ServingRuntimeList
|
|
plural: servingruntimes
|
|
singular: servingruntime
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.disabled
|
|
name: Disabled
|
|
type: boolean
|
|
- jsonPath: .spec.supportedModelFormats[*].name
|
|
name: ModelType
|
|
type: string
|
|
- jsonPath: .spec.containers[*].name
|
|
name: Containers
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
builtInAdapter:
|
|
properties:
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
memBufferBytes:
|
|
type: integer
|
|
modelLoadingTimeoutMillis:
|
|
type: integer
|
|
runtimeManagementPort:
|
|
type: integer
|
|
serverType:
|
|
type: string
|
|
type: object
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
disabled:
|
|
type: boolean
|
|
grpcDataEndpoint:
|
|
type: string
|
|
grpcEndpoint:
|
|
type: string
|
|
hostIPC:
|
|
type: boolean
|
|
httpDataEndpoint:
|
|
type: string
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
multiModel:
|
|
type: boolean
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
protocolVersions:
|
|
items:
|
|
type: string
|
|
type: array
|
|
replicas:
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
storageHelper:
|
|
properties:
|
|
disabled:
|
|
type: boolean
|
|
type: object
|
|
supportedModelFormats:
|
|
items:
|
|
properties:
|
|
autoSelect:
|
|
type: boolean
|
|
name:
|
|
type: string
|
|
priority:
|
|
format: int32
|
|
minimum: 1
|
|
type: integer
|
|
version:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
workerSpec:
|
|
properties:
|
|
affinity:
|
|
properties:
|
|
nodeAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
preference:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- preference
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
properties:
|
|
nodeSelectorTerms:
|
|
items:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchFields:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
podAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podAntiAffinity:
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
podAffinityTerm:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
items:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
matchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
mismatchLabelKeys:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
namespaceSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
topologyKey:
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
containers:
|
|
items:
|
|
properties:
|
|
args:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
env:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
valueFrom:
|
|
properties:
|
|
configMapKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
fileKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
optional:
|
|
default: false
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
- volumeName
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
secretKeyRef:
|
|
properties:
|
|
key:
|
|
type: string
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
envFrom:
|
|
items:
|
|
properties:
|
|
configMapRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
prefix:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
image:
|
|
type: string
|
|
imagePullPolicy:
|
|
type: string
|
|
lifecycle:
|
|
properties:
|
|
postStart:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
preStop:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
sleep:
|
|
properties:
|
|
seconds:
|
|
format: int64
|
|
type: integer
|
|
required:
|
|
- seconds
|
|
type: object
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
type: object
|
|
stopSignal:
|
|
type: string
|
|
type: object
|
|
livenessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
ports:
|
|
items:
|
|
properties:
|
|
containerPort:
|
|
format: int32
|
|
type: integer
|
|
hostIP:
|
|
type: string
|
|
hostPort:
|
|
format: int32
|
|
type: integer
|
|
name:
|
|
type: string
|
|
protocol:
|
|
default: TCP
|
|
type: string
|
|
required:
|
|
- containerPort
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- containerPort
|
|
- protocol
|
|
x-kubernetes-list-type: map
|
|
readinessProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
resizePolicy:
|
|
items:
|
|
properties:
|
|
resourceName:
|
|
type: string
|
|
restartPolicy:
|
|
type: string
|
|
required:
|
|
- resourceName
|
|
- restartPolicy
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
resources:
|
|
properties:
|
|
claims:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
request:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- name
|
|
x-kubernetes-list-type: map
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
restartPolicy:
|
|
type: string
|
|
restartPolicyRules:
|
|
items:
|
|
properties:
|
|
action:
|
|
type: string
|
|
exitCodes:
|
|
properties:
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
x-kubernetes-list-type: set
|
|
required:
|
|
- operator
|
|
type: object
|
|
required:
|
|
- action
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
securityContext:
|
|
properties:
|
|
allowPrivilegeEscalation:
|
|
type: boolean
|
|
appArmorProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
capabilities:
|
|
properties:
|
|
add:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
drop:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
privileged:
|
|
type: boolean
|
|
procMount:
|
|
type: string
|
|
readOnlyRootFilesystem:
|
|
type: boolean
|
|
runAsGroup:
|
|
format: int64
|
|
type: integer
|
|
runAsNonRoot:
|
|
type: boolean
|
|
runAsUser:
|
|
format: int64
|
|
type: integer
|
|
seLinuxOptions:
|
|
properties:
|
|
level:
|
|
type: string
|
|
role:
|
|
type: string
|
|
type:
|
|
type: string
|
|
user:
|
|
type: string
|
|
type: object
|
|
seccompProfile:
|
|
properties:
|
|
localhostProfile:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
windowsOptions:
|
|
properties:
|
|
gmsaCredentialSpec:
|
|
type: string
|
|
gmsaCredentialSpecName:
|
|
type: string
|
|
hostProcess:
|
|
type: boolean
|
|
runAsUserName:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
startupProbe:
|
|
properties:
|
|
exec:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
failureThreshold:
|
|
format: int32
|
|
type: integer
|
|
grpc:
|
|
properties:
|
|
port:
|
|
format: int32
|
|
type: integer
|
|
service:
|
|
default: ""
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
httpGet:
|
|
properties:
|
|
host:
|
|
type: string
|
|
httpHeaders:
|
|
items:
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
required:
|
|
- name
|
|
- value
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
scheme:
|
|
type: string
|
|
required:
|
|
- port
|
|
type: object
|
|
initialDelaySeconds:
|
|
format: int32
|
|
type: integer
|
|
periodSeconds:
|
|
format: int32
|
|
type: integer
|
|
successThreshold:
|
|
format: int32
|
|
type: integer
|
|
tcpSocket:
|
|
properties:
|
|
host:
|
|
type: string
|
|
port:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- port
|
|
type: object
|
|
terminationGracePeriodSeconds:
|
|
format: int64
|
|
type: integer
|
|
timeoutSeconds:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
stdin:
|
|
type: boolean
|
|
stdinOnce:
|
|
type: boolean
|
|
terminationMessagePath:
|
|
type: string
|
|
terminationMessagePolicy:
|
|
type: string
|
|
tty:
|
|
type: boolean
|
|
volumeDevices:
|
|
items:
|
|
properties:
|
|
devicePath:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- devicePath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- devicePath
|
|
x-kubernetes-list-type: map
|
|
volumeMounts:
|
|
items:
|
|
properties:
|
|
mountPath:
|
|
type: string
|
|
mountPropagation:
|
|
type: string
|
|
name:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
recursiveReadOnly:
|
|
type: string
|
|
subPath:
|
|
type: string
|
|
subPathExpr:
|
|
type: string
|
|
required:
|
|
- mountPath
|
|
- name
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- mountPath
|
|
x-kubernetes-list-type: map
|
|
workingDir:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
hostIPC:
|
|
type: boolean
|
|
imagePullSecrets:
|
|
items:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
type: array
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
nodeSelector:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
pipelineParallelSize:
|
|
type: integer
|
|
schedulerName:
|
|
type: string
|
|
tensorParallelSize:
|
|
type: integer
|
|
tolerations:
|
|
items:
|
|
properties:
|
|
effect:
|
|
type: string
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
tolerationSeconds:
|
|
format: int64
|
|
type: integer
|
|
value:
|
|
type: string
|
|
type: object
|
|
type: array
|
|
volumes:
|
|
items:
|
|
properties:
|
|
awsElasticBlockStore:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
azureDisk:
|
|
properties:
|
|
cachingMode:
|
|
type: string
|
|
diskName:
|
|
type: string
|
|
diskURI:
|
|
type: string
|
|
fsType:
|
|
default: ext4
|
|
type: string
|
|
kind:
|
|
type: string
|
|
readOnly:
|
|
default: false
|
|
type: boolean
|
|
required:
|
|
- diskName
|
|
- diskURI
|
|
type: object
|
|
azureFile:
|
|
properties:
|
|
readOnly:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
shareName:
|
|
type: string
|
|
required:
|
|
- secretName
|
|
- shareName
|
|
type: object
|
|
cephfs:
|
|
properties:
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretFile:
|
|
type: string
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
type: string
|
|
required:
|
|
- monitors
|
|
type: object
|
|
cinder:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
csi:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
nodePublishSecretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
volumeAttributes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- driver
|
|
type: object
|
|
downwardAPI:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
emptyDir:
|
|
properties:
|
|
medium:
|
|
type: string
|
|
sizeLimit:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
ephemeral:
|
|
properties:
|
|
volumeClaimTemplate:
|
|
properties:
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
accessModes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
dataSource:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
dataSourceRef:
|
|
properties:
|
|
apiGroup:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
namespace:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
resources:
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
selector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
storageClassName:
|
|
type: string
|
|
volumeAttributesClassName:
|
|
type: string
|
|
volumeMode:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- spec
|
|
type: object
|
|
type: object
|
|
fc:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
readOnly:
|
|
type: boolean
|
|
targetWWNs:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
wwids:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
flexVolume:
|
|
properties:
|
|
driver:
|
|
type: string
|
|
fsType:
|
|
type: string
|
|
options:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- driver
|
|
type: object
|
|
flocker:
|
|
properties:
|
|
datasetName:
|
|
type: string
|
|
datasetUUID:
|
|
type: string
|
|
type: object
|
|
gcePersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
partition:
|
|
format: int32
|
|
type: integer
|
|
pdName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- pdName
|
|
type: object
|
|
gitRepo:
|
|
properties:
|
|
directory:
|
|
type: string
|
|
repository:
|
|
type: string
|
|
revision:
|
|
type: string
|
|
required:
|
|
- repository
|
|
type: object
|
|
glusterfs:
|
|
properties:
|
|
endpoints:
|
|
type: string
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- endpoints
|
|
- path
|
|
type: object
|
|
hostPath:
|
|
properties:
|
|
path:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
image:
|
|
properties:
|
|
pullPolicy:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
type: object
|
|
iscsi:
|
|
properties:
|
|
chapAuthDiscovery:
|
|
type: boolean
|
|
chapAuthSession:
|
|
type: boolean
|
|
fsType:
|
|
type: string
|
|
initiatorName:
|
|
type: string
|
|
iqn:
|
|
type: string
|
|
iscsiInterface:
|
|
default: default
|
|
type: string
|
|
lun:
|
|
format: int32
|
|
type: integer
|
|
portals:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
targetPortal:
|
|
type: string
|
|
required:
|
|
- iqn
|
|
- lun
|
|
- targetPortal
|
|
type: object
|
|
name:
|
|
type: string
|
|
nfs:
|
|
properties:
|
|
path:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
server:
|
|
type: string
|
|
required:
|
|
- path
|
|
- server
|
|
type: object
|
|
persistentVolumeClaim:
|
|
properties:
|
|
claimName:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
required:
|
|
- claimName
|
|
type: object
|
|
photonPersistentDisk:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
pdID:
|
|
type: string
|
|
required:
|
|
- pdID
|
|
type: object
|
|
portworxVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
volumeID:
|
|
type: string
|
|
required:
|
|
- volumeID
|
|
type: object
|
|
projected:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
sources:
|
|
items:
|
|
properties:
|
|
clusterTrustBundle:
|
|
properties:
|
|
labelSelector:
|
|
properties:
|
|
matchExpressions:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
operator:
|
|
type: string
|
|
values:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
path:
|
|
type: string
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
configMap:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
downwardAPI:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
fieldRef:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
fieldPath:
|
|
type: string
|
|
required:
|
|
- fieldPath
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
resourceFieldRef:
|
|
properties:
|
|
containerName:
|
|
type: string
|
|
divisor:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
resource:
|
|
type: string
|
|
required:
|
|
- resource
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
required:
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
podCertificate:
|
|
properties:
|
|
certificateChainPath:
|
|
type: string
|
|
credentialBundlePath:
|
|
type: string
|
|
keyPath:
|
|
type: string
|
|
keyType:
|
|
type: string
|
|
maxExpirationSeconds:
|
|
format: int32
|
|
type: integer
|
|
signerName:
|
|
type: string
|
|
required:
|
|
- keyType
|
|
- signerName
|
|
type: object
|
|
secret:
|
|
properties:
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
name:
|
|
default: ""
|
|
type: string
|
|
optional:
|
|
type: boolean
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
serviceAccountToken:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
expirationSeconds:
|
|
format: int64
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- path
|
|
type: object
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
type: object
|
|
quobyte:
|
|
properties:
|
|
group:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
registry:
|
|
type: string
|
|
tenant:
|
|
type: string
|
|
user:
|
|
type: string
|
|
volume:
|
|
type: string
|
|
required:
|
|
- registry
|
|
- volume
|
|
type: object
|
|
rbd:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
image:
|
|
type: string
|
|
keyring:
|
|
default: /etc/ceph/keyring
|
|
type: string
|
|
monitors:
|
|
items:
|
|
type: string
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
pool:
|
|
default: rbd
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
user:
|
|
default: admin
|
|
type: string
|
|
required:
|
|
- image
|
|
- monitors
|
|
type: object
|
|
scaleIO:
|
|
properties:
|
|
fsType:
|
|
default: xfs
|
|
type: string
|
|
gateway:
|
|
type: string
|
|
protectionDomain:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
sslEnabled:
|
|
type: boolean
|
|
storageMode:
|
|
default: ThinProvisioned
|
|
type: string
|
|
storagePool:
|
|
type: string
|
|
system:
|
|
type: string
|
|
volumeName:
|
|
type: string
|
|
required:
|
|
- gateway
|
|
- secretRef
|
|
- system
|
|
type: object
|
|
secret:
|
|
properties:
|
|
defaultMode:
|
|
format: int32
|
|
type: integer
|
|
items:
|
|
items:
|
|
properties:
|
|
key:
|
|
type: string
|
|
mode:
|
|
format: int32
|
|
type: integer
|
|
path:
|
|
type: string
|
|
required:
|
|
- key
|
|
- path
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-type: atomic
|
|
optional:
|
|
type: boolean
|
|
secretName:
|
|
type: string
|
|
type: object
|
|
storageos:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
readOnly:
|
|
type: boolean
|
|
secretRef:
|
|
properties:
|
|
name:
|
|
default: ""
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
volumeName:
|
|
type: string
|
|
volumeNamespace:
|
|
type: string
|
|
type: object
|
|
vsphereVolume:
|
|
properties:
|
|
fsType:
|
|
type: string
|
|
storagePolicyID:
|
|
type: string
|
|
storagePolicyName:
|
|
type: string
|
|
volumePath:
|
|
type: string
|
|
required:
|
|
- volumePath
|
|
type: object
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
required:
|
|
- containers
|
|
type: object
|
|
required:
|
|
- containers
|
|
type: object
|
|
status:
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.19.0
|
|
name: trainedmodels.serving.kserve.io
|
|
spec:
|
|
group: serving.kserve.io
|
|
names:
|
|
kind: TrainedModel
|
|
listKind: TrainedModelList
|
|
plural: trainedmodels
|
|
shortNames:
|
|
- tm
|
|
singular: trainedmodel
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .status.url
|
|
name: URL
|
|
type: string
|
|
- jsonPath: .status.conditions[?(@.type=='Ready')].status
|
|
name: Ready
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
type: string
|
|
kind:
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
properties:
|
|
inferenceService:
|
|
type: string
|
|
model:
|
|
properties:
|
|
framework:
|
|
type: string
|
|
memory:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
storageUri:
|
|
type: string
|
|
required:
|
|
- framework
|
|
- memory
|
|
- storageUri
|
|
type: object
|
|
required:
|
|
- inferenceService
|
|
- model
|
|
type: object
|
|
status:
|
|
properties:
|
|
address:
|
|
properties:
|
|
CACerts:
|
|
type: string
|
|
audience:
|
|
type: string
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
conditions:
|
|
items:
|
|
properties:
|
|
lastTransitionTime:
|
|
type: string
|
|
message:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
severity:
|
|
type: string
|
|
status:
|
|
type: string
|
|
type:
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
observedGeneration:
|
|
format: int64
|
|
type: integer
|
|
url:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
KSERVE_CRD_MANIFEST_EOF
|
|
}
|
|
|
|
get_kserve_core_manifest() {
|
|
cat <<'KSERVE_CORE_MANIFEST_EOF'
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: kserve
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/instance: kserve-controller-manager
|
|
app.kubernetes.io/managed-by: kserve-controller-manager
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-controller-manager
|
|
namespace: kserve
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-leader-election-role
|
|
namespace: kserve
|
|
rules:
|
|
- apiGroups:
|
|
- coordination.k8s.io
|
|
resources:
|
|
- leases
|
|
verbs:
|
|
- create
|
|
- get
|
|
- list
|
|
- update
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps/status
|
|
verbs:
|
|
- get
|
|
- update
|
|
- patch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-manager-role
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
verbs:
|
|
- create
|
|
- get
|
|
- update
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
- services
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- namespaces
|
|
- pods
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
- serviceaccounts
|
|
verbs:
|
|
- get
|
|
- apiGroups:
|
|
- admissionregistration.k8s.io
|
|
resources:
|
|
- mutatingwebhookconfigurations
|
|
- validatingwebhookconfigurations
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- apps
|
|
resources:
|
|
- deployments
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- autoscaling
|
|
resources:
|
|
- horizontalpodautoscalers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- gateway.networking.k8s.io
|
|
resources:
|
|
- httproutes
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- keda.sh
|
|
resources:
|
|
- scaledobjects
|
|
- scaledobjects/finalizers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- keda.sh
|
|
resources:
|
|
- scaledobjects/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- networking.istio.io
|
|
resources:
|
|
- virtualservices
|
|
- virtualservices/finalizers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- networking.istio.io
|
|
resources:
|
|
- virtualservices/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- networking.k8s.io
|
|
resources:
|
|
- ingresses
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- opentelemetry.io
|
|
resources:
|
|
- opentelemetrycollectors
|
|
- opentelemetrycollectors/finalizers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- opentelemetry.io
|
|
resources:
|
|
- opentelemetrycollectors/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- serving.knative.dev
|
|
resources:
|
|
- services
|
|
- services/finalizers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- serving.knative.dev
|
|
resources:
|
|
- services/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
resources:
|
|
- clusterservingruntimes
|
|
- clusterservingruntimes/finalizers
|
|
- clusterstoragecontainers
|
|
- inferencegraphs
|
|
- inferencegraphs/finalizers
|
|
- inferenceservices
|
|
- inferenceservices/finalizers
|
|
- servingruntimes
|
|
- servingruntimes/finalizers
|
|
- trainedmodels
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
resources:
|
|
- clusterservingruntimes/status
|
|
- inferencegraphs/status
|
|
- inferenceservices/status
|
|
- servingruntimes/status
|
|
- trainedmodels/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
resources:
|
|
- localmodelcaches
|
|
- localmodelnamespacecaches
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-proxy-role
|
|
rules:
|
|
- apiGroups:
|
|
- authentication.k8s.io
|
|
resources:
|
|
- tokenreviews
|
|
verbs:
|
|
- create
|
|
- apiGroups:
|
|
- authorization.k8s.io
|
|
resources:
|
|
- subjectaccessreviews
|
|
verbs:
|
|
- create
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-leader-election-rolebinding
|
|
namespace: kserve
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: kserve-leader-election-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kserve-controller-manager
|
|
namespace: kserve
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-manager-rolebinding
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kserve-manager-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kserve-controller-manager
|
|
namespace: kserve
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-proxy-rolebinding
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kserve-proxy-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kserve-controller-manager
|
|
namespace: kserve
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
_example: |-
|
|
################################
|
|
# #
|
|
# EXAMPLE CONFIGURATION #
|
|
# #
|
|
################################
|
|
|
|
# This block is not actually functional configuration,
|
|
# but serves to illustrate the available configuration
|
|
# options and document them in a way that is accessible
|
|
# to users that `kubectl edit` this config map.
|
|
#
|
|
# These sample configuration options may be copied out of
|
|
# this example block and unindented to be in the data block
|
|
# to actually change the configuration.
|
|
|
|
# ====================================== EXPLAINERS CONFIGURATION ======================================
|
|
# Example
|
|
explainers: |-
|
|
{
|
|
"art": {
|
|
"image" : "kserve/art-explainer",
|
|
"defaultImageVersion": "latest"
|
|
}
|
|
}
|
|
# Art Explainer runtime configuration
|
|
explainers: |-
|
|
{
|
|
# Art explainer runtime configuration
|
|
"art": {
|
|
# image contains the default Art explainer serving runtime image uri.
|
|
"image" : "kserve/art-explainer",
|
|
|
|
# defautltImageVersion contains the Art explainer serving runtime default image version.
|
|
"defaultImageVersion": "latest"
|
|
}
|
|
}
|
|
# ====================================== ISVC CONFIGURATION ======================================
|
|
# Example - setting custom annotation
|
|
inferenceService: |-
|
|
{
|
|
"serviceAnnotationDisallowedList": [
|
|
"my.custom.annotation/1"
|
|
],
|
|
"serviceLabelDisallowedList": [
|
|
"my.custom.label.1"
|
|
]
|
|
}
|
|
# Example - setting custom annotation
|
|
inferenceService: |-
|
|
{
|
|
# ServiceAnnotationDisallowedList is a list of annotations that are not allowed to be propagated to Knative
|
|
# revisions, which prevents the reconciliation loop to be triggered if the annotations is
|
|
# configured here are used.
|
|
# Default values are:
|
|
# "autoscaling.knative.dev/min-scale",
|
|
# "autoscaling.knative.dev/max-scale",
|
|
# "internal.serving.kserve.io/storage-initializer-sourceuri",
|
|
# "kubectl.kubernetes.io/last-applied-configuration",
|
|
# "modelFormat"
|
|
# Any new value will be appended to the list.
|
|
"serviceAnnotationDisallowedList": [
|
|
"my.custom.annotation/1"
|
|
],
|
|
# ServiceLabelDisallowedList is a list of labels that are not allowed to be propagated to Knative revisions
|
|
# which prevents the reconciliation loop to be triggered if the labels is configured here are used.
|
|
"serviceLabelDisallowedList": [
|
|
"my.custom.label.1"
|
|
]
|
|
}
|
|
# Example - setting custom resource
|
|
inferenceService: |-
|
|
{
|
|
"resource": {
|
|
"cpuLimit": "1",
|
|
"memoryLimit": "2Gi",
|
|
"cpuRequest": "1",
|
|
"memoryRequest": "2Gi"
|
|
}
|
|
}
|
|
# Example - setting custom resource
|
|
inferenceService: |-
|
|
{
|
|
# resource contains the default resource configuration for the inference service.
|
|
# you can override this configuration by specifying the resources in the inference service yaml.
|
|
# If you want to unbound the resource (limits and requests), you can set the value to null or ""
|
|
# or just remove the specific field from the config.
|
|
"resource": {
|
|
# cpuLimit is the limits.cpu to set for the inference service.
|
|
"cpuLimit": "1",
|
|
|
|
# memoryLimit is the limits.memory to set for the inference service.
|
|
"memoryLimit": "2Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the inference service.
|
|
"cpuRequest": "1",
|
|
|
|
# memoryRequest is the requests.memory to set for the inference service.
|
|
"memoryRequest": "2Gi"
|
|
}
|
|
}
|
|
# ====================================== MultiNode CONFIGURATION ======================================
|
|
# Example
|
|
multiNode: |-
|
|
{
|
|
"customGPUResourceTypeList": [
|
|
"custom.com/gpu"
|
|
]
|
|
}
|
|
# Example of multinode configuration
|
|
multiNode: |-
|
|
{
|
|
# CustomGPUResourceTypeList is a list of custom GPU resource types intended to identify the GPU type of a resource,
|
|
# not to restrict the user from using a specific GPU type.
|
|
# The MultiNode runtime pod will dynamically add GPU resources based on the registered GPU types.
|
|
"customGPUResourceTypeList": [
|
|
"custom.com/gpu"
|
|
]
|
|
}
|
|
# ====================================== OTelCollector CONFIGURATION ======================================
|
|
# Example
|
|
opentelemetryCollector: |-
|
|
{
|
|
# scrapeInterval is the interval at which the OpenTelemetry Collector will scrape the metrics.
|
|
"scrapeInterval": "5s",
|
|
# metricScalerEndpoint is the endpoint from which the KEDA's ScaledObject will scrape the metrics.
|
|
"metricScalerEndpoint": "keda-otel-scaler.keda.svc:4318",
|
|
# metricReceiverEndpoint is the endpoint from which the OpenTelemetry Collector will scrape the metrics.
|
|
"metricReceiverEndpoint": "keda-otel-scaler.keda.svc:4317"
|
|
}
|
|
|
|
# ====================================== AUTOSCALER CONFIGURATION ======================================
|
|
# Example
|
|
autoscaler: |-
|
|
{
|
|
# scaleUpStabilizationWindowSeconds is the stabilization window in seconds for scale up.
|
|
"scaleUpStabilizationWindowSeconds": "0",
|
|
# scaleDownStabilizationWindowSeconds is the stabilization window in seconds for scale down.
|
|
"scaleDownStabilizationWindowSeconds": "300"
|
|
}
|
|
|
|
# ====================================== STORAGE INITIALIZER CONFIGURATION ======================================
|
|
# Example
|
|
storageInitializer: |-
|
|
{
|
|
"image" : "kserve/storage-initializer:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"caBundleConfigMapName": "",
|
|
"caBundleVolumeMountPath": "/etc/ssl/custom-certs",
|
|
"enableModelcar": false,
|
|
"cpuModelcar": "10m",
|
|
"memoryModelcar": "15Mi"
|
|
}
|
|
storageInitializer: |-
|
|
{
|
|
# image contains the default storage initializer image uri.
|
|
"image" : "kserve/storage-initializer:latest",
|
|
|
|
# memoryRequest is the requests.memory to set for the storage initializer init container.
|
|
"memoryRequest": "100Mi",
|
|
|
|
# memoryLimit is the limits.memory to set for the storage initializer init container.
|
|
"memoryLimit": "1Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the storage initializer init container.
|
|
"cpuRequest": "100m",
|
|
|
|
# cpuLimit is the limits.cpu to set for the storage initializer init container.
|
|
"cpuLimit": "1",
|
|
|
|
# caBundleConfigMapName is the ConfigMap will be copied to a user namespace for the storage initializer init container.
|
|
"caBundleConfigMapName": "",
|
|
|
|
# caBundleVolumeMountPath is the mount point for the configmap set by caBundleConfigMapName for the storage initializer init container.
|
|
"caBundleVolumeMountPath": "/etc/ssl/custom-certs",
|
|
|
|
# enableModelcar enabled allows you to directly access an OCI container image by
|
|
# using a source URL with an "oci://" schema.
|
|
"enableModelcar": false,
|
|
|
|
# cpuModelcar is the cpu request and limit that is used for the passive modelcar container. It can be
|
|
# set very low, but should be allowed by any Kubernetes LimitRange that might apply.
|
|
"cpuModelcar": "10m",
|
|
|
|
# cpuModelcar is the memory request and limit that is used for the passive modelcar container. It can be
|
|
# set very low, but should be allowed by any Kubernetes LimitRange that might apply.
|
|
"memoryModelcar": "15Mi",
|
|
|
|
# uidModelcar is the UID under with which the modelcar process and the main container is running.
|
|
# Some Kubernetes clusters might require this to be root (0). If not set the user id is left untouched (default)
|
|
"uidModelcar": 10
|
|
}
|
|
|
|
# ====================================== CREDENTIALS ======================================
|
|
# Example
|
|
credentials: |-
|
|
{
|
|
"storageSpecSecretName": "storage-config",
|
|
"storageSecretNameAnnotation": "serving.kserve.io/storageSecretName",
|
|
"gcs": {
|
|
"gcsCredentialFileName": "gcloud-application-credentials.json"
|
|
},
|
|
"s3": {
|
|
"s3AccessKeyIDName": "AWS_ACCESS_KEY_ID",
|
|
"s3SecretAccessKeyName": "AWS_SECRET_ACCESS_KEY",
|
|
"s3Endpoint": "",
|
|
"s3UseHttps": "",
|
|
"s3Region": "",
|
|
"s3VerifySSL": "",
|
|
"s3UseVirtualBucket": "",
|
|
"s3UseAccelerate": "",
|
|
"s3UseAnonymousCredential": "",
|
|
"s3CABundleConfigMap": "",
|
|
"s3CABundle": ""
|
|
}
|
|
}
|
|
# This is a global configuration used for downloading models from the cloud storage.
|
|
# You can override this configuration by specifying the annotations on service account or static secret.
|
|
# https://kserve.github.io/website/master/modelserving/storage/s3/s3/
|
|
# For a quick reference about AWS ENV variables:
|
|
# AWS Cli: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
|
|
# Boto: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#using-environment-variables
|
|
#
|
|
# The `s3AccessKeyIDName` and `s3SecretAccessKeyName` fields are only used from this configmap when static credentials (IAM User Access Key Secret)
|
|
# are used as the authentication method for AWS S3.
|
|
# The rest of the fields are used in both authentication methods (IAM Role for Service Account & IAM User Access Key Secret) if a non-empty value is provided.
|
|
credentials: |-
|
|
{
|
|
# storageSpecSecretName contains the secret name which has the credentials for downloading the model.
|
|
# This option is used when specifying the storage spec on isvc yaml.
|
|
"storageSpecSecretName": "storage-config",
|
|
|
|
# The annotation can be specified on isvc yaml to allow overriding with the secret name reference from the annotation value.
|
|
# When using storageUri the order of the precedence is: secret name reference annotation > secret name references from service account
|
|
# When using storageSpec the order of the precedence is: secret name reference annotation > storageSpecSecretName in configmap
|
|
|
|
# Configuration for google cloud storage
|
|
"gcs": {
|
|
# gcsCredentialFileName specifies the filename of the gcs credential
|
|
"gcsCredentialFileName": "gcloud-application-credentials.json"
|
|
},
|
|
|
|
# Configuration for aws s3 storage. This add the corresponding environmental variables to the storage initializer init container.
|
|
# For more info on s3 storage see https://kserve.github.io/website/master/modelserving/storage/s3/s3/
|
|
"s3": {
|
|
# s3AccessKeyIDName specifies the s3 access key id name
|
|
"s3AccessKeyIDName": "AWS_ACCESS_KEY_ID",
|
|
|
|
# s3SecretAccessKeyName specifies the s3 secret access key name
|
|
"s3SecretAccessKeyName": "AWS_SECRET_ACCESS_KEY",
|
|
|
|
# s3Endpoint specifies the s3 endpoint
|
|
"s3Endpoint": "",
|
|
|
|
# s3UseHttps controls whether to use secure https or unsecure http to download models.
|
|
# Allowed values are 0 and 1.
|
|
"s3UseHttps": "",
|
|
|
|
# s3Region specifies the region of the bucket.
|
|
"s3Region": "",
|
|
|
|
# s3VerifySSL controls whether to verify the tls/ssl certificate.
|
|
"s3VerifySSL": "",
|
|
|
|
# s3UseVirtualBucket configures whether it is a virtual bucket or not.
|
|
"s3UseVirtualBucket": "",
|
|
|
|
# s3UseAccelerate configures whether to use transfer acceleration.
|
|
"s3UseAccelerate": "",
|
|
|
|
# s3UseAnonymousCredential configures whether to use anonymous credentials to download the model or not.
|
|
"s3UseAnonymousCredential": "",
|
|
|
|
# s3CABundleConfigMap specifies the mounted CA bundle config map name.
|
|
"s3CABundleConfigMap": "",
|
|
|
|
# s3CABundle specifies the full path (mount path + file name) for the mounted config map data when used with a configured CA bundle config map.
|
|
# s3CABundle specifies the path to a certificate bundle to use for HTTPS certificate validation when used absent of a configured CA bundle config map.
|
|
"s3CABundle": ""
|
|
}
|
|
}
|
|
|
|
# ====================================== INGRESS CONFIGURATION ======================================
|
|
# Example
|
|
ingress: |-
|
|
{
|
|
"enableGatewayApi": false,
|
|
"kserveIngressGateway": "kserve/kserve-ingress-gateway",
|
|
"ingressGateway" : "knative-serving/knative-ingress-gateway",
|
|
"localGateway" : "knative-serving/knative-local-gateway",
|
|
"localGatewayService" : "knative-local-gateway.istio-system.svc.cluster.local",
|
|
"ingressDomain" : "example.com",
|
|
"additionalIngressDomains": ["additional-example.com", "additional-example-1.com"],
|
|
"ingressClassName" : "istio",
|
|
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
|
|
"urlScheme": "http",
|
|
"disableIstioVirtualHost": false,
|
|
"disableIngressCreation": false,
|
|
"disableHTTPRouteTimeout": false
|
|
}
|
|
ingress: |-
|
|
{
|
|
# enableGatewayApi specifies whether to use Gateway API instead of Ingress to serve external traffic.
|
|
"enableGatewayApi": false,
|
|
|
|
# KServe implements [Gateway API](https://gateway-api.sigs.k8s.io/) to serve external traffic.
|
|
# By default, KServe configures a default gateway to serve external traffic.
|
|
# But, KServe can be configured to use a custom gateway by modifying this configuration.
|
|
# The gateway should be specified in format <gateway namespace>/<gateway name>
|
|
# NOTE: This configuration only applicable for raw deployment.
|
|
"kserveIngressGateway": "kserve/kserve-ingress-gateway",
|
|
|
|
# ingressGateway specifies the ingress gateway to serve external traffic.
|
|
# The gateway should be specified in format <gateway namespace>/<gateway name>
|
|
# NOTE: This configuration only applicable for serverless deployment with Istio configured as network layer.
|
|
"ingressGateway" : "knative-serving/knative-ingress-gateway",
|
|
|
|
# knativeLocalGatewayService specifies the hostname of the Knative's local gateway service.
|
|
# The default KServe configurations are re-using the Istio local gateways for Knative. In this case, this
|
|
# knativeLocalGatewayService field can be left unset. When unset, the value of "localGatewayService" will be used.
|
|
# However, sometimes it may be better to have local gateways specifically for KServe (e.g. when enabling strict mTLS in Istio).
|
|
# Under such setups where KServe is needed to have its own local gateways, the values of the "localGateway" and
|
|
# "localGatewayService" should point to the KServe local gateways. Then, this knativeLocalGatewayService field
|
|
# should point to the Knative's local gateway service.
|
|
# NOTE: This configuration only applicable for serverless deployment with Istio configured as network layer.
|
|
"knativeLocalGatewayService": "",
|
|
|
|
# localGateway specifies the gateway which handles the network traffic within the cluster.
|
|
# NOTE: This configuration only applicable for serverless deployment with Istio configured as network layer.
|
|
"localGateway" : "knative-serving/knative-local-gateway",
|
|
|
|
# localGatewayService specifies the hostname of the local gateway service.
|
|
# NOTE: This configuration only applicable for serverless deployment with Istio configured as network layer.
|
|
"localGatewayService" : "knative-local-gateway.istio-system.svc.cluster.local",
|
|
|
|
# ingressDomain specifies the domain name which is used for creating the url.
|
|
# If ingressDomain is empty then example.com is used as default domain.
|
|
# NOTE: This configuration only applicable for raw deployment.
|
|
"ingressDomain" : "example.com",
|
|
|
|
# additionalIngressDomains specifies the additional domain names which are used for creating the url.
|
|
"additionalIngressDomains": ["additional-example.com", "additional-example-1.com"]
|
|
|
|
# ingressClassName specifies the ingress controller to use for ingress traffic.
|
|
# This is optional and if omitted the default ingress in the cluster is used.
|
|
# https://kubernetes.io/docs/concepts/services-networking/ingress/#default-ingress-class
|
|
# NOTE: This configuration only applicable for raw deployment.
|
|
"ingressClassName" : "istio",
|
|
|
|
# domainTemplate specifies the template for generating domain/url for each inference service by combining variable from:
|
|
# Name of the inference service ( {{ .Name}} )
|
|
# Namespace of the inference service ( {{ .Namespace }} )
|
|
# Annotation of the inference service ( {{ .Annotations.key }} )
|
|
# Label of the inference service ( {{ .Labels.key }} )
|
|
# IngressDomain ( {{ .IngressDomain }} )
|
|
# If domain template is empty the default template {{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }} is used.
|
|
# NOTE: This configuration only applicable for raw deployment.
|
|
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
|
|
|
|
# urlScheme specifies the url scheme to use for inference service and inference graph.
|
|
# If urlScheme is empty then by default http is used.
|
|
"urlScheme": "http",
|
|
|
|
# disableIstioVirtualHost controls whether to use istio as network layer.
|
|
# By default istio is used as the network layer. When DisableIstioVirtualHost is true, KServe does not
|
|
# create the top level virtual service thus Istio is no longer required for serverless mode.
|
|
# By setting this field to true, user can use other networking layers supported by knative.
|
|
# For more info https://github.com/kserve/kserve/pull/2380, https://kserve.github.io/website/master/admin/serverless/kourier_networking/.
|
|
# NOTE: This configuration is only applicable to serverless deployment.
|
|
"disableIstioVirtualHost": false,
|
|
|
|
# disableIngressCreation controls whether to disable ingress creation for raw deployment mode.
|
|
"disableIngressCreation": false,
|
|
|
|
# disableHTTPRouteTimeout controls whether to omit the timeout field from HTTPRoute rules.
|
|
# Set to true for Gateway controllers (e.g. GKE Gateway) that do not support the optional timeouts field.
|
|
"disableHTTPRouteTimeout": false,
|
|
|
|
# pathTemplate specifies the template for generating path based url for each inference service.
|
|
# The following variables can be used in the template for generating url.
|
|
# Name of the inference service ( {{ .Name}} )
|
|
# Namespace of the inference service ( {{ .Namespace }} )
|
|
# For more info https://github.com/kserve/kserve/issues/2257.
|
|
# NOTE: This configuration only applicable to serverless deployment.
|
|
"pathTemplate": "/serving/{{ .Namespace }}/{{ .Name }}"
|
|
}
|
|
|
|
# ====================================== LOGGER CONFIGURATION ======================================
|
|
# Example
|
|
logger: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"defaultUrl": "http://default-broker"
|
|
}
|
|
logger: |-
|
|
{
|
|
# image contains the default logger image uri.
|
|
"image" : "kserve/agent:latest",
|
|
|
|
# memoryRequest is the requests.memory to set for the logger container.
|
|
"memoryRequest": "100Mi",
|
|
|
|
# memoryLimit is the limits.memory to set for the logger container.
|
|
"memoryLimit": "1Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the logger container.
|
|
"cpuRequest": "100m",
|
|
|
|
# cpuLimit is the limits.cpu to set for the logger container.
|
|
"cpuLimit": "1",
|
|
|
|
# defaultUrl specifies the default logger url. If logger is not specified in the resource this url is used.
|
|
"defaultUrl": "http://default-broker"
|
|
}
|
|
|
|
# ====================================== BATCHER CONFIGURATION ======================================
|
|
# Example
|
|
batcher: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "1Gi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "1",
|
|
"cpuLimit": "1",
|
|
"maxBatchSize": "32",
|
|
"maxLatency": "5000"
|
|
}
|
|
batcher: |-
|
|
{
|
|
# image contains the default batcher image uri.
|
|
"image" : "kserve/agent:latest",
|
|
|
|
# memoryRequest is the requests.memory to set for the batcher container.
|
|
"memoryRequest": "1Gi",
|
|
|
|
# memoryLimit is the limits.memory to set for the batcher container.
|
|
"memoryLimit": "1Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the batcher container.
|
|
"cpuRequest": "1",
|
|
|
|
# cpuLimit is the limits.cpu to set for the batcher container.
|
|
"cpuLimit": "1"
|
|
|
|
# maxBatchSize is the default maximum batch size for batcher.
|
|
"maxBatchSize": "32",
|
|
|
|
# maxLatency is the default maximum latency in milliseconds for batcher to wait and collect the batch.
|
|
"maxLatency": "5000"
|
|
}
|
|
|
|
# ====================================== AGENT CONFIGURATION ======================================
|
|
# Example
|
|
agent: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1"
|
|
}
|
|
agent: |-
|
|
{
|
|
# image contains the default agent image uri.
|
|
"image" : "kserve/agent:latest",
|
|
|
|
# memoryRequest is the requests.memory to set for the agent container.
|
|
"memoryRequest": "100Mi",
|
|
|
|
# memoryLimit is the limits.memory to set for the agent container.
|
|
"memoryLimit": "1Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the agent container.
|
|
"cpuRequest": "100m",
|
|
|
|
# cpuLimit is the limits.cpu to set for the agent container.
|
|
"cpuLimit": "1"
|
|
}
|
|
|
|
# ====================================== ROUTER CONFIGURATION ======================================
|
|
# Example
|
|
router: |-
|
|
{
|
|
"image" : "kserve/router:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"headers": {
|
|
"propagate": []
|
|
},
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"imagePullSecrets": ["docker-secret"]
|
|
}
|
|
# router is the implementation of inference graph.
|
|
router: |-
|
|
{
|
|
# image contains the default router image uri.
|
|
"image" : "kserve/router:latest",
|
|
|
|
# memoryRequest is the requests.memory to set for the router container.
|
|
"memoryRequest": "100Mi",
|
|
|
|
# memoryLimit is the limits.memory to set for the router container.
|
|
"memoryLimit": "1Gi",
|
|
|
|
# cpuRequest is the requests.cpu to set for the router container.
|
|
"cpuRequest": "100m",
|
|
|
|
# cpuLimit is the limits.cpu to set for the router container.
|
|
"cpuLimit": "1",
|
|
|
|
# Propagate the specified headers to all the steps specified in an InferenceGraph.
|
|
# You can either specify the exact header names or use [Golang supported regex patterns]
|
|
# (https://pkg.go.dev/regexp/[email protected]#hdr-Syntax) to propagate multiple headers.
|
|
"headers": {
|
|
"propagate": [
|
|
"Authorization",
|
|
"Test-Header-*",
|
|
"*Trace-Id*"
|
|
]
|
|
}
|
|
|
|
# imagePullPolicy specifies when the router image should be pulled from registry.
|
|
"imagePullPolicy": "IfNotPresent",
|
|
|
|
# # imagePullSecrets specifies the list of secrets to be used for pulling the router image from registry.
|
|
# https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
"imagePullSecrets": ["docker-secret"]
|
|
}
|
|
|
|
# ====================================== DEPLOYMENT CONFIGURATION ======================================
|
|
# Example
|
|
deploy: |-
|
|
{
|
|
"defaultDeploymentMode": "Serverless",
|
|
"deploymentRolloutStrategy": {
|
|
"defaultRollout": {
|
|
"maxSurge": "1",
|
|
"maxUnavailable": "1"
|
|
}
|
|
}
|
|
}
|
|
|
|
deploy: |-
|
|
{
|
|
# defaultDeploymentMode specifies the default deployment mode of the kserve. The supported values are
|
|
# Standard and Knative. Users can override the deployment mode at service level
|
|
# by adding the annotation serving.kserve.io/deploymentMode.
|
|
# "defaultDeploymentMode": "Standard",
|
|
# deploymentRolloutStrategy specifies the default rollout strategy for the Standard deployment mode
|
|
# "deploymentRolloutStrategy": {
|
|
# defaultRollout specifies the default rollout configuration using Kubernetes deployment strategy
|
|
# "defaultRollout": {
|
|
# maxSurge specifies the maximum number of pods that can be created above the desired replica count
|
|
# Can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%)
|
|
# "maxSurge": "1",
|
|
# maxUnavailable specifies the maximum number of pods that can be unavailable during the update
|
|
# Can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%)
|
|
# "maxUnavailable": "1"
|
|
# }
|
|
# }
|
|
}
|
|
|
|
# ====================================== SERVICE CONFIGURATION ======================================
|
|
# Example
|
|
service: |-
|
|
{
|
|
"serviceClusterIPNone": false
|
|
}
|
|
service: |-
|
|
{
|
|
# ServiceClusterIPNone is a boolean flag to indicate if the service should have a clusterIP set to None.
|
|
# If the DeploymentMode is Raw, the default value for ServiceClusterIPNone if not set is false
|
|
# "serviceClusterIPNone": false
|
|
}
|
|
|
|
# ====================================== METRICS CONFIGURATION ======================================
|
|
# Example
|
|
metricsAggregator: |-
|
|
{
|
|
"enableMetricAggregation": "false",
|
|
"enablePrometheusScraping" : "false"
|
|
}
|
|
# For more info see https://github.com/kserve/kserve/blob/master/qpext/README.md
|
|
metricsAggregator: |-
|
|
{
|
|
# enableMetricAggregation configures metric aggregation annotation. This adds the annotation serving.kserve.io/enable-metric-aggregation to every
|
|
# service with the specified boolean value. If true enables metric aggregation in queue-proxy by setting env vars in the queue proxy container
|
|
# to configure scraping ports.
|
|
"enableMetricAggregation": "false",
|
|
|
|
# enablePrometheusScraping configures metric aggregation annotation. This adds the annotation serving.kserve.io/enable-metric-aggregation to every
|
|
# service with the specified boolean value. If true, prometheus annotations are added to the pod. If serving.kserve.io/enable-metric-aggregation is false,
|
|
# the prometheus port is set with the default prometheus scraping port 9090, otherwise the prometheus port annotation is set with the metric aggregation port.
|
|
"enablePrometheusScraping" : "false"
|
|
}
|
|
|
|
# ====================================== LOCALMODEL CONFIGURATION ======================================
|
|
# Example
|
|
localModel: |-
|
|
{
|
|
"enabled": false,
|
|
# jobNamespace specifies the namespace where the download job will be created.
|
|
"jobNamespace": "kserve-localmodel-jobs",
|
|
# defaultJobImage specifies the default image used for the download job.
|
|
"defaultJobImage" : "kserve/storage-initializer:latest",
|
|
# Kubernetes modifies the filesystem group ID on the attached volume.
|
|
"fsGroup": 1000,
|
|
# TTL for the download job after it is finished.
|
|
"jobTTLSecondsAfterFinished": 3600,
|
|
# The frequency at which the local model agent reconciles the local models
|
|
# This is to detect if models are missing from local disk
|
|
"reconcilationFrequencyInSecs": 60,
|
|
# This is to disable localmodel pv and pvc management for namespaces without isvcs
|
|
"disableVolumeManagement": false
|
|
}
|
|
agent: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1"
|
|
}
|
|
autoscaler: |-
|
|
{
|
|
"scaleUpStabilizationWindowSeconds": "0",
|
|
"scaleDownStabilizationWindowSeconds": "300"
|
|
}
|
|
batcher: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "1Gi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "1",
|
|
"cpuLimit": "1",
|
|
"maxBatchSize": "32",
|
|
"maxLatency": "5000"
|
|
}
|
|
credentials: |-
|
|
{
|
|
"storageSpecSecretName": "storage-config",
|
|
"storageSecretNameAnnotation": "serving.kserve.io/storageSecretName",
|
|
"gcs": {
|
|
"gcsCredentialFileName": "gcloud-application-credentials.json"
|
|
},
|
|
"s3": {
|
|
"s3AccessKeyIDName": "AWS_ACCESS_KEY_ID",
|
|
"s3SecretAccessKeyName": "AWS_SECRET_ACCESS_KEY",
|
|
"s3Endpoint": "",
|
|
"s3UseHttps": "",
|
|
"s3Region": "",
|
|
"s3VerifySSL": "",
|
|
"s3UseVirtualBucket": "",
|
|
"s3UseAccelerate": "",
|
|
"s3UseAnonymousCredential": "",
|
|
"s3CABundleConfigMap": "",
|
|
"s3CABundle": ""
|
|
}
|
|
}
|
|
deploy: |-
|
|
{
|
|
"defaultDeploymentMode": "Serverless"
|
|
}
|
|
explainers: |-
|
|
{
|
|
"art": {
|
|
"image" : "kserve/art-explainer",
|
|
"defaultImageVersion": "latest"
|
|
}
|
|
}
|
|
inferenceService: |-
|
|
{
|
|
"resource": {
|
|
"cpuLimit": "1",
|
|
"memoryLimit": "2Gi",
|
|
"cpuRequest": "1",
|
|
"memoryRequest": "2Gi"
|
|
}
|
|
}
|
|
ingress: |-
|
|
{
|
|
"enableGatewayApi": false,
|
|
"kserveIngressGateway": "kserve/kserve-ingress-gateway",
|
|
"ingressGateway" : "knative-serving/knative-ingress-gateway",
|
|
"localGateway" : "knative-serving/knative-local-gateway",
|
|
"localGatewayService" : "knative-local-gateway.istio-system.svc.cluster.local",
|
|
"ingressDomain" : "example.com",
|
|
"ingressClassName" : "istio",
|
|
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
|
|
"urlScheme": "http",
|
|
"disableIstioVirtualHost": false,
|
|
"disableIngressCreation": false,
|
|
"disableHTTPRouteTimeout": false
|
|
}
|
|
localModel: |-
|
|
{
|
|
"enabled": false,
|
|
"jobNamespace": "kserve-localmodel-jobs",
|
|
"defaultJobImage" : "kserve/storage-initializer:latest",
|
|
"fsGroup": 1000,
|
|
"jobTTLSecondsAfterFinished": 3600,
|
|
"reconcilationFrequencyInSecs": 60,
|
|
"disableVolumeManagement": false
|
|
}
|
|
logger: |-
|
|
{
|
|
"image" : "kserve/agent:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"defaultUrl": "http://default-broker"
|
|
}
|
|
metricsAggregator: |-
|
|
{
|
|
"enableMetricAggregation": "false",
|
|
"enablePrometheusScraping" : "false"
|
|
}
|
|
opentelemetryCollector: |-
|
|
{
|
|
"scrapeInterval": "5s",
|
|
"metricReceiverEndpoint": "keda-otel-scaler.keda.svc:4317",
|
|
"metricScalerEndpoint": "keda-otel-scaler.keda.svc:4318",
|
|
"resource": {
|
|
"cpuLimit": "1",
|
|
"memoryLimit": "2Gi",
|
|
"cpuRequest": "200m",
|
|
"memoryRequest": "512Mi"
|
|
}
|
|
}
|
|
router: |-
|
|
{
|
|
"image" : "kserve/router:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"imagePullPolicy": "IfNotPresent"
|
|
}
|
|
security: |-
|
|
{
|
|
"autoMountServiceAccountToken": true
|
|
}
|
|
storageInitializer: |-
|
|
{
|
|
"image" : "kserve/storage-initializer:latest",
|
|
"memoryRequest": "100Mi",
|
|
"memoryLimit": "1Gi",
|
|
"cpuRequest": "100m",
|
|
"cpuLimit": "1",
|
|
"caBundleConfigMapName": "",
|
|
"caBundleVolumeMountPath": "/etc/ssl/custom-certs",
|
|
"enableModelcar": true,
|
|
"cpuModelcar": "10m",
|
|
"memoryModelcar": "15Mi",
|
|
"uidModelcar": 1010
|
|
}
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: inferenceservice-config
|
|
namespace: kserve
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-webhook-server-secret
|
|
namespace: kserve
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8443"
|
|
prometheus.io/scheme: https
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
name: kserve-controller-manager-metrics-service
|
|
namespace: kserve
|
|
spec:
|
|
ports:
|
|
- name: https
|
|
port: 8443
|
|
targetPort: https
|
|
selector:
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
name: kserve-controller-manager-service
|
|
namespace: kserve
|
|
spec:
|
|
ports:
|
|
- port: 8443
|
|
protocol: TCP
|
|
targetPort: https
|
|
selector:
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
spec:
|
|
ports:
|
|
- port: 443
|
|
targetPort: webhook-server
|
|
selector:
|
|
control-plane: kserve-controller-manager
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
name: kserve-controller-manager
|
|
namespace: kserve
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
kubectl.kubernetes.io/default-container: manager
|
|
labels:
|
|
app.kubernetes.io/name: kserve-controller-manager
|
|
control-plane: kserve-controller-manager
|
|
controller-tools.k8s.io: "1.0"
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- --metrics-addr=127.0.0.1:8080
|
|
- --leader-elect
|
|
command:
|
|
- /manager
|
|
env:
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: SECRET_NAME
|
|
value: kserve-webhook-server-cert
|
|
image: kserve/kserve-controller:latest
|
|
imagePullPolicy: Always
|
|
livenessProbe:
|
|
failureThreshold: 5
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8081
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
name: manager
|
|
ports:
|
|
- containerPort: 9443
|
|
name: webhook-server
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 5
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8081
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 300Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 200Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
volumeMounts:
|
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
|
name: cert
|
|
readOnly: true
|
|
- args:
|
|
- --secure-listen-address=0.0.0.0:8443
|
|
- --upstream=http://127.0.0.1:8080/
|
|
- --logtostderr=true
|
|
- --v=10
|
|
image: quay.io/brancz/kube-rbac-proxy:v0.18.0
|
|
name: kube-rbac-proxy
|
|
ports:
|
|
- containerPort: 8443
|
|
name: https
|
|
protocol: TCP
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
serviceAccountName: kserve-controller-manager
|
|
terminationGracePeriodSeconds: 10
|
|
volumes:
|
|
- name: cert
|
|
secret:
|
|
defaultMode: 420
|
|
secretName: kserve-webhook-server-cert
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: serving-cert
|
|
namespace: kserve
|
|
spec:
|
|
commonName: kserve-webhook-server-service.kserve.svc
|
|
dnsNames:
|
|
- kserve-webhook-server-service.kserve.svc
|
|
issuerRef:
|
|
kind: Issuer
|
|
name: selfsigned-issuer
|
|
secretName: kserve-webhook-server-cert
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Issuer
|
|
metadata:
|
|
name: selfsigned-issuer
|
|
namespace: kserve
|
|
spec:
|
|
selfSigned: {}
|
|
---
|
|
apiVersion: serving.kserve.io/v1alpha1
|
|
kind: ClusterStorageContainer
|
|
metadata:
|
|
name: default
|
|
namespace: kserve
|
|
spec:
|
|
container:
|
|
image: kserve/storage-initializer:latest
|
|
imagePullPolicy: IfNotPresent
|
|
name: storage-initializer
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 100Mi
|
|
supportedUriFormats:
|
|
- prefix: gs://
|
|
- prefix: s3://
|
|
- prefix: hdfs://
|
|
- prefix: hf://
|
|
- prefix: webhdfs://
|
|
- regex: https://(.+?).blob.core.windows.net/(.+)
|
|
- regex: https://(.+?).file.core.windows.net/(.+)
|
|
- regex: https?://(.+)/(.+)
|
|
supportsMultiModelDownload: true
|
|
workloadType: initContainer
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: MutatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: inferenceservice.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /mutate-serving-kserve-io-v1beta1-inferenceservice
|
|
failurePolicy: Fail
|
|
name: inferenceservice.kserve-webhook-server.defaulter
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- inferenceservices
|
|
sideEffects: None
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /mutate-pods
|
|
failurePolicy: Fail
|
|
name: inferenceservice.kserve-webhook-server.pod-mutator
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: control-plane
|
|
operator: DoesNotExist
|
|
objectSelector:
|
|
matchExpressions:
|
|
- key: serving.kserve.io/inferenceservice
|
|
operator: Exists
|
|
reinvocationPolicy: IfNeeded
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
apiVersions:
|
|
- v1
|
|
operations:
|
|
- CREATE
|
|
resources:
|
|
- pods
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: clusterservingruntime.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /validate-serving-kserve-io-v1alpha1-clusterservingruntime
|
|
failurePolicy: Fail
|
|
name: clusterservingruntime.kserve-webhook-server.validator
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1alpha1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- clusterservingruntimes
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: inferencegraph.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /validate-serving-kserve-io-v1alpha1-inferencegraph
|
|
failurePolicy: Fail
|
|
name: inferencegraph.kserve-webhook-server.validator
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1alpha1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- inferencegraphs
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: inferenceservice.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /validate-serving-kserve-io-v1beta1-inferenceservice
|
|
failurePolicy: Fail
|
|
name: inferenceservice.kserve-webhook-server.validator
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1beta1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- inferenceservices
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: servingruntime.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /validate-serving-kserve-io-v1alpha1-servingruntime
|
|
failurePolicy: Fail
|
|
name: servingruntime.kserve-webhook-server.validator
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1alpha1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- servingruntimes
|
|
sideEffects: None
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
annotations:
|
|
cert-manager.io/inject-ca-from: kserve/serving-cert
|
|
creationTimestamp: null
|
|
labels:
|
|
app.kubernetes.io/component: kserve
|
|
app.kubernetes.io/name: kserve
|
|
name: trainedmodel.serving.kserve.io
|
|
webhooks:
|
|
- admissionReviewVersions:
|
|
- v1beta1
|
|
clientConfig:
|
|
service:
|
|
name: kserve-webhook-server-service
|
|
namespace: kserve
|
|
path: /validate-serving-kserve-io-v1alpha1-trainedmodel
|
|
failurePolicy: Fail
|
|
name: trainedmodel.kserve-webhook-server.validator
|
|
rules:
|
|
- apiGroups:
|
|
- serving.kserve.io
|
|
apiVersions:
|
|
- v1alpha1
|
|
operations:
|
|
- CREATE
|
|
- UPDATE
|
|
resources:
|
|
- trainedmodels
|
|
sideEffects: None
|
|
KSERVE_CORE_MANIFEST_EOF
|
|
}
|
|
|
|
|
|
|
|
main "$@"
|