我已使用acs-engine将一个Kubernetes集群部署到Azure上的自定义虚拟网络。在代理VM上运行了一个ASP.NET Core 2.0 Kestrel应用程序,该应用程序通过Azure内部负载均衡器类型的服务通过VPN访问。现在我想在服务上启用HTTPS。我已经获得了域名和证书,但不知道如何继续。显然,将Kestrel配置为使用HTTPS并将证书复制到每个容器是不可取的。
我已经检查了ingress on k8s using acs和configure Nginx Ingress Controller for TLS termination on k8s on Azure这样的教程,但是这两个教程最终都暴露了公共外部IP,我希望保持内部IP并且无法从互联网访问。这可能吗?可以在没有入口及其控制器的情况下完成吗?
答案 0 :(得分:1)
虽然由于某些原因我仍无法通过入口访问应用程序,但我能够使用以下配置创建具有所需IP的内部入口服务:
struct A
{
constexpr A() : i(0) {}
explicit constexpr A( int v ) : i(v) {}
constexpr int get() const { return i; }
private:
int const i;
};
int main() {
constexpr A a( 3 );
constexpr A b= a;
constexpr A c{ a };
constexpr int i1= a.get();
constexpr int i2= b.get();
constexpr int i3= c.get();
std::cout << i1 << " " << i2 << " " << i3 << '\n';
constexpr A d{ std::move(c) };
constexpr int i4= d.get();
std::cout << i4 << '\n';
}
答案 1 :(得分:0)
你链接的教程有点过时,至少说明你去了一个例子&#39;他们链接的GitHub仓库中的文件夹但不存在。无论如何,一个普通的nginx入口控制器由几个部分组成:nginx部署,暴露它的服务和默认的支持部分。你需要看看他们要求你部署yamls,找的是我列出的第二部分 - 入口服务 - 从负载平衡器改变类型ClusterIP(或干脆删除类型,因为ClusterIP是默认)