This toolbox allows you to install various components on a K8s cluster.
- The main goal is to make it easy to install K8s essentials needed to be able to subsequently deploy your own applications with full HTTPS support.
- The content of this repo can be used as an initial template for your K8s infrastructure setup code.
- Component configuration can be customized using
values.custom.yaml
when using thecustom
Skaffold profile.
The components under components/k8s-setup
cover some basic requirements
for deploying applications on K8s:
- ingress-nginx: Commonly used ingress controller for K8s.
- cert-manager: As set up here, allows automatically generating and renewing certificates for deployed ingresses with Let's Encrypt.
- MetalLB: Allows creating services of type
LoadBalancer
so you can accept traffic to external IPs at any desired port. See also: https://www.reddit.com/r/kubernetes/comments/qyhv16/help_me_understand_kubernetes_external_networking/ - Docker Registry: A K8s-internal registry so images don't have to be stored outside the cluster.
- Prometheus: Collects metrics for nodes and services.
Note: In order to deploy with Skaffold, make sure KUBECONFIG
is set properly.
If you get TOOMANYREQUESTS: You have reached your pull rate limit
you can use this instead of skaffold dev
:
skaffold run --cache-artifacts=false --tail
skaffold delete
This will avoid the Skaffold-specific cache checks which may pull from Docker Hub.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.