Skip to content

Latest commit

 

History

History
126 lines (91 loc) · 3.85 KB

vsphere.md

File metadata and controls

126 lines (91 loc) · 3.85 KB

WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version.

The latest release of this document can be found [here](http://releases.k8s.io/release-1.1/docs/getting-started-guides/vsphere.md).

Documentation for other releases can be found at releases.k8s.io.

Getting started with vSphere

The example below creates a Kubernetes cluster with 4 worker node Virtual Machines and a master Virtual Machine (i.e. 5 VMs in your cluster). This cluster is set up and controlled from your workstation (or wherever you find convenient).

Table of Contents

Prerequisites

  1. You need administrator credentials to an ESXi machine or vCenter instance.

  2. You must have Go (see here for supported versions) installed: www.golang.org.

  3. You must have your GOPATH set up and include $GOPATH/bin in your PATH.

    export GOPATH=$HOME/src/go
    mkdir -p $GOPATH
    export PATH=$PATH:$GOPATH/bin
  4. Install the govc tool to interact with ESXi/vCenter:

    go get github.com/vmware/govmomi/govc
  5. Get or build a binary release

Setup

Download a prebuilt Debian 7.7 VMDK that we'll use as a base image:

curl --remote-name-all https://storage.googleapis.com/govmomi/vmdk/2014-11-11/kube.vmdk.gz{,.md5}
md5sum -c kube.vmdk.gz.md5
gzip -d kube.vmdk.gz

Import this VMDK into your vSphere datastore:

export GOVC_URL='user:pass@hostname'
export GOVC_INSECURE=1 # If the host above uses a self-signed cert
export GOVC_DATASTORE='target datastore'
export GOVC_RESOURCE_POOL='resource pool or cluster with access to datastore'

govc import.vmdk kube.vmdk ./kube/

Verify that the VMDK was correctly uploaded and expanded to ~3GiB:

govc datastore.ls ./kube/

Take a look at the file cluster/vsphere/config-common.sh fill in the required parameters. The guest login for the image that you imported is kube:kube.

Starting a cluster

Now, let's continue with deploying Kubernetes. This process takes about ~10 minutes.

cd kubernetes # Extracted binary release OR repository root
export KUBERNETES_PROVIDER=vsphere
cluster/kube-up.sh

Refer to the top level README and the getting started guide for Google Compute Engine. Once you have successfully reached this point, your vSphere Kubernetes deployment works just as any other one!

Enjoy!

Extra: debugging deployment failure

The output of kube-up.sh displays the IP addresses of the VMs it deploys. You can log into any VM as the kube user to poke around and figure out what is going on (find yourself authorized with your SSH key, or use the password kube otherwise).

Analytics