Tips and tricks

DevOps - Docker commands
docker
Build and tag container
docker build -t yournameondockerhub/posts .
Push container to docker hub
docker push yournameondockerhub/posts
Run container
docker run service/posts
kubernetes
k8s expose port
kubectl port-forward [[pod-name]] 8080:4000
exposes port localhost 8080, the 4000 is the internal node port
k8s restart deployment
kubectl rollout restart deployment event-bus-depl
get the deployment names with k get deployments
k8s create secret
kubectl create secret generic jwt-secret --from-literal=jwt=asdf
you can create secrets that you can access via process.env
k8s run bash in pod
k get pods && k exec -it auth-depl-8b96d867-x7l8w sh
first run kubectl to get all pods then kubectl exec -it podname sh
k8s list contexts
k config get-contexts
you can can change context with k config use-context {{context-name}}
k8s get logs for pod
k logs {{POD_NAME}}
get pods with k get pods — you can also use describe for logs related to the deployment
*k is kubectl
ingress
get all pods
kubectl get pods -A
get all pods accross all namespaces
find ingress external ip
kubectl get svc -n ingress-nginx

get all pods accross all namespaces
check Apache config
kubectl exec -it -n ingress-nginx nginx-ingress-controller-67956bf89d-fv58j -- cat /etc/nginx/nginx.conf
where -n ingress-nginx is the namespace and nginx-ingress-controller-67956bf89d-fv58j is the pod name