我正在尝试将流量路由到GCE上的静态存储桶。现在我正在使用ingress,但在这里找到了Google的文档:
我一路走来,但是在主机和路径菜单中进行网址映射时无法选择“后端存储桶”...即使它列在后端存储区下。可以选择“后端服务”选项,但禁用后端存储桶菜单。有没有人知道更好的教程,或者更好的方法将流量路由到存储桶以获取静态内容?
我可以在入口yaml中指定它吗?
答案 0 :(得分:1)
看来kubernetes可用 1.19
但是,请注意,GKE尚不提供1.19(截至本文发稿时),但是无论我认为这对登陆这里的人都是有用的信息。当1.19可用时,我会尝试一下并更新此答案。
有关此功能在配置中的外观的预览,pull request包含示例
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-resource-backend
spec:
defaultBackend:
resource:
apiGroup: k8s.example.com
kind: StorageBucket
name: static-assets
rules:
- http:
paths:
- path: /icons
pathType: ImplementationSpecific
backend:
resource:
apiGroup: k8s.example.com
kind: StorageBucket
name: icon-assets
答案 1 :(得分:0)
目前GCE Ingress yaml规范不支持指定“后端存储桶”。
如果您修改Ingress控制器创建的负载均衡器以将一些流量路由到后端存储桶(通过编辑其URL映射),则Ingress控制器会定期覆盖您的更改。
您唯一的选择可能是为您的“后端存储桶”创建单独的负载均衡器。
答案 2 :(得分:0)
如果您启用 ConfigConnector,您可以使用它从 GKE 内的资源(例如您的 Ingress)引用在 GKE 之外创建的资源。您可以使用 External reference 来执行此操作。
或者,如果您想从 GKE 中创建/管理存储分区,您可以使用 StorageBucket 自定义资源定义来实现。
这可能是这样的(更新:我使用 GKE 1.20 尝试了这个,但它不起作用):
@Component({
selector: 'my-component',
template: `
<span>{{myVale|toDate|date:'hh:mm:ss'}}</span>
`
})
export class MyComponent implements OnInit {
myValue = 0
constructor(private myService: MyService){ }
ngOnInit() {
this.myService.getValue().subscribe(v => {
this.myValue = v
})
}
}