Difference between revisions of "K8s sandbox"
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
| + | https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/ | ||
| + | |||
| + | ``` | ||
| + | kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0 | ||
| + | kubectl expose deployment web --type=NodePort --port=8080 | ||
| + | kubectl get service web | ||
| + | ``` | ||
| + | ingress.yml | ||
| + | ``` | ||
| + | apiVersion: networking.k8s.io/v1 | ||
| + | kind: Ingress | ||
| + | metadata: | ||
| + | name: example-ingress | ||
| + | annotations: | ||
| + | nginx.ingress.kubernetes.io/rewrite-target: /$1 | ||
| + | spec: | ||
| + | rules: | ||
| + | - host: hello-world.info | ||
| + | http: | ||
| + | paths: | ||
| + | - path: / | ||
| + | pathType: Prefix | ||
| + | backend: | ||
| + | service: | ||
| + | name: web | ||
| + | port: | ||
| + | number: 8080 | ||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | kubectl apply -f ingress.yml | ||
| + | kubectl get ingress | ||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | curl -H "Host: hello-world.info" 10.64.10.33 | ||
| + | ``` | ||
| + | |||
| + | |||
``` | ``` | ||
apiVersion: apps/v1 | apiVersion: apps/v1 | ||
Revision as of 03:08, 10 October 2021
https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0 kubectl expose deployment web --type=NodePort --port=8080 kubectl get service web
ingress.yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 8080
kubectl apply -f ingress.yml kubectl get ingress
curl -H "Host: hello-world.info" 10.64.10.33
apiVersion: apps/v1
kind: Deployment
metadata:
name: testnginx-deployment
namespace: test
spec:
selector:
matchLabels:
app: testnginx
replicas: 2
template:
metadata:
labels:
app: testnginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: testnginx-service
spec:
type: NodePort
selector:
app: testnginx
ports:
# By default and for convenience, the `targetPort` is set to the same value as the `port` field.
- port: 80
targetPort: 80
# Optional field
# By default and for convenience, the Kubernetes control plane will allocate a port from a range (default: 30000-32767)
nodePort: 30007
curl -H "Host: cafe.example.com" http://127.0.0.1:30007
Refs
- https://github.com/nginxinc/kubernetes-ingress/blob/master/examples/complete-example/cafe-ingress.yaml
- https://kubernetes.io/docs/concepts/services-networking/service/
https://stackoverflow.com/questions/54506269/simple-ingress-from-host-with-microk8s
https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/