创建多个Ingress
创建多个Ingress
一个K8s集群中可能有多个Ingress,比如内网与公网Ingress、移动端APP对应的后台Ingress等
https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
cp deploy.yaml ingress-namespace.yaml
#下面我就对ingress-namespace.yaml进行编辑
sed -i 's#namespace: .*#namespace: {namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#instance: ingress-nginx#instance: {namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#app.kubernetes.io/name: ingress-nginx#app.kubernetes.io/name: {namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#ingress-class=nginx#ingress-class={namespace}#g' ingress-namespace.yaml
sed -i 's#controller-class=k8s.io/ingress-nginx#controller-class=k8s.io/{namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#controller: k8s.io/ingress-nginx#controller: k8s.io/{namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's# name: nginx# name: {namespace}#g' ingress-namespace.yaml
sed -i 's#name: ingress-nginx-admission#name: {namespace}-ingress-nginx-admission#g' ingress-namespace.yaml
sed -i 's# name: ingress-nginx$# name: {namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#serviceAccountName: ingress-nginx-admission#serviceAccountName: {namespace}-ingress-nginx-admission#g' ingress-namespace.yaml
sed -i 's#serviceAccountName: ingress-nginx$#serviceAccountName: {namespace}-ingress-nginx#g' ingress-namespace.yaml
sed -i 's#webhook-name=ingress-nginx-admission#webhook-name={namespace}-ingress-nginx-admission#g' ingress-namespace.yaml
sed -i 's#secret-name=ingress-nginx-admission#secret-name={namespace}-ingress-nginx-admission#g' ingress-namespace.yaml
sed -i 's#secretName: ingress-nginx-admission#secretName: {namespace}-ingress-nginx-admission#g' ingress-namespace.yaml
sed -i 's#host=ingress-nginx-controller-admission,ingress-nginx-controller-admission#host={namespace}-ingress-nginx-controller-admission,{namespace}-ingress-nginx-controller-admission#g' ingress-namespace.yaml
sed -i 's#name: ingress-nginx-controller-admission#name: {namespace}-ingress-nginx-controller-admission#g' ingress-namespace.yaml
创建多个Ingress-controller
sed 's#{namespace}#dev#g' ingress-namespace.yaml |kubectl apply -f -
sed 's#{namespace}#test#g' ingress-namespace.yaml |kubectl apply -f -
sed 's#{namespace}#prod#g' ingress-namespace.yaml |kubectl apply -f -
创建Ingress试试
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: www
namespace: default
annotations:
kubernetes.io/ingress.class: dev #修改这里即可
spec:
rules:
- host: www.xxxx.cn
http:
paths:
- backend:
service:
name: web
port:
number: 80
path: /
pathType: ImplementationSpecific