1 - Ingress Controllers


    RKE将ingress控制器部署为网络模式运行的Daemon Set应用,因此在部署控制器的每个节点上都将使用80443端口。

    1. nodes:
    2. - address: 1.1.1.1
    3. role: [controlplane,worker,etcd]
    4. user: root
    5. ingress:
    6. provider: nginx
    7. node_selector:
    8. app: ingress

    您可以通过在集群配置中为ingress.provider设置为none来禁用默认控制器。

    对于NGINX的配置,Kubernetes中有可用的配置选项。有一个NGINX配置映射的选项列表、和annotation

    1. ingress:
    2. provider: nginx
    3. options:
    4. extra_args:
    5. enable-ssl-passthrough: ""
    • 以PEM编码的形式获取或生成证书密钥对。

    • 使用以下命令通过您的PEM编码的证书生成一个Kubernetes secret,注意替换命令中的证书名称。

    • ingress-default-cert.yml的内容复制到您的RKEcluster.yml文件中。例如:
    • 使用下面的default-ssl-certificate参数定义您的ingress资源,该参数引用了我们之前在您的 cluster.ymlextra_args下创建的秘密:
    • 可选: 如果您想将默认证书应用于集群中已经存在的ingress,则必须删除NGINX ingress控制器pods,以便应用到pods。