1.nginx-ingress
2.service+pods
3.ingress
简略步骤
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
sed -i 's#quay.io/kubernetes-ingress-controller/nginx-ingress-controller#registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller#g' mandatory.yaml
kubectl apply -f mandatory.yaml
kubectl get pods -n ingress-nginx
kubectl create -f hello-app.yaml
kubectl create -f ingress.yaml
kubectl create -f nginx-ingress.yaml
[root@test002 ingress]# ll
总用量 20
-rw-r--r-- 1 root root 717 9月 23 15:50 hello-app.yaml
-rw-r--r-- 1 root root 294 9月 23 16:01 ingress.yaml
-rw-r--r-- 1 root root 6046 9月 23 11:32 mandatory.yaml
-rw-r--r-- 1 root root 433 9月 23 15:41 nginx-ingress.yaml
https://devopscube.com/setup-ingress-kubernetes-nginx-controller/
[root@test002 ingress]# cat ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-myapp
namespace: wly
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: test.tom.com
http:
paths:
- path:
backend:
serviceName: myapp-service
servicePort: 80
[root@test002 ingress]# cat nginx-ingress.yaml
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
[root@test002 ingress]# cat hello-app.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp-service
namespace: wly
labels:
app: myapp
release: stable
spec:
selector:
app: myapp
release: stable
ports:
- name: myapp
port: 80
targetPort: 80
protocol: TCP
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
namespace: wly
spec:
selector:
matchLabels:
app: myapp
release: stable
replicas: 3
template:
metadata:
labels:
app: myapp
release: stable
spec:
containers:
- name: myapp
image: nginx
imagePullPolicy: IfNotPresent
ports:
- name: myapp
containerPort: 80
原文
https://devopscube.com/setup-ingress-kubernetes-nginx-controller/
https://blog.51cto.com/hequan/2432608