本文共 3282 字,大约阅读时间需要 10 分钟。
Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx
Ingress-Nginx 官方网站:https://kubernetes.github.io/ingress-nginx/
部署 Ingress-Nginx
kubectl apply -f mandatory.yamlkubectl apply -f service-nodeport.yaml
先科学镜像下载
上传镜像到master节点
传给其它机器
所有节点,分别解压导入
deployment、Service、Ingress Yaml 文件
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: nginx-dmspec: replicas: 2 template: metadata: labels: name: nginx spec: containers: - name: nginx image: wangyanglinux/myapp:v1 imagePullPolicy: IfNotPresent ports: - containerPort: 80---apiVersion: v1kind: Servicemetadata: name: nginx-svcspec: ports: - port: 80 targetPort: 80 protocol: TCP selector: name: nginx
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: nginx-testspec: rules: - host: www1.atguigu.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80
本地增加域名解析
删除之前测试的svc
apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: deployment1spec: replicas: 2 template: metadata: labels: name: nginx spec: containers: - name: nginx image: wangyanglinux/myapp:v1 imagePullPolicy: IfNotPresent ports: - containerPort: 80---apiVersion: v1kind: Servicemetadata: name: svc-1spec: ports: - port: 80 targetPort: 80 protocol: TCP selector: name: nginx
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: ingress1spec: rules: - host: www1.atguigu.com http: paths: - path: / backend: serviceName: svc-1 servicePort: 80---apiVersion: extensions/v1beta1kind: Ingressmetadata: name: ingress2spec: rules: - host: www2.atguigu.com http: paths: - path: / backend: serviceName: svc-2 servicePort: 80
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj"/CN=nginxsvc/O=nginxsvc"kubectl create secret tls tls-secret --key tls.key --cert tls.crt
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: nginx-testspec: tls: - hosts: - foo.bar.com secretName: tls-secret rules: - host: foo.bar.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80
yum -y install httpdhtpasswd -c auth fookubectl create secret generic basic-auth --from-file=auth
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: ingress-with-auth annotations: nginx.ingress.kubernetes.io/auth-type: basic nginx.ingress.kubernetes.io/auth-secret: basic-auth nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - foo'spec: rules: - host: foo2.bar.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80
apiVersion: extensions/v1beta1kind: Ingressmetadata: name: nginx-test annotations: nginx.ingress.kubernetes.io/rewrite-target: http://foo.bar.com:31795/hostname.htmlspec: rules: - host: foo10.bar.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80
Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx
Ingress-Nginx 官方网站:https://kubernetes.github.io/ingress-nginx/
内容来自
转载地址:http://olkof.baihongyu.com/