【Kubernetes】云原生小技巧 20 之 kubectl create 命令

60 阅读1分钟

kubectl create 命令是 Kubernetes 中用于创建新资源对象的强大工具,支持创建多种资源类型,如 Pod、Service、Deployment、ConfigMap、Secret 等,允许用户通过 YAML 或 JSON 配置文件定义资源,或直接通过命令行参数快速生成资源。接下来,让我们一起探索如何使用这个命令吧!

1、kubectl create 命令使用场景

  • 从文件创建资源:通过 YAML 或 JSON 文件定义资源并创建
  • 快速创建简单资源:通过命令行参数直接创建资源(如 Secret、ConfigMap 等

2、kubectl create 命令的基本用法

# resourcetype:资源类型,namespace\deployment\job 等
kubectl create <resourcetype> <resourcename> [选项]

3、使用 kubectl create 命令

# 查看帮助命令
kubectl create --help
 
# 创建一个名为 mynamespace 的 Namespace
kubectl create namespace mynamespace
 
# 从键值对创建 ConfigMap
kubectl create configmap myconfig --from-literal=key1=value1
# 从文件创建 ConfigMap
kubectl create configmap myconfig --from-file=key1=file.txt
 
# 从键值对创建 Secret
kubectl create secret generic mysecret --from-literal=user=admin --from-literal=pwd=admin
# 从文件创建 Secret
kubectl create secret generic mysecret --from-file=user.txt --from-file=pwd.txt
 
# 创建一个名为 myservice 的 Service,type 为 clusterip
kubectl create service clusterip myservice --tcp=80:8080
 
# 生成一个 Namespace 的 YAML 文件,而不实际创建资源
kubectl create namespace mynamespace --dry-run=client -o yaml > mynamespace.yaml
  • 根据 YAML 文件创建资源,例如下方的 myservice.yaml
# cat myservice.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
 
# 使用 kubectl create 命令创建 yaml 文件
kubectl create -f myservice.yaml