Kubernetes详解(四十九)——ServiceAccount实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是ServiceAccount实战。

一、ServiceAccount创建

在默认情况下,Kubernetes集群中有自己的ServiceAccount及其token,如下所示:
在这里插入图片描述
在默认情况下,该secret会自动挂载到该名称空间下的所有Pod中,这样Pod就拥有了该secret的token信息,也就能够进行Pod之间的通信。
当然,我们也可以自己创建ServiceAccount,创建命令如下:

kubectl create serviceaccount 【ServiceAccount名】

创建完成后,我们可以执行命令:

kubectl get sa

kubectl get secret

来分别查看ServiceAccount和Secret的信息,如下所示:
在这里插入图片描述
执行命令:

kubectl describe sa 【ServiceAccount名】

可以查看该ServiceAccount,结果如下所示:
在这里插入图片描述

二、ServiceAccount应用

在ServiceAccount被创建后,接下来,我们就可以应用该ServiceAccount了。首先,我们先创建一个Pod,该Pod的资源清单配置如下:

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-sa
  namespace: default
spec:
  containers:
  - name: pod-with-sa
    image: ikubernetes/myapp:v1
  serviceAccountName: mysa

在上述配置中,我们的spec.serviceAccountName字段指定了该Pod所使用的ServiceAccount的名称,在指定了该字段后,该Pod在创建时就会使用我们指定的ServiceAccout,而不是默认的ServiceAccount了。完成后的资源清单配置如下:
在这里插入图片描述
之后,我们执行命令:

kubectl apply -f pod-with-sa.yaml

来创建该Pod,该命令执行结果如下所示:
在这里插入图片描述
从上图可以看出,我们的Pod已经创建成功,接下来,我们执行命令:

kubectl describe pod pod-with-sa

来查看Pod的详细信息,结果如下:
在这里插入图片描述
从上图中可以看出,新创建的Pod使用Secret是我们新创建的ServiceAccount,我们的ServiceAccount应用成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/124486681