diff --git a/references/S16 Inspecting Kubernetes Resources.md b/references/S16 Inspecting Kubernetes Resources.md index 3e9b4ea5..03cc963b 100644 --- a/references/S16 Inspecting Kubernetes Resources.md +++ b/references/S16 Inspecting Kubernetes Resources.md @@ -40,6 +40,7 @@ kubectl delete pod/my-apache-xxxx-yyyy - [Logging Architecture](https://kubernetes.io/docs/concepts/cluster-administration/logging/) - [Loki - Like Prometheus, but for logs](https://github.com/grafana/loki) - [ELK Stack](https://www.elastic.co/what-is/elk-stack) +- [Stern multi-pod log tailing](https://github.com/stern/stern) ```shell kubectl logs deploy/my-apache diff --git a/references/S17 Exposing Kubernetes Ports.md b/references/S17 Exposing Kubernetes Ports.md new file mode 100644 index 00000000..bd8c56e5 --- /dev/null +++ b/references/S17 Exposing Kubernetes Ports.md @@ -0,0 +1,49 @@ +# Exposing Kubernetes Ports + +## Service Types + +- [Service Docs](https://kubernetes.io/docs/concepts/services-networking/service/) +- [Service Examples](https://kubernetes.io/docs/tutorials/services/) + +```shell +kubectl expose +``` + +## Creating a ClusterIP Service + +- [cURL utility](https://curl.se/) + +```shell +kubectl get pods -w +kubectl create deployment httpenv --image=bretfisher/httpenv +kubectl scale deployment/httpenv --replicas=5 +kubectl expose deployment/httpenv --port 8888 +kubectl get service +kubectl run tmp-shell --rm -it --image bretfisher/netshoot -- bash +curl httpenv:8888 +``` + +## Creating a NodePort and LoadBalancer Service + +```shell +kubectl get all +kubectl expose deployment/httpenv --port 8888 --name httpenv-np --type NodePort +kubectl get services +curl localhost:32334 +kubectl expose deployment/httpenv --port 8888 --name httpenv-lb --type LoadBalancer +kubectl get services +curl localhost:8888 +kubectl delete service/httpenv service/httpenv-np +kubectl delete service/httpenv-lb deployment/httpenv +``` + +## Kubernetes Services DNS + +- [Kubernetes DNS Specification](https://github.com/kubernetes/dns/blob/master/docs/specification.md) +- [CoreDNS for Kubernetes](https://coredns.io/plugins/kubernetes/) + +```shell +curl +kubectl get namespaces +curl ..svc.cluster.local +```