wikiv1:kubectl_create
Table of Contents
kubectl create
Todatas as opções
$ kubectl create --help Create a resource from a file or from stdin. JSON and YAML formats are accepted. 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 registry.yaml in JSON then create the resource using the edited data kubectl create -f registry.yaml --edit -o json Available Commands: clusterrole Create a cluster role clusterrolebinding Create a cluster role binding for a particular cluster role configmap Create a config map from a local file, directory or literal value cronjob Create a cron job with the specified name deployment Create a deployment with the specified name ingress Create an ingress with the specified name job Create a job with the specified name namespace Cria a namespace com um nome especificado poddisruptionbudget Create a pod disruption budget with the specified name priorityclass Create a priority class with the specified name quota Create a quota with the specified name role Create a role with single rule rolebinding Create a role binding for a particular role or cluster role secret Cria um secret utilizando um sub-comando especificado service Create a service using a specified subcommand serviceaccount Cria uma conta de serviço com um nome especificado token Request a service account token Options: --allow-missing-template-keys=true: If true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats. --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. --edit=false: Edit the API resource before creating --field-manager='kubectl-create': Name of the manager used to track field ownership. -f, --filename=[]: Filename, directory, or URL to files to use to create the resource -k, --kustomize='': Process the kustomization directory. This flag can't be used together with -f or -R. -o, --output='': Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file). --raw='': Raw URI to POST to the server. Uses the transport specified by the kubeconfig file. -R, --recursive=false: Process the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory. --save-config=false: If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future. -l, --selector='': Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2). Matching objects must satisfy all of the specified label constraints. --show-managed-fields=false: If true, keep the managedFields when printing objects in JSON or YAML format. --template='': Template string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview]. --validate='strict': Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-side validation if not. "warn" will warn about unknown or duplicate fields without blocking the request if server-side field validation is enabled on the API server, and behave as "ignore" otherwise. "false" or "ignore" will not perform any schema validation, silently dropping any unknown or duplicate fields. --windows-line-endings=false: Only relevant if --edit=true. Defaults to the line ending native to your platform. Usage: kubectl create -f FILENAME [options] Use "kubectl <command> --help" for more information about a given command. Use "kubectl options" for a list of global command-line options (applies to all commands).
Namespace
$ kubectl create namespace ns-system --dry-run=client -o yaml > ns.yaml
- ns.yaml
apiVersion: v1 kind: Namespace metadata: creationTimestamp: null name: ns-system spec: {} status: {}
$ kubectl create -f ns.yaml namespace/ns-system created
Secret
- secret-app
POSTGRES_USER=zabbix POSTGRES_PASSWORD=zabbix
$ kubectl create secret generic secret-app -n ns-system --from-env-file=secret-app -o yaml --dry-run=client > secret-app.yaml
- secret-app.yaml
apiVersion: v1 data: POSTGRES_PASSWORD: emFiYml4 POSTGRES_USER: emFiYml4 kind: Secret metadata: creationTimestamp: null name: secret-app namespace: ns-system
$ kubectl create -f secret-app.yaml secret/secret-app created
configMap
$ kubectl create configmap cm-app --from-literal ENABLE_TIMESCALEDB=true -o yaml --dry-run=client > cm-app.yaml
- cm-app.yaml
apiVersion: v1 data: ENABLE_TIMESCALEDB: "true" kind: ConfigMap metadata: creationTimestamp: null name: cm-app
$ kubectl create -f cm-app.yaml configmap/cm-app created
Deployment
$ kubectl create deployment pgsql-server -n ns-system --image=postgres --port=5432 > --dry-run=client -o yaml > deploy-pgsql.yaml
- deploy-pgsql.yaml
apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: "2022-06-23T20:26:59Z" generation: 1 labels: app: pgsql-server name: pgsql-server namespace: ns-system resourceVersion: "8137164" uid: a3086bc8-6869-42a5-81f8-28e9738c86cf spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: pgsql-server strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: app: pgsql-server spec: containers: - image: postgres imagePullPolicy: Always name: postgres ports: - containerPort: 5432 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 status: {}
$ kubectl create -f deploy-pgsql.yaml deployment.apps/pgsql-server created
Service
$ kubectl expose deploy pgsql-server --port=5432 --target-port=5432 --type=ClusterIP -n ns-system --dry-run=client -o yaml > svc-app.yaml
- svc-app.yaml
apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: pgsql-server name: pgsql-server namespace: ns-system spec: ports: - port: 5432 protocol: TCP targetPort: 5432 selector: app: pgsql-server type: ClusterIP status: loadBalancer: {}
wikiv1/kubectl_create.txt · Last modified: by 127.0.0.1
