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 ¶
const (
FirewallTimeoutDefault = 3 * time.Minute
FirewallTestTcpTimeout = time.Duration(1 * time.Second)
// Set ports outside of 30000-32767, 80 and 8080 to avoid being whitelisted by the e2e cluster
FirewallTestHttpPort = int32(29999)
FirewallTestUdpPort = int32(29998)
)
Variables ¶
This section is empty.
Functions ¶
func ConstructFirewallForLBService ¶
func ConstructFirewallForLBService(svc *v1.Service, nodeTag string) *compute.Firewall
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 ¶
func GcloudComputeResourceCreate(resource, name, project string, args ...string) error
GcloudComputeResourceCreate creates a compute resource with a name and arguments.
func GcloudComputeResourceDelete ¶
func GcloudComputeResourceDelete(resource, name, project string, args ...string) error
GcloudComputeResourceDelete deletes the specified compute resource by name and project.
func GetClusterID ¶
func GetClusterID(c clientset.Interface) (string, error)
func GetClusterName ¶
func GetClusterName(instancePrefix string) string
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 GetGCECloud() (*gcecloud.Cloud, error)
func GetInstancePrefix ¶
func GetInstancePrefix(masterName string) (string, error)
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 ¶
func IsGoogleAPIHTTPErrorCode(err error, code int) bool
IsHTTPErrorCode returns true if the error is a google api error matching the corresponding HTTP error code.
func MakeFirewallNameForLBService ¶
func MakeFirewallNameForLBService(name string) string
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 MakeHealthCheckFirewallNameForLBService ¶
func MakeHealthCheckFirewallNameForLBService(clusterID, name string, isNodesHealthCheck bool) string
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 ¶
func SameStringArray(result, expected []string, include bool) error
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 ¶
func VerifyFirewallRule(res, exp *compute.Firewall, network string, portsSubset bool) error
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.
func WaitForFirewallRule ¶
func WaitForFirewallRule(gceCloud *gcecloud.Cloud, fwName string, exist bool, timeout time.Duration) (*compute.Firewall, error)
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
func (*Provider) EnableAndDisableInternalLB ¶
func (p *Provider) EnableAndDisableInternalLB() (enable, disable func(svc *v1.Service))
func (*Provider) EnsureLoadBalancerResourcesDeleted ¶
func (p *Provider) EnsureLoadBalancerResourcesDeleted(ip, portRange string) error
func (*Provider) GetGroupNodes ¶
func (p *Provider) GetGroupNodes(group string) ([]string, error)
func (*Provider) LoadBalancerSrcRanges ¶
func (p *Provider) LoadBalancerSrcRanges() []string
func (*Provider) ResizeGroup ¶
func (p *Provider) ResizeGroup(group string, size int32) error