Documentation ¶
Index ¶
- Constants
- func DecodeGCELabel(s string) (string, error)
- func DefaultProject() (string, error)
- func DeleteInstance(c GCECloud, instanceSelfLink string) error
- func DeleteInstanceGroupManager(c GCECloud, t *compute.InstanceGroupManager) error
- func DeleteInstanceTemplate(c GCECloud, selfLink string) error
- func EncodeGCELabel(s string) string
- func FindInstanceTemplates(c GCECloud, clusterName string) ([]*compute.InstanceTemplate, error)
- func InstallMockGCECloud(region string, project string) *mockGCECloud
- func IsNotFound(err error) bool
- func IsNotReady(err error) bool
- func LastComponent(s string) string
- func LimitedLengthName(s string, n int) string
- func ListManagedInstances(c GCECloud, igm *compute.InstanceGroupManager) ([]*compute.ManagedInstance, error)
- func NameForInstanceGroupManager(c *kops.Cluster, ig *kops.InstanceGroup, zone string) string
- func PerformNetworkAssignments(c *kops.Cluster, cloudObj fi.Cloud) error
- func SafeClusterName(clusterName string) string
- func SafeObjectName(name string, clusterName string) string
- func UsesIPAliases(c *kops.Cluster) bool
- func WaitForOp(client *compute.Service, op *compute.Operation) error
- func ZoneToRegion(zone string) (string, error)
- type GCEAPITarget
- type GCECloud
- type GoogleCloudURL
Constants ¶
const ( // The tag name we use to differentiate multiple logically independent clusters running in the same region GceLabelNameKubernetesCluster = "k8s-io-cluster-name" GceLabelNameRolePrefix = "k8s-io-role-" GceLabelNameEtcdClusterPrefix = "k8s-io-etcd-" )
Variables ¶
This section is empty.
Functions ¶
func DecodeGCELabel ¶ added in v1.10.0
DecodeGCELabel reverse EncodeGCELabel, taking the encoded RFC1035 compatible value back to a string
func DefaultProject ¶ added in v1.10.0
DefaultProject returns the current project configured in the gcloud SDK, ("", nil) if no project was set
func DeleteInstance ¶ added in v1.10.0
DeleteInstance deletes the specified instance (by URL) in GCE
func DeleteInstanceGroupManager ¶ added in v1.10.0
func DeleteInstanceGroupManager(c GCECloud, t *compute.InstanceGroupManager) error
DeleteInstanceGroupManager deletes the specified InstanceGroupManager in GCE
func DeleteInstanceTemplate ¶ added in v1.10.0
DeleteInstanceTemplate deletes the specified InstanceTemplate (by URL) in GCE
func EncodeGCELabel ¶ added in v1.10.0
EncodeGCELabel encodes a string into an RFC1035 compatible value, suitable for use as GCE label key or value We use a URI inspired escaping, but with - instead of %.
func FindInstanceTemplates ¶ added in v1.10.0
func FindInstanceTemplates(c GCECloud, clusterName string) ([]*compute.InstanceTemplate, error)
FindInstanceTemplates finds all instance templates that are associated with the current cluster It matches them by looking for instance metadata with key='cluster-name' and value of our cluster name
func InstallMockGCECloud ¶ added in v1.10.0
InstallMockGCECloud registers a mockGCECloud implementation for the specified region & project
func IsNotFound ¶
func IsNotReady ¶
func LastComponent ¶ added in v1.10.0
LastComponent returns the last component of a URL, i.e. anything after the last slash If there is no slash, returns the whole string
func LimitedLengthName ¶ added in v1.10.0
LimitedLengthName returns a string subject to a maximum length
func ListManagedInstances ¶ added in v1.10.0
func ListManagedInstances(c GCECloud, igm *compute.InstanceGroupManager) ([]*compute.ManagedInstance, error)
ListManagedInstances lists the specified InstanceGroupManagers in GCE
func NameForInstanceGroupManager ¶ added in v1.10.0
NameForInstanceGroupManager builds a name for an InstanceGroupManager in the specified zone
func PerformNetworkAssignments ¶ added in v1.15.1
PerformNetworkAssignments assigns suitable pod and service assignments for GCE, in particular for IP alias support.
func SafeClusterName ¶ added in v1.10.0
func SafeObjectName ¶ added in v1.10.0
SafeObjectName returns the object name and cluster name escaped for GCE
func UsesIPAliases ¶ added in v1.15.1
UsesIPAliases checks if the cluster uses IP aliases for network connectivity
func ZoneToRegion ¶ added in v1.10.0
ZoneToRegion maps a GCE zone name to a GCE region name, returning an error if it cannot be mapped
Types ¶
type GCEAPITarget ¶
type GCEAPITarget struct {
Cloud GCECloud
}
func NewGCEAPITarget ¶
func NewGCEAPITarget(cloud GCECloud) *GCEAPITarget
func (*GCEAPITarget) ProcessDeletions ¶ added in v1.10.0
func (t *GCEAPITarget) ProcessDeletions() bool
type GCECloud ¶
type GCECloud interface { fi.Cloud Compute() *compute.Service Storage() *storage.Service IAM() *iam.Service Project() string WaitForOp(op *compute.Operation) error GetApiIngressStatus(cluster *kops.Cluster) ([]kops.ApiIngressStatus, error) Labels() map[string]string // FindClusterStatus gets the status of the cluster as it exists in GCE, inferred from volumes FindClusterStatus(cluster *kops.Cluster) (*kops.ClusterStatus, error) Zones() ([]string, error) // ServiceAccount returns the email for the service account that the instances will run under ServiceAccount() (string, error) }
type GoogleCloudURL ¶
type GoogleCloudURL struct { Version string Project string Type string Name string Global bool Region string Zone string }
func ParseGoogleCloudURL ¶
func ParseGoogleCloudURL(u string) (*GoogleCloudURL, error)
func (*GoogleCloudURL) BuildURL ¶
func (u *GoogleCloudURL) BuildURL() string