Storage Classes in Pivotal Container Service (PKS)

I’m going to show how to use Kubernetes Storage Classes in Pivotal Container Service (PKS) and discuss some limitations you may run into. You can check out more info on vSphere Storage classes at Dynamic Provisioning and StorageClass API.

Read the rest of this entry »


Creating an Ingress in Pivotal Container Service (PKS)

In this post I’m going to show how to create an Ingress in PKS. I’m going to deliberately keep it as simple as possible so don’t expect anything fancy.

I’ll start by creating a Docker container that runs a web server written in Golang:

main.go

package main

import (
    "fmt"
    "net/http"
)

func homeHandler(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    fmt.Fprint(w, "home")
}

func usersHandler(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    fmt.Fprint(w, "users")
}

func main() {
    http.HandleFunc("/home", homeHandler)
    http.HandleFunc("/users", usersHandler)
    http.ListenAndServe(":8181", nil)
}

Read the rest of this entry »


Exploring a Pivotal Container Service Kubernetes Cluster

I’m going to deploy a Kubernetes cluster using the Pivotal Container Service (PKS) and explore the environment.

Read the rest of this entry »


Delete an orphaned PKS cluster

You may run into a situation where your PKS cluster is orphaned or you’re unable to delete it with the pks delete-cluster command. I’m going to show how to manually clean up the PKS cluster in the database.

Read the rest of this entry »


Cleaning up NSX-T resources from a PKS deployment

In the current release (1.0.x) of Pivotal Container Service (PKS), NSX-T resources are not cleaned up after deleting a Kubernetes cluster. In order to delete the PKS created resources out of NSX-T, you’ll need to run the nsx-cli.sh command like so:

./nsx-cli.sh cleanup <PKS_CLUSTER_UUID> <DRY_RUN>

Read the rest of this entry »


Adding or Updating a vRealize Automation machine’s custom property

Recently I’ve had a few people ask how to add or update a custom property on an already deployed vRealize Automation (vRA) machine. Several people unregistered the machine using CloudClient, updated a blueprint with the new custom property and then bulk imported the machine back into vRA. It’s actually much easier than that.

Read the rest of this entry »


Configuring Kubernetes Dashboard to work with kubeadm provisioned clusters

I’ve been studying for the Certified Kubernetes Administrator exam and sometimes use kubeadm to spin up Kubernetes clusters. I wanted to look at the Kubernetes dashboard and found it wasn’t as easy as I hoped to get up and running. I’m going to describe how I was able to get it working. I’m using Kubernetes 1.9 and Calico as the overlay network.

Read the rest of this entry »