Documentation ¶
Index ¶
- type CapsuleSpec
- type CapsuleTemplate
- type Container
- type Metadata
- type ResourceList
- type ResourceName
- type ResourceRequirements
- type Volume
- type ZunProvider
- func (p *ZunProvider) Capacity(ctx context.Context) v1.ResourceList
- func (p *ZunProvider) CreatePod(ctx context.Context, pod *v1.Pod) error
- func (p *ZunProvider) DeletePod(ctx context.Context, pod *v1.Pod) error
- func (p *ZunProvider) ExecInContainer(name string, uid types.UID, container string, cmd []string, in io.Reader, ...) error
- func (p *ZunProvider) GetContainerLogs(ctx context.Context, namespace, podName, containerName string, tail int) (string, error)
- func (p *ZunProvider) GetPod(ctx context.Context, namespace, name string) (*v1.Pod, error)
- func (p *ZunProvider) GetPodStatus(ctx context.Context, namespace, name string) (*v1.PodStatus, error)
- func (p *ZunProvider) GetPods(ctx context.Context) ([]*v1.Pod, error)
- func (p *ZunProvider) NodeAddresses(ctx context.Context) []v1.NodeAddress
- func (p *ZunProvider) NodeConditions(ctx context.Context) []v1.NodeCondition
- func (p *ZunProvider) NodeDaemonEndpoints(ctx context.Context) *v1.NodeDaemonEndpoints
- func (p *ZunProvider) OperatingSystem() string
- func (p *ZunProvider) UpdatePod(ctx context.Context, pod *v1.Pod) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CapsuleSpec ¶
type CapsuleSpec struct { Volumes []Volume `json:"volumes,omitempty"` Containers []Container `json:"containers,omitempty"` RestartPolicy string `json:"restartPolicy,omitempty"` }
CapsuleSpec
type CapsuleTemplate ¶
type CapsuleTemplate struct { Spec CapsuleSpec `json:"spec,omitempty"` Kind string `json:"kind,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
type Container ¶
type Container struct { // Name string `json:"name" protobuf:"bytes,1,opt,name=name"` Image string `json:"image,omitempty" protobuf:"bytes,2,opt,name=image"` Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"` Args []string `json:"args,omitempty" protobuf:"bytes,4,rep,name=args"` WorkingDir string `json:"workDir,omitempty" protobuf:"bytes,5,opt,name=workingDir"` // Ports []ContainerPort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"containerPort" protobuf:"bytes,6,rep,name=ports"` Env map[string]string `json:"env,omitempty"` //ENV is different with Kubernetes // Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=env"` Resources ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,7,opt,name=resources"` // VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,8,rep,name=volumeMounts"` ImagePullPolicy string `json:"imagePullPolicy,omitempty" protobuf:"bytes,8,opt,name=imagePullPolicy"` }
type ResourceList ¶
type ResourceList map[ResourceName]float64
type ResourceName ¶
type ResourceName string
type ResourceRequirements ¶
type ResourceRequirements struct {
Limits ResourceList `json:"requests,omitempty" protobuf:"bytes,1,rep,name=limits"`
}
ResourceRequirements describes the compute resource requirements.
type ZunProvider ¶
type ZunProvider struct { ZunClient *gophercloud.ServiceClient // contains filtered or unexported fields }
ZunProvider implements the virtual-kubelet provider interface and communicates with OpenStack's Zun APIs.
func NewZunProvider ¶
func NewZunProvider(config string, rm *manager.ResourceManager, nodeName string, operatingSystem string, daemonEndpointPort int32) (*ZunProvider, error)
NewZunProvider creates a new ZunProvider.
func (*ZunProvider) Capacity ¶
func (p *ZunProvider) Capacity(ctx context.Context) v1.ResourceList
Capacity returns a resource list containing the capacity limits set for Zun.
func (*ZunProvider) ExecInContainer ¶
func (p *ZunProvider) ExecInContainer(name string, uid types.UID, container string, cmd []string, in io.Reader, out, err io.WriteCloser, tty bool, resize <-chan remotecommand.TerminalSize, timeout time.Duration) error
ExecInContainer executes a command in a container in the pod, copying data between in/out/err and the container's stdin/stdout/stderr.
func (*ZunProvider) GetContainerLogs ¶
func (*ZunProvider) GetPod ¶
GetPod returns a pod by name that is running inside Zun returns nil if a pod by that name is not found.
func (*ZunProvider) GetPodStatus ¶
func (p *ZunProvider) GetPodStatus(ctx context.Context, namespace, name string) (*v1.PodStatus, error)
GetPodStatus returns the status of a pod by name that is running inside Zun returns nil if a pod by that name is not found.
func (*ZunProvider) NodeAddresses ¶
func (p *ZunProvider) NodeAddresses(ctx context.Context) []v1.NodeAddress
NodeAddresses returns a list of addresses for the node status within Kubernetes.
func (*ZunProvider) NodeConditions ¶
func (p *ZunProvider) NodeConditions(ctx context.Context) []v1.NodeCondition
NodeConditions returns a list of conditions (Ready, OutOfDisk, etc), for updates to the node status within Kubernetes.
func (*ZunProvider) NodeDaemonEndpoints ¶
func (p *ZunProvider) NodeDaemonEndpoints(ctx context.Context) *v1.NodeDaemonEndpoints
NodeDaemonEndpoints returns NodeDaemonEndpoints for the node status within Kubernetes.
func (*ZunProvider) OperatingSystem ¶
func (p *ZunProvider) OperatingSystem() string
OperatingSystem returns the operating system for this provider. This is a noop to default to Linux for now.