How To Run Kubernetes on Bare Metal

February 28, 2017

Read why bare metal application development is gaining popularity & a how-to guide for running Kubernetes clusters on bare metal with Weave Cloud + Packet

Related posts

Cloud native application stacks: a lightly-opinionated survey

Remaining = 2

A Comprehensive Guide to Prometheus Monitoring

Weave GitOps Enterprise is now Available in the Azure Marketplace

With new solutions like Packet, bare metal environments in the cloud are gaining new momentum. Hosted cloud solutions like AWS were previously preferable to developers over bare metal because of the automation advantages they offer.

Packet’s strength is faster application development due to:

  • Fast deployment (roughly 8 minutes)
  • Dedicated servers
  • Automation
  • The ability to create production-ready environments

What is Kubernetes Bare Metal and What Does It Mean?

A Kubernetes bare metal environment is a dedicated server without any virtualization, eliminating any shared resources usually required on hosted clouds.

Running your app on bare metal in the cloud introduces its own unique benefits that include cost, transparency, and performance.

Pairing Weave Cloud with Packet allows you to implement troubleshooting, continuous delivery, Prometheus monitoring, container networking, and security all on bare metal. This is thanks to the features that encompass Weave Cloud: Weave Cortex, Weave Flux, Weave Net, and Weave Scope.

Advantages of Kubernetes on Bare Metal

The two main advantages of running Kubernetes on bare metal are performance and cost. When you build a cluster with bare metal nodes, your total cost could potentially be lower. Bare metal Kubernetes can also deliver great benefits from a performance perspective as well.

How To Run Kubernetes on Bare Metal

By creating Weave Cloud and Packet accounts, you can set up your own Kubernetes cluster on bare metal by doing the following:

    1. First, create three Ubuntu servers from the Packet setup console.
    2. Next, create a Kubernetes cluster using kubeadm for installation:
      1. Of the three Ubuntu hosts, define which node is the master. This master node is where you’ll run your Kubernetes commands using kubectl.
      2. Use Weave Net to install a pod network. From the Packet console, you will be able to manage IP blocks.
      3. Ensure kube-dns is running before joining the nodes.
      4. Create a cluster by joining all nodes to the master.
      5. Begin DaemonSets, and launch all the Weave Cloud probes.

Once you follow those steps, you’ll be able to set up continuous delivery and monitoring your app using Weave Cortex’s Prometheus monitoring as a service. This will allow you to view Kubernetes in Weave Cloud. You can then deploy our sample sock shop app and drill down to explore Kubernetes in this bare metal, cloud environment.

Interested in trying out Kubernetes with Weave Cloud and Packet on your own? Check out the full guide on Packet’s website.

Additional step-by-step instructions for setting up your environment can be found here.


Related posts

Cloud native application stacks: a lightly-opinionated survey

Remaining = 2

A Comprehensive Guide to Prometheus Monitoring

Weave GitOps Enterprise is now Available in the Azure Marketplace