k8s 中的service account只能是secret-based吗?
时间: 2023-02-10 13:05:49 浏览: 130
在 Kubernetes 中,Service Account 是一种特殊的用户帐户,它与每个命名空间一一对应,并且由系统预定义。Service Account 可以与其他资源(例如 pods)关联,以便这些资源在集群中的访问控制中使用。
Service Account 可以使用密钥文件或者令牌来认证,也可以使用 kubeconfig 文件。密钥文件和令牌都存储在 Secret 中,所以可以说 Service Account 是基于 Secret 的。但这并不意味着 Service Account 只能使用 Secret 进行认证。
相关问题
k8s yml --help
在 `kubectl` 命令行工具中,你可以使用 `--help` 参数来查看命令的帮助文档,包括 YAML 文件的格式要求和示例。例如,使用 `kubectl create --help` 命令可以查看如下内容:
```
Create a resource from a file or from stdin.
JSON and YAML formats are accepted.
Usage:
kubectl create (-f FILENAME | --filename=FILENAME) [options]
kubectl create (-k DIRECTORY | --kustomize=DIRECTORY) [options]
kubectl create clusterrolebinding NAME --clusterrole=ROLE [--user=USER]
kubectl create clusterrole NAME --verb=verb --resource=resource.group [--resource-name=resource.name]
kubectl create configmap NAME [--from-literal=key1=value1] [--from-literal=key2=value2] [--from-file=[key=]source] [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
kubectl create cronjob NAME --image=image [--schedule=''] --command -- [COMMAND] [args...] [options]
kubectl create deployment NAME --image=image [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
kubectl create job NAME --image=image --command -- [COMMAND] [args...] [options]
kubectl create namespace NAME [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
kubectl create secret generic NAME [--from-literal=key1=value1] [--from-literal=key2=value2] [--from-file=[key=]source] [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
kubectl create service NAME --tcp=port1,port2,... [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
kubectl create serviceaccount NAME [--dry-run=server|client|none] [--output=wide|yaml|json] [options]
Examples:
# Create a pod using the data in pod.json.
kubectl create -f ./pod.json
# Create a pod based on the JSON passed into stdin.
cat pod.json | kubectl create -f -
# Edit the data in EDITOR (default vim).
kubectl create configmap my-config --from-file=config.json --edit
# Create a new namespace named my-namespace
kubectl create namespace my-namespace
Options:
-f, --filename='': Filename, directory, or URL to files to use to create the resource
-k, --kustomize='': Process a kustomization directory. This flag can't be used together with -f or -R.
--edit=false: Edit the data in $EDITOR
--force=false: Create resource even if it already exists
--dry-run='none': Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.
-o, --output='': Output format. One of: yaml, json, wide, name, go-template-file, go-template, jsonpath-file, jsonpath. If unspecified, will default to yaml for standalone objects and table for lists.
--record=false: Record current kubectl command in the resource annotation. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
```
在这个帮助文档中,你可以看到 `kubectl create` 命令支持不同类型的资源对象,包括 Pod、Deployment、Service、Secret 等。对于每个资源对象类型,文档都提供了示例和参数说明。
阅读全文