Step - 1:创建ServiceAccount
    image.png
    用create的方式帮助我们创建出serviceaccount.yaml的配置文件模板出来,是一个对新手比较好的方式

    image.png
    为了规范整理和存放,把配置文件移动到/opt/底下

    image.png
    查看一下内容是什么,就是个最简化的模板

    image.png
    然后我们声明式创建mysa账户,可以看到,创建成功,并且我们去看yaml文件的更多信息,可以看到,自动生成了一个token, 只需要在 pod 的spec.serviceAccountName 字段中将name设置为您想要用的 service account 名字即可,在 pod 创建之初 service account 就必须已经存在,否则创建将被拒绝,需要注意的是不能更新已创建的 pod 的 service account

    “kubectl apply -f serviceaccount.yaml”

    “kubectl get sa”

    “kubectl get sa mysa -o yaml”

    apiVersion: v1
    kind: ServiceAccount
    metadata:
    annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
    {“apiVersion”:”v1”,”kind”:”ServiceAccount”,”metadata”:{“annotations”:{},”creationTimestamp”:null,”name”:”mysa”,”namespace”:”default”}}
    creationTimestamp: “2022-05-10T06:00:37Z”
    name: mysa
    namespace: default
    resourceVersion: “320792”
    uid: 11feebe4-3fb9-48f0-bbe5-703a09d3f930
    secrets:
    - name: mysa-token-sfvgr

    Step - 2:自定义ServiceAccount账户
    image.png
    创建SA账户“mengjb”

    “kubectl create sa mengjb”

    image.png
    查看账户信息,并查看token

    “kubectl describe sa mengjb”

    Name: mengjb
    Namespace: default
    Labels:
    Annotations:
    Image pull secrets:
    Mountable secrets: mengjb-token-sllp2
    Tokens: mengjb-token-sllp2
    Events:

    image.png
    可以看到,我们创建的两个都存在了

    “kubectl get secret”

    NAME TYPE DATA AGE
    default-token-8kk4m kubernetes.io/service-account-token 3 36d
    mengjb-token-sllp2 kubernetes.io/service-account-token 3 3m41s
    mysa-token-sfvgr kubernetes.io/service-account-token 3 14m

    Step - 3:创建POD并引用ServiceAccount账户
    image.png
    image.png
    创建新的pod并引用我们之前创建的SA用户

    “ vim pod-sa-demo.yaml”

    image.png
    声明式创建pod

    “kubectl apply -f pod-sa-demo.yaml”

    image.png
    引用成功

    “kubectl describe pod pod-sa-demo”

    Name: pod-sa-demo
    Namespace: default
    Priority: 0
    Node: node-2/10.1.10.130
    Start Time: Tue, 10 May 2022 14:23:48 +0800
    Labels: app=sa-mengjba-pod
    tier=frontend
    Annotations: white.com/created-by: cluster mengjb
    Status: Running
    IP: 10.244.2.77
    ………..