下载 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:WindowsSystem32driversetc 的host 添加 192.168.17.181 k8s.test.com
进入k8s.test.com:
就成功了