Go Kubernetes

Open-source Go projects categorized as Kubernetes

Top 23 Go Kubernete Projects

  • GitHub repo kubernetes

    Production-Grade Container Scheduling and Management

    Project mention: Can someone recommend me a Golang complete repo | reddit.com/r/golang | 2021-06-14
  • GitHub repo etcd

    Distributed reliable key-value store for the most critical data of a distributed system

    Project mention: Cannot connect to OpenShift cluster using oc tool and admin console. | reddit.com/r/openshift | 2021-06-09

    I found this issue https://github.com/etcd-io/etcd/issues/11949

  • GitHub repo traefik

    The Cloud Native Application Proxy

    Project mention: stupid question about PKI and CA selfhosted: if I had one, I would have to import my root CA certificates on all devices...? | reddit.com/r/selfhosted | 2021-06-05

    https://traefik.io/

  • GitHub repo istio

    Connect, secure, control, and observe services.

    Project mention: Any open source tool for container/pods response times? | reddit.com/r/kubernetes | 2021-06-09

    Check istio for response metrics and 5xx

  • GitHub repo minikube

    Run Kubernetes locally

    Project mention: Install Kubernetes using Minikube on Arch Linux | dev.to | 2021-06-03

    It's a tool for setup your local kubernetes cluster, it's multiplatform and opensoure, more info in Minikube Homepage.

  • GitHub repo OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Project mention: Create a deployment via a frontend when user connects | reddit.com/r/kubernetes | 2021-06-17
  • GitHub repo helm

    The Kubernetes Package Manager

    Project mention: Expose Open Policy Agent/Gatekeeper Constraint Violations for Kubernetes Applications with Prometheus and Grafana | dev.to | 2021-06-18

    by default and exposes metrics on path ```/metrics``` . It can run locally on your development box as long as you have a valid Kubernetes configuration in your home folder (i.e. if you can run kubectl and have the right permissions). When running on the cluster a ```incluster``` parameter is passed in so that it knows where to look up for the cluster credentials. Exporter program connects to Kubernetes API every 10 seconds to scrape data from Kubernetes API. We've used [this](https://medium.com/teamzerolabs/15-steps-to-write-an-application-prometheus-exporter-in-go-9746b4520e26) blog post as the base for the code. ## Demo Let's go ahead and prepare our components so that we have a Grafana dashboard to show us which constraints have been violated and how the number of violations evolve over time. ### 0) Required tools - [Git](https://git-scm.com/downloads): A git cli is required to checkout the repo and - [Kubectl](https://kubernetes.io/docs/tasks/tools/) and a working K8S cluster - [Ytt](https://carvel.dev/ytt/): This is a very powerful yaml templating tool, in our setup it's used for dynamically overlaying a key/value pair in all constraints. It's similar to Kustomize, it's more flexibel than Kustomize and heavily used in some [Tanzu](https://tanzu.vmware.com/tanzu) products. - [Kustomize](https://kustomize.io/): Gatekeeper-library relies on Kustomize, so we need it too. - [Helm](https://helm.sh/): We will install Prometheus and Grafana using helm - Optional: [Docker](https://www.docker.com/products/docker-desktop): Docker is only optional as we already publish the required image on dockerhub. ### 1) Git submodule update Run ```git submodule update --init``` to download gatekeeper-library dependency. This command will download the [gatekeeper-library](https://github.com/open-policy-agent/gatekeeper-library) dependency into folder ```gatekeeper-library/library``` . ### 2) Install OPA/Gatekeeper If your K8S cluster does not come with Gatekeeper preinstalled, you can use install it as explained [here](https://open-policy-agent.github.io/gatekeeper/website/docs/install/). If you are familiar with helm, the easiest way to install is as follows: ```bash helm repo add gatekeeper https://open-policy-agent.github.io/gatekeeper/charts helm install gatekeeper/gatekeeper --generate-name

  • GitHub repo k3s

    Lightweight Kubernetes

    Project mention: Homelab: Cluster Architecture | dev.to | 2021-06-14

    I had decided that it was time to pick up a new skill. At the time there was a goal at work to transition our infrastructure from using AWS Elastic Container Service (ECS) to an internal managed Kubernetes-based platform. Having only dabbled in Kubernetes I wanted to know more. I set out to build a home-lab using Kubernetes (k3s). It took me about 6 months to reach a point where I was comfortable with what I had built.

  • GitHub repo rancher

    Complete container management platform

    Project mention: Error while getting agent config: Get \"https://rancher/v3/connect/config\": http2: server sent GOAWAY and closed the connection; LastStreamID=1, ErrCode=ENHANCE_YOUR_CALM, debug=\"\"" | reddit.com/r/rancher | 2021-06-10

    Situation: When joining nodes to a new cluster i get the error ErrCode=ENHANCE_YOUR_CALM, debug=\"\"" Background: Rancher cluster 2.5.8 / Docker 20.10.7 / Created with a private CA.key (3kb) Assessment: When looking around, I have found various github posts: - https://github.com/rancher/rancher/issues/24615 - https://github.com/rancher/rancher/issues/13189 - https://www.gitmemory.com/issue/rancher/rancher/24615/629202630 Recommendation: I have no idea how to resolve this, has anyone had any similar issues? I can roll back to previous versions if required / delete / rebuild etc.

  • GitHub repo charts

    ⚠️(OBSOLETE) Curated applications for Kubernetes (by helm)

    Project mention: My Journey With Spark On Kubernetes... In Python (1/3) | dev.to | 2021-04-12

    In this section, you use Helm to deploy the Kubernetes Operator for Apache Spark from the incubator Chart repository. Helm is a package manager you can use to configure and deploy Kubernetes apps.

  • GitHub repo dapr

    Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.

    Project mention: Did we market Knative wrong? | news.ycombinator.com | 2021-06-18

    An abstraction over basic Kubernetes primitives is sorely needed.

    A concept of an application with versioned releases can be hacked together with a lot of effort and a multitude of tooling, but it's an awkward experience.

    An standard abstraction over event driven systems is also very beneficial.

    To me Knative had somewhat bad positioning, relatively subpar documentation and bad marketing. It seemed like a half-hearted effort without a coherent vision or strong drive.

    It also came very late. Something like it should have been officially included in Kuberentes much earlier.

    Dapr [1] is a very similar effort, driven by Microsoft. It does much better on the above points, in my opinion.

    One complication here is that the cloud vendors might not really want a popular, standardized application definition and deployment system. It has the potential to (maybe significantly) reduce the lock-in AWS/Azure/GC currently cause for most customers.

    [1] https://dapr.io/

  • GitHub repo kops

    Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management

    Project mention: I’m a software engineer that had to learn ops. I am not always sure how to set thinks properly. Any course / tutorial to follow? | reddit.com/r/devops | 2021-06-07

    There's Kubespray or kops for that.

  • GitHub repo k9s

    🐶 Kubernetes CLI To Manage Your Clusters In Style!

    Project mention: Baby's first Rust with extra steps (XPC, launchd, and FFI)! | dev.to | 2021-06-16

    I used Cursive because the view absractions were very easy to grok and get started with. Much of the visual layout was inspired by another TUI I use for managing Kubernetes clusters: k9s. I like the omnibox-style interface. It seems reasonable to encode all of the tricky-key-combos bits into one component, then have it send semantically meaningful updates (e.g. a command was submitted). Views can implement OmniboxSubscriber, and OmniboxSubscribedView is kind of a hack so I can go from &mut dyn View to &mut OmniboxSubscribedView (to have on_omnibox available):

  • GitHub repo Seaweed File System

    SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast! Blob store has O(1) disk seek, local tiering, cloud tiering. Filer supports cross-cluster active-active replication, Kubernetes, POSIX, S3 API, encryption, Erasure Coding for warm storage, FUSE mount, Hadoop, WebDAV.

    Project mention: Three node system needs low latency distributed storage | reddit.com/r/homelab | 2021-06-17

    SeaweedFS has been bookmarked for a while but I haven't had a chance to play with it. But 100ms between nodes is an architecture problem, not a software problem (IMO).

  • GitHub repo vitess

    Vitess is a database clustering system for horizontal scaling of MySQL.

    Project mention: Better JSON in Postgres with PostgreSQL 14 | news.ycombinator.com | 2021-06-01

    >but what does mysql do better than postgres

    Not MySQL itself but something like Vitess [1].

    [1] https://vitess.io

  • GitHub repo skaffold

    Easy and Repeatable Kubernetes Development

    Project mention: Docker Compose Alternatives for Kubernetes: Tilt | dev.to | 2021-06-09

    Many engineers developing apps that run in Kubernetes use Docker Compose for their local environment, but a lot of great alternatives are out there that make developing against a Kubernetes cluster fast and easy.  Tilt is an open source tool for developer workflows with Kubernetes, created by the Tilt team. Other tools in the space include Skaffold, created by Google, and DevSpace, created by Loft Labs. I work at Loft Labs and developer productivity is a big interest of mine, so I thought I'd look at what Tilt has to offer.

  • GitHub repo gvisor

    Application Kernel for Containers

    Project mention: How should I approach developing an API service that runs code specified by the user and make it scalable? | reddit.com/r/AskProgramming | 2021-06-08

    Kubernetes is probably overkill and it's a nightmare to secure--I've worked in it the last three years trying to get it to safely run other people's code and I wouldn't recommend the route unless you had a team doing this full time. If you want a better sandbox, I'd recommend replacing your container runtime with gVisor or using rootless podman and putting strict limits on memory, network, CPU and PIDs.

  • GitHub repo kubectx

    Faster way to switch between clusters and namespaces in kubectl

    Project mention: Can you share some Go package that you think has high quality clean code? | reddit.com/r/golang | 2021-04-13

    Looks like the abstraction this package is using for command line handlers. If you look in the other files, each one is concerned with a single operation. Those operations all conform to this interface. parseArgs reads the command line arguments and picks the appropriate operation to run. As to why it’s in main.go, why not?

  • GitHub repo ingress-nginx

    NGINX Ingress Controller for Kubernetes

    Project mention: Cant get to AWS K8S cluster services created with KOPS | reddit.com/r/aws | 2021-06-14

    If it's the former, then you'll need to use node port or an ingress like the nginx ingress

  • GitHub repo Gravitational Teleport

    Certificate authority and access plane for SSH, Kubernetes, web applications, and databases

    Project mention: Ask HN: Who is hiring? (June 2021) | news.ycombinator.com | 2021-06-01
  • GitHub repo Pulumi

    Pulumi - Modern Infrastructure as Code. Any cloud, any language 🚀

    Project mention: Use-cases for Pulumi | reddit.com/r/pulumi | 2021-06-15

    Regarding the last point: that implies that the pulumi command itself opens up a debugger port. Is there any example in the documentation? All I found was an open feature request with some workarounds, but it would be great to have this as a simple flag for the pulumi executable.

  • GitHub repo rook

    Storage Orchestration for Kubernetes

    Project mention: kubernetes cluster as a minimum IT needs | reddit.com/r/sysadmin | 2021-05-10

    The big question is how you plan to handle data storage. You'll need a robust storage solution in order to manage all your data. Something like Rook can be used as the basis for a storage platform.

  • GitHub repo argo

    Workflow engine for Kubernetes

    Project mention: Tekton or Jenkins X? Anyone using it for CI/CD? | reddit.com/r/kubernetes | 2021-05-11

    Instead, I went with ArgoWorkflows & ArgoEvents and have a really great system for CI and pretty much anything else event-based too. Well worth a look, even if it makes the decision that much harder ;)

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-18.

Index

What are some of the best open-source Kubernete projects in Go? This list will help you:

Project Stars
1 kubernetes 78,077
2 etcd 36,221
3 traefik 34,026
4 istio 27,234
5 minikube 21,109
6 OpenFaaS 19,899
7 helm 19,718
8 k3s 17,004
9 rancher 16,795
10 charts 15,123
11 dapr 13,657
12 kops 13,034
13 k9s 12,271
14 Seaweed File System 12,177
15 vitess 12,043
16 skaffold 11,411
17 gvisor 11,393
18 kubectx 10,556
19 ingress-nginx 10,434
20 Gravitational Teleport 9,577
21 Pulumi 8,985
22 rook 8,723
23 argo 8,679
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com