接口
各接口中可能用到的参数清单如下,部分参数暂不支持配置,已在配置中标出。
接口参数列表
NamespaceOption
参数成员↵
|
描述↵
|
bool host_network
|
是否使用host的网络命名空间
|
bool host_pid
|
是否使用host的PID命名空间
|
bool host_ipc
|
是否使用host的IPC命名空间
|
Capability
包含待添加与待删除的权能信息
参数成员↵
|
描述↵
|
repeated string add_capabilities
|
待新增的权能
|
repeated string drop_capabilities
|
待删除的权能
|
Int64Value
int64类型的封装
参数成员↵
|
描述↵
|
int64 value
|
实际的int64值
|
UInt64Value
uint64类型的封装
参数成员↵
|
描述↵
|
uint64 value
|
实际的uint64值
|
LinuxSandboxSecurityContext
配置sandbox的linux安全选项。
注意,这些安全选项不会应用到sandbox中的容器中,也可能不适用于没有任何running进程的sandbox
参数成员↵
|
描述↵
|
NamespaceOption namespace_options
|
配置sandbox的命名空间选项
|
SELinuxOption selinux_options
|
配置SELinux选项(不支持)
|
Int64Value run_as_user
|
配置sandbox中进程的uid
|
bool readonly_rootfs
|
配置sandbox的根文件系统是否只读
|
repeated int64 supplemental_groups
|
配置除主GID之外的sandbox的1号进程用户组信息
|
bool privileged
|
配置sandbox是否为特权容器
|
string seccomp_profile_path
|
seccomp配置文件路径,有效值为:
// unconfined: 不配置seccomp
// localhost/<配置文件的全路径>: 安装在系统上的配置文件路径
// <配置文件的全路径>: 配置文件全路径
// 默认不配置,即unconfined。
|
LinuxPodSandboxConfig
设定和Linux主机及容器相关的一些配置
参数成员↵
|
描述↵
|
string cgroup_parent
|
sandbox的cgroup父路径,runtime可根据实际情况使用cgroupfs或systemd的语法。(不支持配置)
|
LinuxSandboxSecurityContext security_context
|
sandbox的安全属性
|
map<string, string> sysctls
|
sandbox的linux sysctls配置
|
PodSandboxMetadata
Sandbox元数据包含构建sandbox名称的所有信息,鼓励容器运行时在用户界面中公开这些元数据以获得更好的用户体验,例如,运行时可以根据元数据生成sandbox的唯一命名。
参数成员↵
|
描述↵
|
string name
|
sandbox的名称
|
string uid
|
sandbox的UID
|
string namespace
|
sandbox的命名空间
|
uint32 attempt
|
尝试创建sandbox的次数,默认为0
|
PodSandboxConfig
包含创建sandbox的所有必选和可选配置信息
参数成员↵
|
描述↵
|
PodSandboxMetadata metadata
|
sandbox的元数据,这项信息唯一标识一个sandbox,runtime必须利用此信息确保操作正确,runtime也可以根据此信息来改善用户体验,例如构建可读的sandbox名称。
|
string hostname
|
sandbox的hostname
|
string log_directory
|
配置sandbox内的容器的日志文件所存储的文件夹
|
DNSConfig dns_config
|
sandbox的DNS配置
|
repeated PortMapping port_mappings
|
sandbox的端口映射
|
map<string, string> labels
|
可用于标识单个或一系列sandbox的键值对
|
map<string, string> annotations
|
存储任意信息的键值对,这些值是不可更改的,且能够利用PodSandboxStatus接口查询
|
LinuxPodSandboxConfig linux
|
与linux主机相关的可选项
|
PodSandboxNetworkStatus
描述sandbox的网络状态
参数成员↵
|
描述↵
|
string ip
|
sandbox的ip地址
|
string name
|
sandbox内的网络接口名
|
string network
|
附加网络的名称
|
Namespace
命名空间选项
LinuxPodSandboxStatus
描述Linux sandbox的状态
PodSandboxState
sandbox状态值的enum数据
参数成员↵
|
描述↵
|
SANDBOX_READY = 0
|
sandbox处于ready状态
|
SANDBOX_NOTREADY = 1
|
sandbox处于非ready状态
|
PodSandboxStatus
描述Podsandbox的状态信息
PodSandboxStateValue
对PodSandboxState的封装
PodSandboxFilter
用于列出sandbox时添加过滤条件,多个条件取交集显示
参数成员↵
|
描述↵
|
string id
|
sandbox的ID
|
PodSandboxStateValue state
|
sandbox的状态
|
map<string, string> label_selector
|
sandbox的labels,label只支持完全匹配,不支持正则匹配
|
PodSandbox
包含最小化描述一个sandbox的数据
参数成员↵
|
描述↵
|
string id
|
sandbox的ID
|
PodSandboxMetadata metadata
|
sandbox的元数据
|
PodSandboxState state
|
sandbox的状态值
|
int64 created_at
|
sandbox的创建时间戳,单位纳秒
|
map<string, string> labels
|
可用于标识单个或一系列sandbox的键值对
|
map<string, string> annotations
|
存储任意信息的键值对,这些值是不可被runtime更改的
|
KeyValue
键值对的封装
参数成员↵
|
描述↵
|
string key
|
键
|
string value
|
值
|
SELinuxOption
应用于容器的SELinux标签
参数成员↵
|
描述↵
|
string user
|
用户
|
string role
|
角色
|
string type
|
类型
|
string level
|
级别
|
ContainerMetadata
Container元数据包含构建container名称的所有信息,鼓励容器运行时在用户界面中公开这些元数据以获得更好的用户体验,例如,运行时可以根据元数据生成container的唯一命名。
参数成员↵
|
描述↵
|
string name
|
container的名称
|
uint32 attempt
|
尝试创建container的次数,默认为0
|
ContainerState
容器状态值的enum列表
参数成员↵
|
描述↵
|
CONTAINER_CREATED = 0
|
container创建完成
|
CONTAINER_RUNNING = 1
|
container处于运行状态
|
CONTAINER_EXITED = 2
|
container处于退出状态
|
CONTAINER_UNKNOWN = 3
|
未知的容器状态
|
ContainerStateValue
封装ContainerState的数据结构
ContainerFilter
用于列出container时添加过滤条件,多个条件取交集显示
参数成员↵
|
描述↵
|
string id
|
container的ID
|
PodSandboxStateValue state
|
container的状态
|
string pod_sandbox_id
|
sandbox的ID
|
map<string, string> label_selector
|
container的labels,label只支持完全匹配,不支持正则匹配
|
LinuxContainerSecurityContext
指定应用于容器的安全配置
参数成员
|
描述
|
Capability capabilities
|
新增或去除的权能
|
bool privileged
|
指定容器是否未特权模式, 默认值:false
|
NamespaceOption namespace_options
|
指定容器的namespace选项
|
SELinuxOption selinux_options
|
SELinux context(可选配置项) 暂不支持
|
Int64Value run_as_user
|
运行容器进程的UID。 一次只能指定run_as_user与run_as_username其中之一,run_as_username优先生效
|
string run_as_username
|
运行容器进程的用户名。 如果指定,用户必须存在于容器映像中(即在映像内的/etc/passwd中),并由运行时在那里解析; 否则,运行时必须出错
|
bool readonly_rootfs
|
设置容器中根文件系统是否为只读 默认值由config.json配置
|
repeated int64 supplemental_groups
|
容器运行的除主GID外首进程组的列表
|
string apparmor_profile
|
容器的AppArmor配置文件 暂不支持
|
string seccomp_profile_path
|
容器的seccomp配置文件路径
|
bool no_new_privs
|
是否在容器上设置no_new_privs的标志
|
LinuxContainerResources
指定Linux容器资源的特定配置
参数成员
|
描述
|
int64 cpu_period
|
CPU CFS(完全公平调度程序)周期。 默认值:0
|
int64 cpu_quota
|
CPU CFS(完全公平调度程序)配额。 默认值:0
|
int64 cpu_shares
|
所占CPU份额(相对于其他容器的相对权重)。 默认值:0
|
int64 memory_limit_in_bytes
|
内存限制(字节)。 默认值:0
|
int64 oom_score_adj
|
OOMScoreAdj用于调整oom-killer。 默认值:0
|
string cpuset_cpus
|
指定容器使用的CPU核心。 默认值:“”
|
string cpuset_mems
|
指定容器使用的内存节点。 默认值:“”
|
Image
Image信息描述一个镜像的基本数据。
参数成员
|
描述
|
string id
|
镜像ID
|
repeated string repo_tags
|
镜像tag 名称 repo_tags
|
repeated string repo_digests
|
镜像digest信息
|
uint64 size
|
镜像大小
|
Int64Value uid
|
镜像默认用户UID
|
string username
|
镜像默认用户名称
|
ImageSpec
表示镜像的内部数据结构,当前,ImageSpec只封装容器镜像名称
参数成员↵
|
描述↵
|
string image
|
容器镜像名
|
StorageIdentifier
唯一定义storage的标识
参数成员↵
|
描述↵
|
string uuid
|
设备的UUID
|
FilesystemUsage
AuthConfig
参数成员
|
描述
|
string username
|
下载镜像使用的用户名
|
string password
|
下载镜像使用的密码
|
string auth
|
下载镜像时使用的认证信息,base64编码
|
string server_address
|
下载镜像的服务器地址,暂不支持
|
string identity_token
|
用于与镜像仓库鉴权的令牌信息,暂不支持
|
string registry_token
|
用于与镜像仓库交互的令牌信息,暂不支持
|
Container
用于描述容器信息,例如ID, 状态等。
参数成员↵
|
描述↵
|
string id
|
container的ID
|
string pod_sandbox_id
|
该容器所属的sandbox的ID
|
ContainerMetadata metadata
|
container的元数据
|
ImageSpec image
|
镜像规格
|
string image_ref
|
代表容器使用的镜像,对大多数runtime来产,这是一个image ID值
|
ContainerState state
|
container的状态
|
int64 created_at
|
container的创建时间戳,单位为纳秒
|
map<string, string> labels
|
可用于标识单个或一系列container的键值对
|
map<string, string> annotations
|
存储任意信息的键值对,这些值是不可被runtime更改的
|
ContainerStatus
用于描述容器状态信息
参数成员↵
|
描述↵
|
string id
|
container的ID
|
ContainerMetadata metadata
|
container的元数据
|
ContainerState state
|
container的状态
|
int64 created_at
|
container的创建时间戳,单位为纳秒
|
int64 started_at
|
container启动时的时间戳,单位为纳秒
|
int64 finished_at
|
container退出时的时间戳,单位为纳秒
|
int32 exit_code
|
容器退出码
|
ImageSpec image
|
镜像规格
|
string image_ref
|
代表容器使用的镜像,对大多数runtime来产,这是一个image ID值
|
string reason
|
简要描述为什么容器处于当前状态
|
string message
|
易于人工阅读的信息,用于表述容器处于当前状态的原因
|
map<string, string> labels
|
可用于标识单个或一系列container的键值对
|
map<string, string> annotations
|
存储任意信息的键值对,这些值是不可被runtime更改的
|
repeated Mount mounts
|
容器的挂载点信息
|
string log_path
|
容器日志文件路径,该文件位于PodSandboxConfig中配置的log_directory文件夹下
|
ContainerStatsFilter
用于列出container stats时添加过滤条件,多个条件取交集显示
参数成员↵
|
描述↵
|
string id
|
container的ID
|
string pod_sandbox_id
|
sandbox的ID
|
map<string, string> label_selector
|
container的labels,label只支持完全匹配,不支持正则匹配
|
ContainerStats
用于列出container stats时添加过滤条件,多个条件取交集显示
ContainerAttributes
列出container的基本信息
参数成员↵
|
描述↵
|
string id
|
容器的ID
|
ContainerMetadata metadata
|
容器的metadata
|
map<string,string> labels
|
可用于标识单个或一系列container的键值对
|
map<string,string> annotations
|
存储任意信息的键值对,这些值是不可被runtime更改的
|
CpuUsage
列出container的CPU使用信息
参数成员↵
|
描述↵
|
int64 timestamp
|
时间戳
|
UInt64Value usage_core_nano_seconds
|
CPU的使用值,单位/纳秒
|
MemoryUsage
列出container的内存使用信息
参数成员↵
|
描述↵
|
int64 timestamp
|
时间戳
|
UInt64Value working_set_bytes
|
内存的使用值
|
FilesystemUsage
列出container的读写层信息
参数成员↵
|
描述↵
|
int64 timestamp
|
时间戳
|
StorageIdentifier storage_id
|
可写层目录
|
UInt64Value used_bytes
|
镜像在可写层的占用字节
|
UInt64Value inodes_used
|
镜像在可写层的占用inode数
|
Device
指定待挂载至容器的主机卷
参数成员
|
描述
|
string container_path
|
容器内的挂载路径
|
string host_path
|
主机上的挂载路径
|
string permissions
|
设备的Cgroup权限,(r允许容器从指定的设备读取; w允许容器从指定的设备写入; m允许容器创建尚不存在的设备文件)
|
LinuxContainerConfig
包含特定于Linux平台的配置
ContainerConfig
包含用于创建容器的所有必需和可选字段
参数成员
|
描述
|
ContainerMetadata metadata
|
容器的元数据。 此信息将唯一标识容器,运行时应利用此信息来确保正确操作。 运行时也可以使用此信息来提升UX(用户体检设计),例如通过构造可读名称。(必选)
|
ImageSpec image
|
容器使用的镜像 (必选)
|
repeated string command
|
待执行的命令 默认值: “/bin/sh”
|
repeated string args
|
待执行命令的参数
|
string working_dir
|
命令执行的当前工作路径
|
repeated KeyValue envs
|
在容器中配置的环境变量
|
repeated Mount mounts
|
待在容器中挂载的挂载点信息
|
repeated Device devices
|
待在容器中映射的设备信息
|
map<string, string> labels
|
可用于索引和选择单个资源的键值对。
|
map<string, string> annotations
|
可用于存储和检索任意元数据的非结构化键值映射。
|
string log_path
|
相对于PodSandboxConfig.LogDirectory的路径,用于存储容器主机上的日志(STDOUT和STDERR)。
|
bool stdin
|
是否打开容器的stdin
|
bool stdin_once
|
当某次连接stdin的数据流断开时,是否立即断开其他与stdin连接的数据流(暂不支持)
|
bool tty
|
是否使用伪终端连接容器的stdio
|
LinuxContainerConfig linux
|
linux系统上容器的特定配置信息
|
NetworkConfig
Runtime的网络配置
参数成员
|
描述
|
string pod_cidr
|
Pod IP 地址使用的CIDR
|
RuntimeConfig
Runtime的网络配置
RuntimeCondition
描述runtime的状态信息
参数成员
|
描述
|
string type
|
Runtime状态的类型
|
bool status
|
Runtime状态
|
string reason
|
简要描述runtime状态变化的原因
|
string message
|
具备可阅读性的信息表明runtime状态变化的原因
|
RuntimeStatus
Runtime的状态
参数成员
|
描述
|
repeated RuntimeCondition conditions
|
描述当前runtime状态的列表
|