Kubernetes::Resources::Pods
High-level API for Pod resources.
Provides type-safe methods for working with Pods without blocks, plus helpful utility methods like waiting for readiness and fetching logs.
Constructors
new(client : Client)
SourceInstance methods
Delete a pod.
Example:
status = k8s.v1.pods.delete_namespaced("default", "nginx-12345")
exec(namespace : String, name : String, command : Array(String), container : String | Nil = nil) : String
Execute a command in a pod (requires WebSocket support - planned for v1.0.0).
Example:
output = k8s.v1.pods.exec("default", "nginx", ["ls", "-la"])
list_namespaced(namespace : String, label_selector : String | Nil = nil, field_selector : String | Nil = nil, limit : Int32 | Nil = nil) : List(Pod)
List all pods in a namespace.
Example:
pods = k8s.v1.pods.list_namespaced("default")
pods.items.each { |pod| puts pod.metadata.name }
logs(namespace : String, name : String, container : String | Nil = nil, follow : Bool = false, tail_lines : Int32 | Nil = nil) : String
Get logs from a pod.
Example:
logs = k8s.v1.pods.logs("default", "nginx")
puts logs
# Get logs from specific container
logs = k8s.v1.pods.logs("default", "nginx", container: "app")
paginate_namespaced(namespace : String, label_selector : String | Nil = nil, field_selector : String | Nil = nil, page_size : Int32 = 500, &)
Paginate through all pods in a namespace.
Example:
k8s.v1.pods.paginate_namespaced("default", page_size: 100) do |pod|
puts pod.metadata.name
end
Read a single pod.
Example:
pod = k8s.v1.pods.read_namespaced("default", "nginx-12345")
puts pod.status.try(&.phase)
Check if a pod is ready.
Example:
if k8s.v1.pods.ready?("default", "nginx")
puts "Pod is ready"
end
Check if a pod is running.
Example:
if k8s.v1.pods.running?("default", "nginx")
puts "Pod is running"
end
Wait for a pod to be ready.
This method polls the pod status until all containers are ready or the timeout is reached.
Example:
pod = k8s.v1.pods.wait_until_ready("default", "nginx", timeout: 5.minutes)
puts "Pod is ready!"
Wait for a pod to reach Running phase.
Example:
pod = k8s.v1.pods.wait_until_running("default", "nginx")
Nested types
- Kubernetes::Resources::Pods::Container
- Kubernetes::Resources::Pods::ContainerState
- Kubernetes::Resources::Pods::ContainerStateRunning
- Kubernetes::Resources::Pods::ContainerStateTerminated
- Kubernetes::Resources::Pods::ContainerStateWaiting
- Kubernetes::Resources::Pods::ContainerStatus
- Kubernetes::Resources::Pods::Pod
- Kubernetes::Resources::Pods::PodSpec
- Kubernetes::Resources::Pods::PodStatus