1.3. 自定义站点
默认 skupper init
创建满足典型要求的站点。
从 Skupper 版本 1.3 开始,默认情况下不启用控制台。要使用新控制台 ,请参阅使用控制台。
如果您需要自定义配置,请注意以下选项:
配置控制台身份验证.有关控制台身份验证的几个
skupper
选项:--console-auth <authentication-mode>
在控制台中设置身份验证模式:
-
openshift
- 使用 OpenShift 身份验证,以便有权登录 OpenShift 的用户并查看项目(命名空间)可以查看控制台。 -
内部使用
Skupper 身份验证,请参阅console-user
和console-password
选项。 -
unsecured
- 没有身份验证,有 URL 的任何人都可以查看控制台。
-
--console-user <username>
-
当将身份验证模式设置为
internal
时,控制台用户的用户名。默认为admin
。 --console-password <password>
-
当身份验证模式设置为
internal
时,控制台用户的密码。如果没有指定,会生成一个随机密码。
配置服务访问
skupper init --create-network-policy
$ skupper init --create-network-policy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意所有站点都与一个命名空间关联。在此过程中被称为活跃命名空间。
活跃命名空间中的服务默认可以被该集群上的其他命名空间中的 pod 访问,具体取决于您的集群网络策略。因此,您可以将服务公开给命名空间中的 pod,而不是直接连接到服务网络。此设置应用 Kubernetes 网络策略,以限制对活跃命名空间中那些 pod 的访问。
例如,如果您在
clusterA
的命名空间projectA
中创建一个站点,并将该站点链接到公开database
服务的服务网络,database
服务对于clusterA
的projectB
中的 pod 可用。您可以使用
--create-network-policy
选项限制对clusterA
的projectA
的database
服务的访问。
1.3.1. 了解入口 复制链接链接已复制到粘贴板!
当您创建可链接到的站点时,您需要在该站点上启用入口。默认情况下启用 ingress,但您可以禁用它或将其设置为使用特定的 ingress 类型。
默认情况下,ingress 类型设置为:
-
route
if available (OpenShift) -
LoadBalancer
其他选项包括:
-
如果您不需要链接到当前站点,则
无
用处。 -
nodeport
-
nginx-ingress-v1
-
contour-http-proxy
在创建站点 skupper init --ingress
<type> 或在站点 YAML 中设置类型时,您可以使用 CLI 设置 ingress 类型,例如禁用 ingress:
如果默认入口不合适,则替代为 nginx-ingress-v1
。nginx 使用 Server Name Indication (SNI)来识别连接目标,这消除了根据 loadbalancer
要求分配独立 IP 地址的需求。
使用 nginx-ingress-v1
时,您必须启用 SSL Passthrough,如 Ingress-Nginx Controller 文档 中所述。