pub struct PodSandboxConfig {
pub metadata: Option<PodSandboxMetadata>,
pub hostname: String,
pub log_directory: String,
pub dns_config: Option<DnsConfig>,
pub port_mappings: Vec<PortMapping>,
pub labels: HashMap<String, String>,
pub annotations: HashMap<String, String>,
pub linux: Option<LinuxPodSandboxConfig>,
pub windows: Option<WindowsPodSandboxConfig>,
}Expand description
PodSandboxConfig holds all the required and optional fields for creating a sandbox.
Fields§
§metadata: Option<PodSandboxMetadata>Metadata of the sandbox. This information will uniquely identify the sandbox, and the runtime should leverage this to ensure correct operation. The runtime may also use this information to improve UX, such as by constructing a readable name.
hostname: StringHostname of the sandbox. Hostname could only be empty when the pod network namespace is NODE.
log_directory: StringPath to the directory on the host in which container log files are
stored.
By default the log of a container going into the LogDirectory will be
hooked up to STDOUT and STDERR. However, the LogDirectory may contain
binary log files with structured logging data from the individual
containers. For example, the files might be newline separated JSON
structured logs, systemd-journald journal files, gRPC trace files, etc.
E.g.,
PodSandboxConfig.LogDirectory = /var/log/pods/<NAMESPACE>_<NAME>_<UID>/
ContainerConfig.LogPath = containerName/Instance#.log
dns_config: Option<DnsConfig>DNS config for the sandbox.
port_mappings: Vec<PortMapping>Port mappings for the sandbox.
labels: HashMap<String, String>Key-value pairs that may be used to scope and select individual resources.
annotations: HashMap<String, String>Unstructured key-value map that may be set by the kubelet to store and retrieve arbitrary metadata. This will include any annotations set on a pod through the Kubernetes API.
Annotations MUST NOT be altered by the runtime; the annotations stored here MUST be returned in the PodSandboxStatus associated with the pod this PodSandboxConfig creates.
In general, in order to preserve a well-defined interface between the kubelet and the container runtime, annotations SHOULD NOT influence runtime behaviour.
Annotations can also be useful for runtime authors to experiment with new features that are opaque to the Kubernetes APIs (both user-facing and the CRI). Whenever possible, however, runtime authors SHOULD consider proposing new typed fields for any new features instead.
linux: Option<LinuxPodSandboxConfig>Optional configurations specific to Linux hosts.
windows: Option<WindowsPodSandboxConfig>Optional configurations specific to Windows hosts.
Trait Implementations§
Source§impl Clone for PodSandboxConfig
impl Clone for PodSandboxConfig
Source§fn clone(&self) -> PodSandboxConfig
fn clone(&self) -> PodSandboxConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PodSandboxConfig
impl Debug for PodSandboxConfig
Source§impl Default for PodSandboxConfig
impl Default for PodSandboxConfig
Source§impl Message for PodSandboxConfig
impl Message for PodSandboxConfig
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl Name for PodSandboxConfig
impl Name for PodSandboxConfig
Source§const NAME: &'static str = "PodSandboxConfig"
const NAME: &'static str = "PodSandboxConfig"
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "runtime.v1"
const PACKAGE: &'static str = "runtime.v1"
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for PodSandboxConfig
impl PartialEq for PodSandboxConfig
Source§fn eq(&self, other: &PodSandboxConfig) -> bool
fn eq(&self, other: &PodSandboxConfig) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PodSandboxConfig
Auto Trait Implementations§
impl Freeze for PodSandboxConfig
impl RefUnwindSafe for PodSandboxConfig
impl Send for PodSandboxConfig
impl Sync for PodSandboxConfig
impl Unpin for PodSandboxConfig
impl UnsafeUnpin for PodSandboxConfig
impl UnwindSafe for PodSandboxConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more