All Projects → jbeda → Ngrok K8s

jbeda / Ngrok K8s

Licence: apache-2.0
Using ngrok to expose k8s services

Labels

Projects that are alternatives of or similar to Ngrok K8s

Nativefiledialog
A tiny, neat C library that portably invokes native file open and save dialogs.
Stars: ✭ 1,100 (+1566.67%)
Mutual labels:  makefile
Proprietary vendor sony
Stars: ✭ 61 (-7.58%)
Mutual labels:  makefile
Makebakery
A static website generator built on GNU Make.
Stars: ✭ 64 (-3.03%)
Mutual labels:  makefile
Portfolio
Create a beautiful Portfolio using GitHub pages
Stars: ✭ 59 (-10.61%)
Mutual labels:  makefile
Documentbuilder
ONLYOFFICE Document Builder is powerful text, spreadsheet, presentation and PDF generating tool
Stars: ✭ 61 (-7.58%)
Mutual labels:  makefile
Reactnative Jwts
Authenticating a React Native app with JSON Web Tokens
Stars: ✭ 62 (-6.06%)
Mutual labels:  makefile
Sdl manual
The Manual for writing Games in Perl using SDL. Part of TPF grant.
Stars: ✭ 57 (-13.64%)
Mutual labels:  makefile
Example Project
Example Python DS project
Stars: ✭ 65 (-1.52%)
Mutual labels:  makefile
Neuralstyler
Turn Your Videos/photos/Gif into Art
Stars: ✭ 61 (-7.58%)
Mutual labels:  makefile
Openvoiceos
OpenVoiceOS is a minimalistic linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.
Stars: ✭ 64 (-3.03%)
Mutual labels:  makefile
Yolo
Kill a random process
Stars: ✭ 59 (-10.61%)
Mutual labels:  makefile
Buildroot
Buildroot fork with some customizations for RPi and BBB
Stars: ✭ 60 (-9.09%)
Mutual labels:  makefile
Python Docs Zh Tw
Stars: ✭ 63 (-4.55%)
Mutual labels:  makefile
Tutorials
🎓 Practical beginner-level introductions to using different tools and technologies, with a focus on their application in the newsroom
Stars: ✭ 59 (-10.61%)
Mutual labels:  makefile
Clourmusic flutter
flutter 仿网易云音乐app
Stars: ✭ 65 (-1.52%)
Mutual labels:  makefile
Wireguard Go Docker
Wireguard docker image
Stars: ✭ 57 (-13.64%)
Mutual labels:  makefile
Ansible In Action
Ansible playbook to deploy your Laravel code base to VPS
Stars: ✭ 61 (-7.58%)
Mutual labels:  makefile
Openwrt Packages Yun
Stars: ✭ 65 (-1.52%)
Mutual labels:  makefile
Curl Docker
official docker image for curl
Stars: ✭ 64 (-3.03%)
Mutual labels:  makefile
Counter Strike Docker
Docker image for Counter-Strike 1.6 server
Stars: ✭ 63 (-4.55%)
Mutual labels:  makefile

ngrok-k8s

This is a simple Docker container that can be used to launch ngrok in a Kuberntes cluster to surface either services or other pods directly.

This is strictly intended for debug/dev type scenarios.

Running in Kubernetes

kubectl run --restart=Never \
  -t -i --rm \
  ngrok --image=gcr.io/kuar-demo/ngrok \
  -- http my-service:8080

Some explanation:

  • --restart=Never This says "I just want a Pod". If you don't specify this you get a Deployment. We don't need that.
  • -t -i --rm These options state that I want an interactive tty. Also clean things up when I'm done.
  • -- Says "everything past this are arguments for the container".
  • http my-service:8080 These are arguments to the ngrok utility. This says "create an HTTP forwarding tunnel to my-service:8080"

Notes

You can password protect this tunnel easily with --auth='username:password'. You can make this https only with --bind-tls=true. See the ngrok docs for more options.

Using TLS tunnels (the ngrok tls command) for secure services (e.g. kubernetes api) you need a pro or business plan. You may be able to make it work with the tcp command.

There is nothing Kubernetes specific (yet) in the container here. This is really a super simple container with just ngrok in it. I created a separate version just for this README.

Why not kubectl port-forward? First, port-forward doesn't support targetting Services. Second, you may want this to be available beyond your local machine.

Why not kubectl proxy? This will modify/rewrite HTTP and can get a little wacky. It also requires your browser to auth to the API server -- something that may not be easy if you aren't using password auth.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].