Kubectl ======= * Kubectl cheatsheet: https://kubernetes.io/docs/reference/kubectl/cheatsheet/#kubectl-context-and-configuration * Is kubectl installed? ``kubectl version`` * View cluster details: ``kubectl cluster-info`` * View nodes: ``kubectl get nodes`` * Create namespace: ``kubectl create namespace tobias`` * Set default namespace: ``kubectl config set-context --current --namespace=tobias`` * Use the kubectl create command to create a Deployment that manages a Pod. The Pod runs a Container based on the provided Docker image.:: kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node * View deployment: ``kubectl get deployments`` * View pods: ``kubectl get pods`` * View cluster events: ``kubectl get events`` * View kubectl config: ``kubectl config view`` * Expose the Pod to the public internet using the kubectl expose command:: kubectl expose deployment hello-node --type=LoadBalancer --port=8080 * View services: ``kubectl get services`` On cloud providers that support load balancers, an external IP address would be provisioned to access the Service. On Minikube, the LoadBalancer type makes the Service accessible through the minikube service command. * Clean up:: kubectl delete service hello-node kubectl delete deployment hello-node Find out the hostname & IP address of something deployed -------------------------------------------------------- Use:: kubectl get ingress --all-namespaces Setting up DNS -------------- See what the IP address of the nginx ingress controller is by running:: kubectl get Service --namespace=ingress-nginx Configure your hostname to point at the External IP address shown by this command, even if it differs from the external IP that might be shown with your app's ingress. You want this one, not that one.