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 »


Deploying Kubernetes Clusters with vRealize Automation

I’m going to show how you can provision Kubernetes clusters using vRealize Automation (vRA). I’ll be using kubeadm to install the Kubernetes cluster and since kubeadm is in beta at the time of this posting and doesn’t support HA kube masters, the Kubernetes clusters will be more useful for sandbox type environments.

You’ll be able to select how many Kubernetes worker nodes you want and it will support scale out operations for the worker nodes. Scale in operations are possible, but you’d have to add additional functionality to do this. Currently I don’t have a need for this so I haven’t looked into it. As it stands, you could perform scale in operations and manually remove the longer existing┬áKubernetes worker nodes.

Read the rest of this entry »