Hazx小屋 Hazx小屋

Kubernetes(K8s) Ingress(Nginx)的安装配置和使用

in 服务器相关 阅读: 2807 文章转载请注明来源!




安装 Nginx-Ingress

在Master节点执行安装命令

helm install stable/nginx-ingress --name nginx-ingress --set rbac.create=true --namespace=kube-system

修改部署配置

kubectl edit deploy -n kube-system nginx-ingress-controller
  • 开启80、443端口映射
    在spec - template - spec段下增加:

    hostNetwork: true
    
    # 如果你是在Dashboard里修改,请注意语法。下同。
  • 其他可选配置
    在spec - template - spec - containers - args段下增加:

  • --configmap=kube-system/nginx-ingress-controller-config

    Ingress类

  • --ingress-class=nginx

    配置默认SSL证书路径

  • --default-ssl-certificate=kube-system/ssl-crt

创建配置文件

在上面配置了configmap配置文件路径,此处创建的配置文件才会生效。
此步可以将以下代码保存为文件nginx-config.yaml,执行kubectl apply -f nginx-config.yaml;或可直接复制到Dashboard中执行。

---
kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-ingress-controller-config
  namespace: kube-system
  labels:
    app: nginx-ingress
    component: controller
    heritage: Tiller
    release: nginx-ingress
data:
  enable-vts-status: 'false'
  proxy-stream-timeout: '3600'
  upstream-keepalive-timeout: '3600'

更多配置参数可以参考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/

使用Nginx-Ingress

这里举例,为Dashboard添加Ingress配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: dashboard-ingress
  namespace: kube-system
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: 'https'
spec:
  tls:
  - hosts:
    - dashboard.k8s.dev
    secretName: ssl-crt
  rules:
  - host: dashboard.k8s.dev
    http:
      paths:
      - path: /
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 443
  • 域名你可以随意设定,域名需要解析到运行了nginx-ingress-controller容器组的节点主机IP。
  • secretName用来指定SSL证书名称,证书需要跟Ingress配置在同一个namespace下。
  • serviceName需要指定已创建的服务名称,servicePort是与之对应的端口。
  • annotations用来配置当前配置在nginx中的一些参数。例如nginx.ingress.kubernetes.io/backend-protocol是给定后端程序的连接协议。更多参数可以参考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/
文章二维码

扫描二维码,在手机上阅读!

centoslinuxnginxk8skubernetesingress
最后由Hazx修改于2021-10-20 12:23
博客系统已萌萌哒运行了
© 2024 Hazx. Theme by 泽泽社长.
前篇 后篇
雷姆
拉姆