下载 Nginx Ingress Controller 配置文件:
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
我下载不了,就直接拷贝过来了
修改一下代码:
spec:
# wait up to five minutes for the drain of connections
# 增加 hostNetwork: true,意思是开启主机网络模式,暴露 Nginx 服务端口 80
hostNetwork: true
terminationGracePeriodSeconds: 300
serviceAccountName: nginx-ingress-serviceaccount
nodeSelector:
kubernetes.io/os: linux
containers:
- name: nginx-ingress-controller
# 修改国内镜像
image: quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
查看Nginx Ingress Controller:
kubectl get pods -n ingress-nginx -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-ingress-controller-8569fd8dbb-zcgsz 1/1 Running 0 42s 192.168.17.181 boke-node <none> <none>
再部署一个服务和一个ingress看是否成功:
配置nexus服务:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nexus
spec:
selector:
matchLabels:
name: nexus
replicas: 1
template:
metadata:
labels:
name: nexus
spec:
containers:
- name: nexus
image: sonatype/nexus3
ports:
- containerPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: nexus
spec:
ports:
- port: 8081
targetPort: 8081
# # ClusterIP, NodePort, LoadBalancer
type: ClusterIP
selector:
name: nexus
配置ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cafe-ingress
annotations:
nginx.org/sticky-cookie-services: "serviceName=coffee-svc srv_id expires=1h path=/coffee"
nginx.com/jwt-realm: "Cafe App"
nginx.com/jwt-token: "$cookie_auth_token"
nginx.com/jwt-key: "cafe-jwk"
spec:
rules:
- host: k8s.test.com
http:
paths:
- path:
backend:
# service名字
serviceName: nexus
# service端口号
servicePort: 8081
查看nexus:
kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
nexus 1/1 1 1 7m45s
kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 160m
nexus ClusterIP 10.102.209.21 <none> 8081/TCP 8m15s
查看ingress:
kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
cafe-ingress k8s.test.com 80 6m35s
我修改了一下C:\Windows\System32\drivers\etc 的host 添加 192.168.17.181 k8s.test.com
进入k8s.test.com:
就成功了