aws-samples / aws-kube-code-service

The Code Services Continuous Deployment reference architecture demonstrates how to achieve continuous deployment of an application to a Kubernetes cluster using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild and AWS Lambda.
Apache License 2.0
190 stars 159 forks source link

Gossip-based Kubernetes clusters are not supported #6

Closed arun-gupta closed 6 years ago

arun-gupta commented 6 years ago

Kops allows creation of gossip-based cluster. This pipeline throws an error during Deploy stage for such a cluster. Here is the exact error:

HTTPSConnectionPool(host='api.api-cluster-k8s-local-ohpk1a-982509592.us-west-2.elb.amazonaws.com', port=443): Max retries exceeded with url: /apis/extensions/v1beta1/namespaces/default/deployments/codesuite-demo (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fb86304d2e8>: Failed to establish a new connection: [Errno -2] Name or service not known',)): MaxRetryError
Traceback (most recent call last):
File "/var/task/kube-lambda.py", line 55, in lambda_handler
raise e
File "/var/task/kube-lambda.py", line 47, in lambda_handler
body=dep, namespace="default")
File "/var/task/kubernetes/client/apis/extensions_v1beta1_api.py", line 4727, in patch_namespaced_deployment
(data) = self.patch_namespaced_deployment_with_http_info(name, namespace, body, **kwargs)
File "/var/task/kubernetes/client/apis/extensions_v1beta1_api.py", line 4823, in patch_namespaced_deployment_with_http_info
collection_formats=collection_formats)
File "/var/task/kubernetes/client/api_client.py", line 335, in call_api
_preload_content, _request_timeout)
File "/var/task/kubernetes/client/api_client.py", line 148, in __call_api
_request_timeout=_request_timeout)
File "/var/task/kubernetes/client/api_client.py", line 409, in request
body=body)
File "/var/task/kubernetes/client/rest.py", line 307, in PATCH
body=body)
File "/var/task/kubernetes/client/rest.py", line 177, in request
timeout=timeout, headers=headers)
File "/var/task/urllib3/request.py", line 70, in request
**urlopen_kw)
File "/var/task/urllib3/request.py", line 148, in request_encode_body
return self.urlopen(method, url, **extra_kw)
File "/var/task/urllib3/poolmanager.py", line 321, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/var/task/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
File "/var/task/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
File "/var/task/urllib3/connectionpool.py", line 668, in urlopen
**response_kw)
File "/var/task/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/var/task/urllib3/util/retry.py", line 388, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.api-cluster-k8s-local-ohpk1a-982509592.us-west-2.elb.amazonaws.com', port=443): Max retries exceeded with url: /apis/extensions/v1beta1/namespaces/default/deployments/codesuite-demo (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fb86304d2e8>: Failed to establish a new connection: [Errno -2] Name or service not known',))

Also see https://github.com/aws-samples/aws-microservices-deploy-options/issues/65.

omarlari commented 6 years ago

Added support for gossip based clusters.