Tim Hockin
42c7fec490
Add a cloud-provider hook to scrub DNS for pods
...
GCE needs this hook and it seems general enough to include.
2015-10-23 17:01:49 -07:00
qiaolei
919add69be
Fixed some typos and improved comments
2015-10-03 22:43:10 +08:00
Abhishek Shah
44ce4aa423
Create a LB for a K8S with the LB-IP provided by user.
2015-09-10 21:05:06 -07:00
Justin Santa Barbara
87df1d6fb6
Change CreateTCPLoadBalancer -> EnsureTCPLoadBalancer; implementations auto-delete if already exists
...
Previously the servicecontroller would do the delete, but by having the cloudprovider
take that task on, we can later remove it from the servicecontroller, and the
cloudprovider can do something more efficient.
2015-08-17 08:58:45 -04:00
CJ Cullen
e20467afcb
Clean up GCE metadata calls. Remove GetNodeResources from all providers.
2015-08-14 07:29:52 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Satnam Singh
9f32599bee
Merge pull request #9720 from justinsb/aws_routes
...
Refactor Routes, and dynamically configure minion CIDRs on AWS
2015-06-18 17:16:29 -07:00
Justin Santa Barbara
a3b43a36fd
Refactor cloud route interface, to avoid assumption that routes are named
2015-06-18 14:59:37 -07:00
Justin Santa Barbara
a77bc9cfc4
Document assumption made by node-controller, and fix AWS to match
...
ExternalID must return "", cloudprovider.InstanceNotFound if the instance
is not found, for nodecontroller to remove nodes corresponding to deleted instances.
2015-06-18 14:55:10 -07:00
Justin Santa Barbara
df87470ecf
Allow cloud providers to return a node identifier different from the hostname
2015-06-18 12:40:05 -07:00
Satnam Singh
e4f5529a2d
Revert "Allow nodename to be != hostname, use AWS instance ID on AWS"
2015-06-18 11:27:55 -07:00
Justin Santa Barbara
efaead81dc
Allow cloud providers to return a node identifier different from the hostname
2015-06-17 00:40:43 -04:00
Brendan Burns
5115fd5703
Add key generation.
2015-06-05 14:55:15 -07:00
Justin Santa Barbara
c741b8f3ae
Pass ports as []*api.ServicePort into LoadBalancer provider
...
Because AWS needs the NodePort; this also paves the way for e.g. UDP balancing
2015-05-29 18:47:05 -04:00
Federico Simoncelli
2a89428d44
api: add the ProviderID attribute to NodeSpec
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:01:58 -04:00
Federico Simoncelli
faba12951a
cloudprovider: add support for InstanceID method
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 12:47:50 -04:00
Federico Simoncelli
194343267d
cloudprovider: add the ProviderName method
...
This patch adds the ProviderName method used to identify the cloud
provider.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 12:47:47 -04:00
Robert Bailey
1dfaa93ccd
For GCE, compute the external IP by using the local metadata
...
server. This is in many ways a revert of #7530 but after auditing
the code I found that this function is now only used to determine
an address of the node where it is currently running.
2015-05-27 17:41:41 -07:00
Justin Santa Barbara
3884d5fc59
Add LoadBalancer status to ServiceStatus
...
This will replace publicIPs
2015-05-22 18:27:05 -04:00
Dawn Chen
677a4aa1a7
Merge pull request #8164 from cjcullen/cloudprovider
...
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
Quinton Hoole
6d8eaa924e
Merge pull request #7852 from a-robinson/tp
...
Prevent stranding of partial load balancers resources
2015-05-22 10:12:30 -07:00
CJ Cullen
e6da5b9601
Make routecontroller_test less hacky.
...
Rename reconcilePodCIDRs to reconcileNodeCIDRs.
Add comments and TODOs about using controller framework.
2015-05-21 18:05:11 -07:00
CJ Cullen
0d12a15971
Route creation reconciler loop.
2015-05-20 14:21:30 -07:00
CJ Cullen
bf646abf8d
Revert "Revert "Modify nodes to register directly with the master.""
...
This reverts commit c53786ab31
.
2015-05-20 14:21:03 -07:00
Quinton Hoole
c53786ab31
Revert "Modify nodes to register directly with the master."
2015-05-20 13:47:51 -07:00
Alex Robinson
dbf224475d
Require DeleteTCPLoadBalancer to be idempotent and change the service
...
controller to rely on that, so that we won't strand partial resources
from them anymore (target pools in GCE, pools in OpenStack, etc.).
2015-05-19 17:06:54 +00:00
Robert Bailey
01467e0bb8
Modify nodes to register directly with the master.
...
- Delete nodes when they are no longer ready and don't exist in the
cloud provider.
- Label each node with it's hostname.
- Add flag to skip node registration.
- Add a test for registering an existing node.
2015-05-19 09:55:07 -07:00
Tim Hockin
a548d542db
Rename AffinityType to ServiceAffinity
2015-05-18 17:21:30 -07:00
Tomek Kulczynski
290c7b94ef
Make nodecontroller configure nodes' pod IP ranges
2015-05-05 16:10:42 -07:00
Quinton Hoole
8bc481d65c
Merge pull request #7669 from a-robinson/lb
...
Change the cloud provider TCPLoadBalancerExists function to GetTCPLoadBalancer...
2015-05-05 11:42:06 -07:00
Quinton Hoole
83b70c4411
Revert "Revert #7145 now that #7609 is in, and fix the tests that were relying on it"
2015-05-02 23:32:21 -07:00
Jeff Lowdermilk
b447dc0c54
Merge pull request #7635 from a-robinson/length
...
Revert #7145 now that #7609 is in, and fix the tests that were relying on it
2015-05-01 17:48:41 -07:00
Alex Robinson
a047250b53
Change the cloud provider TCPLoadBalancerExists function to GetTCPLoadBalancer,
...
which returns the IP/DNS address of the load balancer, enabling more
intelligent reconciliation in the service controller.
2015-05-01 17:42:23 -07:00
Eric Paris
6b3a6e6b98
Make copyright ownership statement generic
...
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Alex Robinson
890ff7b4aa
Revert #7145 now that #7609 is in, and fix the tests that were relying on it.
2015-05-01 10:49:23 -07:00
caesarxuchao
e9c5e44767
Use service UID as the ELB name
2015-04-21 12:20:42 -07:00
Alex Robinson
fc08a0a71b
Do service creation/update/deletion work in a pool of goroutines, protecting
...
each service with a lock to ensure that no two goroutines will process a
service at the same time. This is needed to avoid weird race conditions.
2015-04-15 00:30:18 +00:00
Alex Robinson
ccc300289f
Implement a ServiceController that watches services and handles keeping
...
external load balancers up-to-date based on the service's specs, using
the new DeltaFIFO watch queue class. Remove the old registry REST
handler code for creating/updating/deleting load balancers.
Also clean up a bunch of the GCE cloudprovider code related to load balancers.
2015-04-14 18:56:24 +00:00
Jerzy Szczepkowski
eb253a694e
Updating target pools on cloud nodes change.
...
Implemented updating target pools for external services on chage of cloud nodes. Related to #5241 .
2015-04-10 16:06:56 +02:00
Tim Hockin
186818d787
WIP: Implement multi-port Services
2015-03-30 19:28:11 -07:00
Alex Robinson
579edee4c2
Merge pull request #5346 from justinsb/cloudprovider_multiple_addresses
...
Let CloudProvider return list of NodeAddress, not just one net.IP
2015-03-13 15:45:11 -07:00
Justin Santa Barbara
99da56fb06
Fix problems identified in review
2015-03-13 18:07:08 -04:00
Justin Santa Barbara
bc16d83a51
Let CloudProvider return list of NodeAddress, not just one net.IP
...
This lets cloud providers populate the NodeAddress array
2015-03-11 16:50:26 -07:00
Justin Santa Barbara
5d36d3cdbe
Change cloud provider CreateTCPLoadBalancer to return endpoint as string
...
Some load balancers (particularly AWS ELB) define the public endpoint
as a hostname (instead of using IP addresses).
This is a partial fix for #5224 ; there will also be some proxy work.
2015-03-09 20:35:13 -07:00
Federico Simoncelli
a450da4fd0
cloudprovider: add instance id to NodeSpec
...
Sometimes for external applications it is important to identify the
cloud instance of the nodes. Until this patch there was no contract
that the node name returned by List was also the unique identifier of
the cloud instance. This new API ensures that an external application
can reliably retrieve the relevant instance id of the nodes.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-02-26 20:52:12 +00:00
Mike Foley
c4e94efe16
Sticky Session Implementation
...
- Added process to cleanup stale session affinity records
- Automatically set cloud provided load balancer for sticky session if the service requires it - Note, this only works on GCE right now.
- Changed sessionAffinityMap a map to pointers instead of structs to improve performance
- Commented out cookie and protocol from sessionAffinityDetail to avoid confusion as it is not yet implemented.
2014-12-18 18:46:10 -05:00
Brendan Burns
2aa52d043b
Add external services v2 support.
2014-11-14 11:32:54 -08:00
Brendan Burns
aabf1c3573
Add a clusters interface and GCE implementation.
2014-11-14 10:38:03 -08:00
Brendan Burns
1551b48347
Add a resource fit scheduler predicate. Set sensible defaults.
2014-10-03 15:09:59 -07:00
Vojtech Vitek (V-Teq)
59f58cd043
Unify Godoc formatting, fix various typos
...
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00