NAME
Net::Kubernetes - An object oriented interface to the REST API's provided by kubernetes
VERSION
version 1.03
SYNOPSIS
my
$kube
= Net::Kubernetes->new(
url
=>
'http://127.0.0.1:8080'
,
username
=>
'dave'
,
password
=>
'davespassword'
);
my
$pod_list
=
$kube
->list_pods();
my
$nginx_pod
=
$kube
->create_from_file(
'kubernetes/examples/pod.yaml'
);
my
$ns
=
$kube
->get_namespace(
'default'
);
my
$services
=
$ns
->list_services;
my
$pod
=
$ns
->get_pod(
'my-pod'
);
$pod
->
delete
;
my
$other_pod
=
$ns
->create_from_file(
'./my-pod.yaml'
);
METHODS
new - Create a new $kube object
All parameters are optional and have some basic default values (where appropriate).
- url ['http://localhost:8080']
-
The base url for the kubernetes. This should include the protocal (http or https) but not "/api/v1beta3" (see base_path).
- base_path ['/api/v1beta3']
-
The entry point for api calls, this may be used to set the api version with which to interact.
- username
-
Username to use with basic authentication. If either username or password are not provided, basic authentication will not be used.
- password
-
Password to use with basic authentication. If either username or password are not provided, basic authentication will not be used.
- token
-
An authentication token to be used to access the apiserver. This may be provided as a plain string, a path to a file from which to read the token (like /var/run/secrets/kubernetes.io/serviceaccount/token from within a pod), or a reference to a file handle (from which to read the token).
- ssl_cert_file, ssl_key_file, ssl_ca_file
-
This there options passed into new will cause Net::Kubernetes in inlcude SSL client certs to requests to the kuberernetes API server for authentication. There are basically just a passthrough to the underlying LWP::UserAgent used to handle the api requests.
get_namespace("myNamespace");
This method returns a "Namespace" object on which many methods can be called implicitly limited to the specified namespace.
get_pod('my-pod-name')
Delegates automatically to Net::Kubernetes::Namespace via $self->get_namespace('default')
get_repllcation_controller('my-rc-name') (aliased as $ns->get_rc('my-rc-name'))
Delegates automatically to Net::Kubernetes::Namespace via $self->get_namespace('default')
get_service('my-servce-name')
Delegates automatically to Net::Kubernetes::Namespace via $self->get_namespace('default')
get_secret('my-secret-name')
Delegates automatically to Net::Kubernetes::Namespace via $self->get_namespace('default')
list_nodes([label=>{label=>value}], [fields=>{field=>value}])
returns a list of Net::Kubernetes::Resource::Nodes
list_service_accounts([label=>{label=>value}], [fields=>{field=>value}])
returns a list of Net::Kubernetes::Resource::Services
Build Status
AUTHOR
Dave Mueller <dave@perljedi.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Dave Mueller.
This is free software, licensed under:
The MIT (X11) License
SEE ALSO
Please see those modules/websites for more information related to this module.
CONSUMES
CONTRIBUTORS
Christopher Pruden <cdpruden@liquidweb.com>
Dave <dave@perljedi.com>
Dave Mueller <dmueller@liquidweb.com>
Kevin Johnson <kcavemanj@gmail.com>