Skip to content

A project that can be deployed to an Azure Kubernetes Cluster and will allow each node to obtain a Public IP address.

License

Notifications You must be signed in to change notification settings

feiskyer/AksNodePublicIPController

 
 

Repository files navigation

Go Report Card Software License PRs Welcome unofficial Google Analytics for GitHub

AksNodePublicIPController

Azure Kubernetes Service does not currently have a way to automatically assign Public IPs to worker nodes/virtual machines. This project aims to solve this problem by utilizing a custom Kubernetes controller (based on sample-controller) and using Azure SDK for Go. The ID for the new Public IPs is always "ipconfig-" + name of the Node/Virtual Machine. It also assigns a Kubernetes Label to the Node, with name "HasPublicIP" and value "true".

Deployment

If you have an RBAC enabled cluster, just run:

kubectl create -n kube-system -f https://raw.githubusercontent.com/dgkanatsios/AksNodePublicIPController/master/deploy.yaml
# this gets created into *kube-system* namespace, feel free to change it on the deploy.yaml

else, run:

kubectl create -f https://raw.githubusercontent.com/dgkanatsios/AksNodePublicIPController/master/deploy-no-rbac.yaml

Alternatives

If you're looking for a non-Kubernetes native solution, you should check out the AksNodePublicIP project, it uses Azure Functions and Azure Event Grid technologies.

About

A project that can be deployed to an Azure Kubernetes Cluster and will allow each node to obtain a Public IP address.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.8%
  • Dockerfile 1.1%
  • Makefile 1.1%