まず、データと情報
イングレス-nginxのgithubの住所:https://github.com/kubernetes/ingress-nginx
イングレス-nginxの公式サイト:https://kubernetes.github.io/ingress-nginx/
公式のダウンロードを入力します。
wgetのhttps://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
第二に、展開イングレス、nginxの
kubectlが適用されます-f mandatory.yaml -fサービスnodeport.yamlを適用kubectl |
イングレスHTTP プロキシアクセス
展開、サービス、イングレスのYAML ファイル
apiVersion:拡張/ v1beta1
種類:展開 メタデータ: 名前:nginxの-DM スペック: レプリカ:2 テンプレート: メタデータ: ラベル: 名前:nginxの スペック: コンテナ: - 名前:nginxの 画像:wangyanglinux / myappに:V1 imagePullPolicy:IfNotPresent ポート: - containerPort:80
apiVersion:V1 kind: Service metadata: name: nginx-svc spec: ports: - port: 80 targetPort: 80 protocol: TCP selector: name: nginx
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: nginx-test spec: rules: - host: www1.atguigu.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80
|
三、Ingress HTTPS 代理访问
创建证书,以及 cert 存储方式
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 |
deployment、Service、Ingress Yaml 文件
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: nginx-test spec: tls: - hosts: - foo.bar.com secretName: tls-secret rules: - host: foo.bar.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80 |
四、Nginx 进行 BasicAuth
yum -y install httpd htpasswd -c auth foo kubectl create secret generic basic-auth --from-file=auth |
apiVersion: extensions/v1beta1 kind: Ingress metadata: 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 |
五、Nginx 进行重写
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: nginx-test annotations: nginx.ingress.kubernetes.io/rewrite-target: http://foo.bar.com:31795/hostname.html spec: rules: - host: foo10.bar.com http: paths: - path: / backend: serviceName: nginx-svc servicePort: 80 |
链接:https://www.bilibili.com/video/av66617940/?p=35