---
# System prepended metadata

title: KinD Install and Configuration

---

# KinD Install and Configuration
Install instructions - https://kind.sigs.k8s.io/docs/user/quick-start/

**Command**
        
        kind create cluster --config config.yaml

## config.yaml (ex)

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    networking:
      # the default CNI will not be installed
      disableDefaultCNI: true
    nodes:
      - role: control-plane
        image: kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765
        kubeadmConfigPatches:
        - |
          kind: InitConfiguration
          nodeRegistration:
            kubeletExtraArgs:
              node-labels: "ingress-ready=true"
        extraPortMappings:
        - containerPort: 80
          hostPort: 80
          protocol: TCP
        - containerPort: 443
          hostPort: 443
          protocol: TCP
      - role: control-plane
        image: kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765
      - role: control-plane
        image: kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765
      - role: worker
        image: kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765
        extraMounts:
        - hostPath: /data/volume-data
          containerPath: /data/volume-data
      - role: worker
        image: kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765

# Tigera install


Reference link: https://docs.tigera.io/getting-started/kubernetes/quickstart

**Run commands below to start install process**
json and license files located: `\\filernowcom\nowcom\Nowcomsystems\Tigera`

    kubectl create -f storage-class-local.yaml
    kubectl create -f pvtigera.yaml 
    kubectl create -f https://docs.tigera.io/manifests/tigera-operator.yaml

    kubectl create secret generic tigera-pull-secret \
        --from-file=.dockerconfigjson=tigera-customers-nowcom-auth.json \
        --type=kubernetes.io/dockerconfigjson -n tigera-operator


    kubectl create -f https://docs.tigera.io/manifests/custom-resources.yaml

**Watch progress of installation**

    watch kubectl get tigerastatus

**Once APIServer is up. Please apply next command**

    kubectl create -f nowcom-license\ fullterm.yaml

## Tigera Service Account

    kubectl create sa tigera -n default
    kubectl create clusterrolebinding tigera-access --clusterrole tigera-network-admin --serviceaccount default:tigera

## Get token ( Tigera Manager)

    kubectl get secret $(kubectl get serviceaccount tigera -o jsonpath='{range .secrets[*]}{.name}{"\n"}{end}' | grep token) -o go-template='{{.data.token | base64decode}}' && echo

## Get Password (Kibana)

    kubectl -n tigera-elasticsearch get secret tigera-secure-es-elastic-user -o yaml |  awk '/elastic:/{print $2}' | base64 --decode && echo
    
# Setup Ingress

NGINX deployment

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

Create Ingress object (yaml located at `\\filernowcom\nowcom\Nowcomsystems\Tigera`)

    kubectl apply -f ingress-tigera.yaml
    
# Configure HEP

Copy calicoctl file from fileshare to /usr/local/bin on linux machine `\\filernowcom\nowcom\Nowcomsystems\Tigera`
Make sure to run the following command on the file
        
    chmod +x calicoctl

Set environment variables

    export DATASTORE_TYPE=kubernetes
    export KUBECONFIG=~/.kube/config

Enable Auto HEP

    calicoctl patch kubecontrollersconfiguration default --patch='{"spec": {"controllers": {"node": {"hostEndpoint": {"autoCreate": "Enabled"}}}}}'


# Access Tigera Manager

On your browser go to 

1. KinD installed on your machine: https://localhost
2. KinD installed on a VM: https://VM-IP






