-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Analyze how https is working on k8s and OpenShift #13869
Comments
FYI on GCP and EC2 Google Cloud Platform k8s version: "v1.12.8-gke.10" with multi-user/tls let's encrypt certificates:workspace is starting fine but after I start a workspace I have the error in dashboard: And without multi-user = single-userServer is starting fine and workspace is starting fine but unable to open the workspace:
|
AFAIK, there are several way to support https on K8s/Ingress. It's hard to support all of them, IMO. |
@sleshchenko If you're going to test OCP 3, please use 3.11. OCP 3.9 is not supported for use with CRW 1.x, and no planned support for CRW 2, so it follows logically that 3.9 is also not supported for Che 7. :) That said, testing on OCP 4.1 is recommended too, as we DEFINITELY support that one in CRW 1.2 and 2.0. |
@benoitf Thanks for sharing issues you faced and helping me a lot to get my own GCP installation and deploy Eclipse Che there. I faced the same issues and figure out that it caused by Now, I'm trying to get working TLS for Multi-User Che deployed on GCP when multi-host is used. |
I got success in deploying Che (both Single-user and Multi-user) on Kubernetes cluster powered by GCP (Google Cloud Platform). Here are the summarized issues I faced:
For steps that I did to get it working on GCP:
We should investigate this topic more and maybe prepare proper instructions on how to get wildcard certificates on some of the platforms, but not include automation of it in helm chart. This is a pretty whole picture I have today, I'm not a big expert in DNS and TLS things, sorry if there are some inaccuracies. |
I tried to use
But since the second way still it requires creating an empty secret, I think the first way is more preferable. I continue working on preparing fixes for HTTPS with a different combination of configuration. |
The scope of this issue that is left.
We are looking for some free tear on AWS or Azure. Not sure we are able to do that without credit card. Trying to manage that problem. |
For Azure free credits are easy to get |
After merging of these PRs #13946, che-incubator/chectl#237 there should not be any issues with HTTPs on Kubernetes if correct TLS certificate is provided for Che. |
I manage to run Eclipse Che on Kubernetes instance powered by Microsoft Azure. The only issue that I faced: I did not manage to set up an automatic generating of wildcard certificates. After try to actualize instructions, cert-manager failed to generate certificates because of the following error So, finally I created certificate manually with certbot
Create TLS secret for che
and everything works just fine. |
I was able to use cert-manager on Azure and updated the whole instructions in google doc so doc is now fine for Azure and GCP in order to have a working multi-user/multi-host/tls with free let's encrypt certificates ! :-) |
I tried on Amazon EC2 as well and validated cert-manager/ingress-nginx/route53/tls/multi-user/multi-host and I've updated the documentation |
I tried on Amazon EC2 but faced an issue with right setting up EC2 cluster, it does not work for me out-of-the-box. Nginx service was not provisioned with an external IP address. $ kubectl describe service -n ingress-nginx ingress-nginx
Warning CreatingLoadBalancerFailed 1m service-controller Error creating load balancer (will retry): failed to ensure load balancer for service ingress-nginx/ingress-nginx: AccessDenied: User: arn:aws:sts::269287474311:assumed-role/masters.ide.aws-serg.codenvy-dev.com/i-0c029cb1b9c854bff is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::269287474311:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing Here is a article that helps me to solve my issue https://medium.com/faun/aws-eks-the-role-is-not-authorized-to-perform-ec2-describeaccountattributes-error-1c6474781b84 So, finally I deployed my Che with TLS enabled on Amazon and it worked just fine. |
I've tested Che with TLS enabled on minishift and minikube. Here are some instructions/comments what should be done to test it:
But you need your own DNS server to do DNS challenge. Minikube:
And note that there were discovered two chectl issues, and you should use up-to-date chectl binaries: che-incubator/chectl#239, che-incubator/chectl#241 Minishift:
In case of K8s, we configure each Ingress with secret where TLS cert is stored. $ cat fullchain.pem privkey.pem > minishift-cert.pem
$ oc login -u system:admin
$ oc project default
$ oc delete secret router-certs
$ oc create secret tls router-certs --key=privkey.pem --cert=minishift-cert.pem
$ oc rollout latest router Now, it should be possible to deploy Che on minishift with TLS enabled. I did it with checlt and used operator as installer. I'm not sure what is users admired way to provide TLS certs for Che - configure their router or provide a certificate for Che Server in the same way as it can be done for K8s infra. So, maybe we should create a separate issue to implement such an ability (make Che Server reuse |
I tried to test Che with TLS enabled on CRC but did not manage to run it successfully. I assume that Che should work just fine if OpenShift 4.x is configured properly and I think it does not make much sense to play with CRC to do things that are not implemented yet (configure public-hostname and routing-suffix) |
@sleshchenko is there a pending issue to allow custom domain in CRC ? (if none we could create one or discuss how to manage TLS there ? ) |
I got the following answer from CRC guys via CoreOS Slack
So, we can create an issue to discuss TLS configuration. |
I'm closing this issue since we tested platforms that were defined as a scope:
If anybody has any issues with TLS on the listed platforms or any others - feel free to register a new issue. |
@sleshchenko Could you list the issues identified and fixed along this issue? |
Summary of the work done in this issue: GPC was the first platform we tried to test. Azure was the second platform we tested. AWS Minikube&Minishift CRC [1] #12971 (comment) cc @slemeur |
Somebody please provide access to the 9th document from @sleshchenko comment above. |
@sudheerherle it's already published to Che 7 docs, you should be able to find it here https://www.eclipse.org/che/docs/che-7/deploying-che-on-kubernetes-on-aws/ |
Is your task related to a problem? Please describe.
The goal of this task is to test how https is working on k8s and different flavors of OpenShift.
The text was updated successfully, but these errors were encountered: