Documentation ¶
Index ¶
- Constants
- func ConstructFirewallForLBService(svc *v1.Service, nodeTag string) *compute.Firewall
- func ConstructHealthCheckFirewallForLBService(clusterID string, svc *v1.Service, nodeTag string, isNodesHealthCheck bool) *compute.Firewall
- func GcloudComputeResourceCreate(resource, name, project string, args ...string) error
- func GcloudComputeResourceDelete(resource, name, project string, args ...string) error
- func GetClusterID(c clientset.Interface) (string, error)
- func GetClusterName(instancePrefix string) string
- func GetE2eFirewalls(masterName, masterTag, nodeTag, network, clusterIpRange string) []*compute.Firewall
- func GetGCECloud() (*gcecloud.Cloud, error)
- func GetInstancePrefix(masterName string) (string, error)
- func GetInstanceTags(cloudConfig framework.CloudConfig, instanceName string) *compute.Tags
- func GetNodeTags(c clientset.Interface, cloudConfig framework.CloudConfig) []string
- func IsGoogleAPIHTTPErrorCode(err error, code int) bool
- func MakeFirewallNameForLBService(name string) string
- func MakeHealthCheckFirewallNameForLBService(clusterID, name string, isNodesHealthCheck bool) string
- func NewProvider(gceCloud *gcecloud.Cloud) framework.ProviderInterface
- func PackProtocolsPortsFromFirewall(alloweds []*compute.FirewallAllowed) []string
- func SameStringArray(result, expected []string, include bool) error
- func SetInstanceTags(cloudConfig framework.CloudConfig, instanceName, zone string, tags []string) []string
- func VerifyFirewallRule(res, exp *compute.Firewall, network string, portsSubset bool) error
- func WaitForFirewallRule(gceCloud *gcecloud.Cloud, fwName string, exist bool, timeout time.Duration) (*compute.Firewall, error)
- type GCEIngressController
- func (cont *GCEIngressController) BackendServiceUsingIG(svcPorts map[string]v1.ServicePort) (bool, error)
- func (cont *GCEIngressController) BackendServiceUsingNEG(svcPorts map[string]v1.ServicePort) (bool, error)
- func (cont *GCEIngressController) Cleanup(del bool) error
- func (cont *GCEIngressController) CleanupGCEIngressController() error
- func (cont *GCEIngressController) CleanupGCEIngressControllerWithTimeout(timeout time.Duration) error
- func (cont *GCEIngressController) CreateStaticIP(name string) string
- func (cont *GCEIngressController) GetFirewallRule() *compute.Firewall
- func (cont *GCEIngressController) GetFirewallRuleName() string
- func (cont *GCEIngressController) GetFirewallRuleOrError() (*compute.Firewall, error)
- func (cont *GCEIngressController) GetGlobalAddress(ipName string) *compute.Address
- func (cont *GCEIngressController) Init() error
- func (cont *GCEIngressController) ListGlobalBackendServices() []*compute.BackendService
- func (cont *GCEIngressController) ListGlobalForwardingRules() []*compute.ForwardingRule
- func (cont *GCEIngressController) ListInstanceGroups() []*compute.InstanceGroup
- func (cont *GCEIngressController) ListSslCertificates() []*compute.SslCertificate
- func (cont *GCEIngressController) ListTargetHttpProxies() []*compute.TargetHttpProxy
- func (cont *GCEIngressController) ListTargetHttpsProxies() []*compute.TargetHttpsProxy
- func (cont *GCEIngressController) ListUrlMaps() []*compute.UrlMap
- type Provider
- func (p *Provider) CleanupServiceResources(c clientset.Interface, loadBalancerName, region, zone string)
- func (p *Provider) CreatePD(zone string) (string, error)
- func (p *Provider) CreatePVSource(zone, diskName string) (*v1.PersistentVolumeSource, error)
- func (p *Provider) DeletePD(pdName string) error
- func (p *Provider) DeletePVSource(pvSource *v1.PersistentVolumeSource) error
- func (p *Provider) EnableAndDisableInternalLB() (enable, disable func(svc *v1.Service))
- func (p *Provider) EnsureLoadBalancerResourcesDeleted(ip, portRange string) error
- func (p *Provider) GetGroupNodes(group string) ([]string, error)
- func (p *Provider) GroupSize(group string) (int, error)
- func (p *Provider) LoadBalancerSrcRanges() []string
- func (p *Provider) ResizeGroup(group string, size int32) error
Constants ¶
Variables ¶
This section is empty.
Functions ¶
func ConstructFirewallForLBService ¶
ConstructFirewallForLBService returns the expected GCE firewall rule for a loadbalancer type service
func ConstructHealthCheckFirewallForLBService ¶
func ConstructHealthCheckFirewallForLBService(clusterID string, svc *v1.Service, nodeTag string, isNodesHealthCheck bool) *compute.Firewall
ConstructHealthCheckFirewallForLBService returns the expected GCE firewall rule for a loadbalancer type service
func GcloudComputeResourceCreate ¶
GcloudComputeResourceCreate creates a compute resource with a name and arguments.
func GcloudComputeResourceDelete ¶
GcloudComputeResourceDelete deletes the specified compute resource by name and project.
func GetClusterName ¶
GetClusterName returns the CLUSTER_NAME env we set for e2e cluster. From cluster/gce/config-test.sh, cluster name is set up using below format: CLUSTER_NAME="${CLUSTER_NAME:-${INSTANCE_PREFIX}}"
func GetE2eFirewalls ¶
func GetE2eFirewalls(masterName, masterTag, nodeTag, network, clusterIpRange string) []*compute.Firewall
GetE2eFirewalls returns all firewall rules we create for an e2e cluster. From cluster/gce/util.sh, all firewall rules should be consistent with the ones created by startup scripts.
func GetGCECloud ¶
func GetInstancePrefix ¶
GetInstancePrefix returns the INSTANCE_PREFIX env we set for e2e cluster. From cluster/gce/config-test.sh, master name is set up using below format: MASTER_NAME="${INSTANCE_PREFIX}-master"
func GetInstanceTags ¶
func GetInstanceTags(cloudConfig framework.CloudConfig, instanceName string) *compute.Tags
GetInstanceTags gets tags from GCE instance with given name.
func GetNodeTags ¶
func GetNodeTags(c clientset.Interface, cloudConfig framework.CloudConfig) []string
GetNodeTags gets k8s node tag from one of the nodes
func IsGoogleAPIHTTPErrorCode ¶
IsHTTPErrorCode returns true if the error is a google api error matching the corresponding HTTP error code.
func MakeFirewallNameForLBService ¶
MakeFirewallNameForLBService return the expected firewall name for a LB service. This should match the formatting of makeFirewallName() in pkg/cloudprovider/providers/gce/gce_loadbalancer.go
func NewProvider ¶
func NewProvider(gceCloud *gcecloud.Cloud) framework.ProviderInterface
func PackProtocolsPortsFromFirewall ¶
func PackProtocolsPortsFromFirewall(alloweds []*compute.FirewallAllowed) []string
PackProtocolsPortsFromFirewall packs protocols and ports in an unified way for verification.
func SameStringArray ¶
SameStringArray verifies whether two string arrays have the same strings, return error if not. Order does not matter. When `include` is set to true, verifies whether result includes all elements from expected.
func SetInstanceTags ¶
func SetInstanceTags(cloudConfig framework.CloudConfig, instanceName, zone string, tags []string) []string
SetInstanceTags sets tags on GCE instance with given name.
func VerifyFirewallRule ¶
VerifyFirewallRule verifies whether the result firewall is consistent with the expected firewall. When `portsSubset` is false, match given ports exactly. Otherwise, only check ports are included.
Types ¶
type GCEIngressController ¶
type GCEIngressController struct { Ns string UID string Client clientset.Interface Cloud framework.CloudConfig // contains filtered or unexported fields }
GCEIngressController manages implementation details of Ingress on GCE/GKE.
func (*GCEIngressController) BackendServiceUsingIG ¶
func (cont *GCEIngressController) BackendServiceUsingIG(svcPorts map[string]v1.ServicePort) (bool, error)
BackendServiceUsingIG returns true only if all global backend service with matching svcPorts pointing to IG as backend
func (*GCEIngressController) BackendServiceUsingNEG ¶
func (cont *GCEIngressController) BackendServiceUsingNEG(svcPorts map[string]v1.ServicePort) (bool, error)
BackendServiceUsingNEG returns true only if all global backend service with matching nodeports pointing to NEG as backend
func (*GCEIngressController) Cleanup ¶
func (cont *GCEIngressController) Cleanup(del bool) error
Cleanup cleans up cloud resources. If del is false, it simply reports existing resources without deleting them. If dle is true, it deletes resources it finds acceptable (see canDelete func).
func (*GCEIngressController) CleanupGCEIngressController ¶
func (cont *GCEIngressController) CleanupGCEIngressController() error
func (*GCEIngressController) CleanupGCEIngressControllerWithTimeout ¶
func (cont *GCEIngressController) CleanupGCEIngressControllerWithTimeout(timeout time.Duration) error
CleanupGCEIngressControllerWithTimeout calls the GCEIngressController.Cleanup(false) followed with deleting the static ip, and then a final GCEIngressController.Cleanup(true)
func (*GCEIngressController) CreateStaticIP ¶
func (cont *GCEIngressController) CreateStaticIP(name string) string
CreateStaticIP allocates a random static ip with the given name. Returns a string representation of the ip. Caller is expected to manage cleanup of the ip by invoking deleteStaticIPs.
func (*GCEIngressController) GetFirewallRule ¶
func (cont *GCEIngressController) GetFirewallRule() *compute.Firewall
GetFirewallRule returns the firewall used by the GCEIngressController. Causes a fatal error incase of an error. TODO: Rename this to GetFirewallRuleOrDie and similarly rename all other methods here to be consistent with rest of the code in this repo.
func (*GCEIngressController) GetFirewallRuleName ¶
func (cont *GCEIngressController) GetFirewallRuleName() string
GetFirewallRuleName returns the name of the firewall used for the GCEIngressController.
func (*GCEIngressController) GetFirewallRuleOrError ¶
func (cont *GCEIngressController) GetFirewallRuleOrError() (*compute.Firewall, error)
GetFirewallRule returns the firewall used by the GCEIngressController. Returns an error if that fails. TODO: Rename this to GetFirewallRule when the above method with that name is renamed.
func (*GCEIngressController) GetGlobalAddress ¶
func (cont *GCEIngressController) GetGlobalAddress(ipName string) *compute.Address
func (*GCEIngressController) Init ¶
func (cont *GCEIngressController) Init() error
Init initializes the GCEIngressController with an UID
func (*GCEIngressController) ListGlobalBackendServices ¶
func (cont *GCEIngressController) ListGlobalBackendServices() []*compute.BackendService
func (*GCEIngressController) ListGlobalForwardingRules ¶
func (cont *GCEIngressController) ListGlobalForwardingRules() []*compute.ForwardingRule
func (*GCEIngressController) ListInstanceGroups ¶
func (cont *GCEIngressController) ListInstanceGroups() []*compute.InstanceGroup
func (*GCEIngressController) ListSslCertificates ¶
func (cont *GCEIngressController) ListSslCertificates() []*compute.SslCertificate
func (*GCEIngressController) ListTargetHttpProxies ¶
func (cont *GCEIngressController) ListTargetHttpProxies() []*compute.TargetHttpProxy
func (*GCEIngressController) ListTargetHttpsProxies ¶
func (cont *GCEIngressController) ListTargetHttpsProxies() []*compute.TargetHttpsProxy
func (*GCEIngressController) ListUrlMaps ¶
func (cont *GCEIngressController) ListUrlMaps() []*compute.UrlMap
type Provider ¶
type Provider struct { framework.NullProvider // contains filtered or unexported fields }
func (*Provider) CleanupServiceResources ¶
func (p *Provider) CleanupServiceResources(c clientset.Interface, loadBalancerName, region, zone string)
CleanupResources cleans up GCE Service Type=LoadBalancer resources with the given name. The name is usually the UUID of the Service prefixed with an alpha-numeric character ('a') to work around cloudprovider rules.
func (*Provider) CreatePVSource ¶
func (p *Provider) CreatePVSource(zone, diskName string) (*v1.PersistentVolumeSource, error)
func (*Provider) DeletePVSource ¶
func (p *Provider) DeletePVSource(pvSource *v1.PersistentVolumeSource) error