在kubernetes上部署的休息服务中提供.kube / config文件的最佳方法是什么?
这将使我的服务(例如)使用kuberntes客户端api。
[R
答案 0 :(得分:2)
创建服务帐户:
kubectl create serviceaccount example-sa
创建角色:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: example-role
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
创建角色绑定:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1alpha1
metadata:
name: example-role-binding
namespace: default
subjects:
- kind: "ServiceAccount"
name: example-sa
roleRef:
kind: Role
name: example-role
apiGroup: rbac.authorization.k8s.io
使用example-sa
kind: Pod
apiVersion: v1
metadata:
name: example-pod
spec:
serviceAccountName: example-sa
containers:
- name: secret-access-container
image: example-image
广告连播定义中最重要的一行是serviceAccountName: example-sa
。创建服务帐户并将此行添加到您的广告连播定义后,您就可以在/var/run/secrets/kubernetes.io/serviceaccount/token
访问您的API访问令牌。
Here你可以找到上面例子的更详细版本。