GithubHelp home page GithubHelp logo

jwreagor / k8s-bare-metal Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 2.0 79 KB

Opinionated guide for building Kubernetes on Triton using Packer, Terraform and Ansible

License: Mozilla Public License 2.0

Makefile 20.43% HCL 54.35% Shell 18.68% Smarty 6.54%

k8s-bare-metal's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

k8s-bare-metal's Issues

Remove bastion instance from Packer builds

After some feedback, I think it makes sense to remove the bastion as a requirement for the Packer builds. Then the bastion can be brought up as a requirement during the Terraform process itself.

Idempotent actions

Need to make sure specific actions are idempotent throughout the process. Like not rewriting certs... etc.

Reason for kvm nodes?

Is docker the reason why nodes can only be kvm instances? Would cri-o (http://cri-o.io/) or another container runtime remove that requirement and let us use lx-zones instead?

Post-provisioner that outputs build image UUIDs

There's a lapse in the process going from make build into make plan. I'd like the step to be seamless without having to configure image UUIDs within the .terraform.vars file.

This patch should solve the problem through a post-provisioner. A script should write out the previously built image UUID and generate a new template that is used by Terraform as the .terraform.vars file.

I don't want a joined make build that also runs Terraform as that would break the library boundary amongst the two. I'm ok with a script that combines everything as it's own thing at the end of this project.

Create pod networking

At the end of launching workers, the process needs to setup networking on KVM worker nodes. This is to allow communication between pods/services running on separate hosts within the Kubernetes cluster.

Right now, I believe this utilizes the default kubenet networking driver. Future enhancements might change or remove this networking option as there may be better options running on Triton.

Install etcd from Packer and Terraform

Right now I'm reusing the etcd Autopilot Pattern for quickly getting a prototype out the door. This task should provide the etcd cluster from within Packer and Terraform like all other nodes.

Support edge workers

I'd like to have an option for workers that sit outside the private fabric network. This should allow opening up port 80 and having multiple frontend edge hosts for ingress controllers, public CNS based load balancing, etc.

Setup root for administering worker nodes

Right now workers use the KVM Ubuntu Certified image which uses the ubuntu user by default instead of root. Joyent uses root everywhere else... so yeah... we should open up root for administration purposes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.