将 service-per-pod 扩展到 metacontroller (kubernetes) 中的多个端口
Extending a service-per-pod to multiple ports in metacontroller (kubernetes)
我已经为 statefulset 创建了一个 service-per-pod,它正在为单个端口 (80/tcp) 工作。但是,我需要将它用于多个端口(例如 80/tcp、30000/udp 等)。
如何在 service-per-pod 中将其扩展到多个端口
Metacontroller?
sync-service-per-pod.jsonnet - image
service-per-pod sample actually shows you how to do this in manifest/sync-service-per-pod.jsonnet.
service-per-pod-ports
注释允许您指定一组以逗号分隔的端口,这些端口将由生成的服务公开:
service-per-pod-ports: "80:80,8080:8080"
然后在sync-service-per-pod.jsonnet
:
获取端口
local ports = statefulset.metadata.annotations["service-per-pod-ports"]
然后遍历它们在服务规范中创建多个 ports
:
ports: [
{
local parts = std.split(portnums, ":"),
name: "port-" + std.parseInt(parts[0]),
port: std.parseInt(parts[0]),
targetPort: std.parseInt(parts[1]),
}
for portnums in std.split(ports, ",")
]
请注意 for portnums in std.split(ports, ",")
迭代上面的 ports
集。
看起来你正在尝试做一些更动态的事情,所以你可以这样:
for index in std.range(1,N)
其中N是索引的最大值。
我已经为 statefulset 创建了一个 service-per-pod,它正在为单个端口 (80/tcp) 工作。但是,我需要将它用于多个端口(例如 80/tcp、30000/udp 等)。
如何在 service-per-pod 中将其扩展到多个端口 Metacontroller?
sync-service-per-pod.jsonnet - image
service-per-pod sample actually shows you how to do this in manifest/sync-service-per-pod.jsonnet.
service-per-pod-ports
注释允许您指定一组以逗号分隔的端口,这些端口将由生成的服务公开:
service-per-pod-ports: "80:80,8080:8080"
然后在sync-service-per-pod.jsonnet
:
获取端口
local ports = statefulset.metadata.annotations["service-per-pod-ports"]
然后遍历它们在服务规范中创建多个 ports
:
ports: [
{
local parts = std.split(portnums, ":"),
name: "port-" + std.parseInt(parts[0]),
port: std.parseInt(parts[0]),
targetPort: std.parseInt(parts[1]),
}
for portnums in std.split(ports, ",")
]
请注意 for portnums in std.split(ports, ",")
迭代上面的 ports
集。
看起来你正在尝试做一些更动态的事情,所以你可以这样:
for index in std.range(1,N)
其中N是索引的最大值。