本文主要介绍nodeport方式部署ingress-nginx

下载mandatory.yaml

地址:https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml

在node节点下载镜像

#下载所需镜像
docker pull tangweifeng/defaultbackend-amd64:1.5
docker pull tangweifeng/nginx-ingress-controller:0.20.0
#重命名,改成mandatory.yaml里面镜像的名称
docker tag tangweifeng/defaultbackend-amd64:1.5 k8s.gcr.io/defaultbackend-amd64:1.5
docker tag tangweifeng/nginx-ingress-controller:0.20.0 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.20.0

创建service-nodeport.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: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
nodePort: 32080 #http
- name: https
port: 443
targetPort: 443
protocol: TCP
nodePort: 32443 #https
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx

部署

kubectl apply -f mandatory.yaml
kubectl apply -f service-nodeport.yaml
#查看组件状态
kubectl get pods -n ingress-nginx
kubectl get svc -n ingress-nginx