kubectl create 命令使用

1. kubectl create

kubectl create 是 Kubernetes 中一个常用的命令,用于通过配置文件或 stdin 创建集群资源对象。该命令支持 JSON 和 YAML 格式的文件。

语法
kubectl create -f FILENAME
示例

通过配置文件创建一个 Pod:

kubectl create -f ./pod.json

通过 stdin 的 JSON 创建一个 Pod:

cat pod.json | kubectl create -f -

创建具有特定 API 版本的 JSON 格式的 docker-registry.yaml 文件:

kubectl create -f docker-registry.yaml --edit --output-version=v1 -o json

2. kubectl create clusterrole

kubectl create clusterrole 用于创建一个 ClusterRole(集群角色)。创建后的 ClusterRole 需要通过 ClusterRoleBinding 与用户、组和 ServiceAccount 进行绑定。

语法
kubectl create clusterrole NAME --verb=verb --resource=resource.group [--resource-name=resourcename] [--dry-run]
示例

创建一个名为 “pod-reader” 的 ClusterRole,允许用户在 Pod 上执行 “get”、“watch” 和 “list” 操作:

kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods

创建一个名为 “pod-reader” 的 ClusterRole,并指定 ResourceName:

kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods --resource-name=readablepod --resource-name=anotherpod

在指定的 API Group 中创建一个名为 “foo” 的 ClusterRole:

kubectl create clusterrole foo --verb=get,list,watch --resource=rs.extensions

创建一个名为 “foo” 的 ClusterRole,并指定 SubResource:

kubectl create clusterrole foo --verb=get,list,watch --resource=pods,pods/status

使用指定的 NonResourceURL 创建一个名为 “foo” 的 ClusterRole:

kubectl create clusterrole "foo" --verb=get --non-resource-url=/logs/*

3. kubectl create clusterrolebinding

kubectl create clusterrolebinding 用于为特定的 ClusterRole 创建 ClusterRoleBinding。

语法
kubectl create clusterrolebinding NAME --clusterrole=NAME [--user=username] [--group=groupname] [--serviceaccount=namespace:serviceaccountname] [--dry-run]
示例

在集群范围将 cluster-admin ClusterRole 授予用户 user1、user2 和 group1:

kubectl create clusterrolebinding cluster-admin --clusterrole=cluster-admin --user=user1 --user=user2 --group=group1

4. kubectl create configmap

kubectl create configmap 用于根据配置文件、目录或指定的 literal-value 创建 ConfigMap。

语法
kubectl create configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1] [--dry-run]
示例

根据文件创建一个名为 my-config 的 ConfigMap:

kubectl create configmap my-config --from-file=path/to/bar

使用指定的 keys 创建一个名为 my-config 的 ConfigMap:



kubectl create configmap my-config --from-literal=key1=value1 --from-literal=key2=value2

5. kubectl create deployment

kubectl create deployment 用于创建一个具有指定名称的 Deployment。

语法
kubectl create deployment NAME --image=image [--dry-run]
示例

创建一个名为 my-dep 的 Deployment,使用 busybox 镜像:

kubectl create deployment my-dep --image=busybox

6. kubectl create namespace

kubectl create namespace 用于创建一个具有指定名称的 Namespace。

语法
kubectl create namespace NAME [--dry-run]
示例

创建一个名为 my-namespace 的 Namespace:

kubectl create namespace my-namespace

7. kubectl create poddisruptionbudget

kubectl create poddisruptionbudget 用于使用指定的名称、selector 和所需的最小 Pod 数量创建一个 PodDisruptionBudget(PDB)。

语法
kubectl create poddisruptionbudget NAME --selector=labelname --min-available=count [--dry-run]
示例

创建一个名为 my-pdb 的 PodDisruptionBudget,使用 label “app=rails” 的 Pod,并确保至少有一个可用的 Pod:

kubectl create poddisruptionbudget my-pdb --selector=app=rails --min-available=1

8. kubectl create quota

kubectl create quota 用于创建具有指定名称、硬限制和可选 scopes 的 ResourceQuota。

语法
kubectl create quota NAME --hard=resource=quantity[,resource=quantity] [--scopes=Scope1,Scope2] [--dry-run]
示例

创建一个名为 my-quota 的 ResourceQuota,设置硬限制如下:

  • cpu: 1
  • memory: 1G
  • pods: 2
  • services: 3
  • replicationcontrollers: 2
  • resourcequotas: 1
  • secrets: 5
  • persistentvolumeclaims: 10
kubectl create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10

9. kubectl create role

kubectl create role 用于使用单一规则创建 Role,并通过 RoleBinding 将其绑定到用户、组或 ServiceAccount 上。

语法
kubectl create role NAME --verb=verb --resource=resource.group [--resource-name=resourcename] [--dry-run]
示例

创建一个名为 “pod-reader” 的 Role,允许用户在 Pod 上执行 “get”、“watch” 和 “list” 操作:

kubectl create role pod-reader --verb=get,list,watch --resource=pods

创建一个名为 “pod-reader” 的 Role,并指定 ResourceName:

kubectl create role pod-reader --verb=get,list,watch --resource=pods --resource-name=readablepod --resource-name=anotherpod

10. kubectl create rolebinding

kubectl create rolebinding 用于为特定的 Role 或 ClusterRole 创建 RoleBinding。

语法
kubectl create rolebinding NAME --role=NAME [--user=username] [--group=groupname] [--serviceaccount=namespace:serviceaccountname] [--dry-run]
示例

为名为 admin 的 Role 创建一个名为 “admin” 的 RoleBinding,并将其绑定到用户 user1、user2 和 group1:

kubectl create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1

这些是关于 kubectl create 命令的一些示例和用法,您可以根据您的需求使用不同的选项和参数来创建各种资源对象。请注意,这只是一部分常见的用法,kubectl create 命令还支持其他选项和资源类型。如果您需要更详细的信息,请查阅 Kubernetes 官方文档。
参考文档:Kubernetes中文文档

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值