-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Add a local Getting Started guide for Kubernetes #10620
Conversation
First off thanks to @ptgott for putting this improvement to documentation together. I'm just getting started with Teleport, so a guide showing me how to run locally is a big help. There is some discrepancy between the guide and usage. Perhaps this is because I'm running minikube in a VBOX? The one I have found so far has to do with If this ultimately due to running in a VBOX, I'd be happy to test or contribute anything back.
The 10.x.x.x is internal. The 192.168.59.100 is my VBOX NET
EDIT Here is the routing information from the minikube VM (while the tunnel is active)
With the way routing is changed when the tunnel is active, I am able to access the k8's dashboard directly from my host machine. When I do attempt to access it through the Teleport launch, then after a timeout period I get "INTERNAL SERVER ERROR" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to go through the guide and everything worked correctly with Docker as minikube
driver. Left one small suggestion
https://teleport-cluster.teleport-cluster.svc.cluster.local:443/web/invite/<token> | ||
``` | ||
|
||
Next, open a browser at `https://localhost:443/web/invite/<token>`, copying the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
original url (https://teleport-cluster.teleport-cluster.svc.cluster.local:443/web/invite/<token>
) worked for me just fine, so maybe we can skip mentioning localhost
here and just advice to visit url above?
6c07217
to
c4eadd0
Compare
@bearrito @probakowski Thanks a lot for reviewing this! I've made some changes in response to your feedback. |
@r0mant @zmb3 @xinding33 would one of you have time to review this? Thanks! |
b5f043f
to
742bb1c
Compare
742bb1c
to
bb0e641
Compare
bb0e641
to
0443420
Compare
0443420
to
51ae533
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments with a few nits but this is an awesome guide. Great job!
The **Teleport Auth Service** is the certificate authority for your cluster. It | ||
issues certificates and conducts authentication challenges. The **Teleport Proxy | ||
Service** is the cluster frontend, and handles user requests, forwards user | ||
credentials to the Auth Service, and communicates with other Teleport | ||
instances—called **Nodes**—that enable access to your infrastructure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is effectively a list anyway, what do you think of reformatting using list items?
credentials to the Auth Service, and communicates with other Teleport | ||
instances—called **Nodes**—that enable access to your infrastructure. | ||
|
||
In our demo, one Node is a pod that runs Teleport's Application Service to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the "Application Service" referenced here? Can we be more specific?
Also, since the next sentence talks about "a second pod..." I think we should just say something along the lines of:
In our demo, one Node is a pod that runs Teleport's Application Service to | |
We will be running two pods for this demo. The first pod runs...` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wrote this back when I was mistakenly using "Node" to refer to individual resource services. I've edited the wording.
application to create your user. | ||
|
||
<Details title="Don't want to use MFA in your local demo?" opened={false}> | ||
We recommend requiring a second factor for all Teleport users. However, for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We recommend requiring a second factor for all Teleport users. However, for | |
We recommend requiring MFA for all Teleport users in production. However, for |
... | ||
``` | ||
|
||
Copy the join token so you can assign it to `JOIN_TOKEN` below, then launch the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we use the terminology invite token
in the code block above, I suggest we stick with that here.
Copy the join token so you can assign it to `JOIN_TOKEN` below, then launch the | |
Copy the invite token so you can assign it to `JOIN_TOKEN` below, then launch the |
ae74932
to
0e3bec0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested the rest of the guide. It worked great.
I did have to launch the Teleport dashboard in Safari rather than Chromium 99.0.4844.88 though when using the self-signed cert. Chromium gave an error and refused to load the page, and there was no place to add an exception (though there may have been some hidden hotkey I could have pressed to allow it - I forget if this is a thing in Chrome).
I think you have an include about insecure pages already though.
0e3bec0
to
4b4bf08
Compare
Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359
I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI.
4b4bf08
to
9591a72
Compare
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Backports #10620 * Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
* Add a local Getting Started guide for Kubernetes Our current Getting Started guides for Teleport on Kubernetes assume that readers are deploying resources to the cloud. Some users may want to get started quickly without, say, asking another team for permission to deploy a DNS zone. These users can then read our cloud-focused guides when it comes time to develop a proof of concept or use Teleport in production. Hopefully, this guide will expand the range of security-minded engineers who can get early firsthand experience with Teleport. This guide sets up Teleport on minikube and uses the App Service to access Kubernetes Dashboard. Because Kubernetes Dashboard is not initially accessible outside the cluster, this guide shows you how you can access it securely via Teleport without using `kubectl proxy`. We can also consider expanding this guide later on to introduce the Teleport Kubernetes Service or more sophisticated RBAC rules. Also worth noting that while this change adds a new tile to /docs/pages/kubernetes-access/getting-started.mdx, it does not add a new tile image. We can consider creating a new one or using the current one. Fixes #9359 * Respond to PR feedback I've made it more explicit that the minikube Docker driver is required for the demo. I have also added a row to the required software table that includes Docker Desktop/Docker Engine. I've tested this on my Linux desktop, and modified commands to support Docker Engine as well as Docker Desktop (i.e., "minikube tunnel" exposes a private IP address beside 127.0.0.1 for the load balancer). Also made a couple of minor tweaks, and removed the mention of localhost in relation to the Web UI. * Address PR feedback * Add Details for troubleshooting minikube tunnel * Ignore the dead link checker for a localhost link
Our current Getting Started guides for Teleport on Kubernetes
assume that readers are deploying resources to the cloud. Some
users may want to get started quickly without, say, asking
another team for permission to deploy a DNS zone. These users
can then read our cloud-focused guides when it comes time to
develop a proof of concept or use Teleport in production.
Hopefully, this guide will expand the range of security-minded
engineers who can get early firsthand experience with Teleport.
This guide sets up Teleport on minikube and uses the App Service
to access Kubernetes Dashboard. Because Kubernetes Dashboard is
not initially accessible outside the cluster, this guide shows
you how you can access it securely via Teleport without using
kubectl proxy
.We can also consider expanding this guide later on to introduce
the Teleport Kubernetes Service or more sophisticated RBAC rules.
Also worth noting that while this change adds a new tile to
/docs/pages/kubernetes-access/getting-started.mdx, it does not
add a new tile image. We can consider creating a new one or
using the current one.
Fixes #9359