需要在运行 Akka 的 Kubernetes Pod 中显式地添加一个卷来挂载服务帐户令牌。可以使用以下 YAML 示例文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: akka-app
labels:
app: akka
spec:
selector:
matchLabels:
app: akka
template:
metadata:
labels:
app: akka
spec:
containers:
- name: akka
image: akkaimage
volumeMounts:
- name: sa-token
mountPath: "/var/run/secrets/kubernetes.io/serviceaccount"
readOnly: true
volumes:
- name: sa-token
secret:
secretName: default-token-xxxxx
请替换在 secretName
字段中的 xxxxx
为应该被使用的服务帐户名称的值。最后,应用该文件并创建一个 Kubernetes Deployment:
$ kubectl apply -f deployment.yaml
这样就可以通过在 Java 代码中使用 KubernetesApi
并传递 null
作为 auth
参数来使用 Kubernetes API:
KubernetesApi api = KubernetesApi.create(context.system(), null);
这个问题应该就会被解决了。
上一篇:Akka块大小异常
下一篇:Akka类变量作用域问题。