Skip to content

bind apiservice

Synopsis

Bind to a remote API service by creating an APIServiceExportRequest.

This command allows you to bind remote services into your cluster by either:

  • Providing a URL to an APIServiceExportRequest resource
  • Providing a file containing an APIServiceExportRequest manifest
  • Using a template name to interactively create the binding

The command will authenticate with the remote service provider, create the necessary APIServiceExportRequest, and deploy a konnector to establish the connection between your cluster and the remote service.

bind apiservice https://<url-to-a-APIServiceExportRequest>|-f <file-to-a-APIBindingRequest> [flags]

Examples

# bind to a remote API service. Use kubectl bind to create the APIServiceExportRequest interactively.
kubectl bind apiservice --remote-kubeconfig file -f apiservice-export-request.yaml

# bind to a remote API using template name
kubectl bind apiservice --name my-api --template-name database-service

Options

      --allow-missing-template-keys          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. (default true)
      --as-uid string                        UID to impersonate for the operation
      --certificate-authority string         Path to a cert file for the certificate authority
      --cluster string                       The kube-bind cluster name to use (overrides kube-bind config current cluster)
      --config-file string                   Path to the kube-bind configuration file
      --context string                       The name of the kubeconfig context to use
      --disable-compression                  If true, opt-out of response compression for all requests to the server
      --downgrade-konnector                  Downgrade the konnector to the version of the kubectl-bind-apiservice binary
  -d, --dry-run                              If true, only print the requests that would be sent to the service provider after authentication, without actually binding.
  -f, --file string                          A file with an APIServiceExportRequest manifest. Use - to read from stdin
  -h, --help                                 help for apiservice
      --insecure-skip-tls-verify             Skip TLS certificate verification (not recommended)
      --kubeconfig string                    path to the kubeconfig file
      --log-flush-frequency duration         Maximum number of seconds between log flushes (default 5s)
      --log-text-info-buffer-size quantity   [Alpha] In text format with split output streams, the info messages can be buffered for a while to increase performance. The default value of zero bytes disables buffering. The size can be specified as number of bytes (512), multiples of 1000 (1K), multiples of 1024 (2Ki), or powers of those (3M, 4G, 5Mi, 6Gi). Enable the LoggingAlphaOptions feature gate to use this.
      --log-text-split-stream                [Alpha] In text format, write error messages to stderr and info messages to stdout. The default is to write a single stream to stdout. Enable the LoggingAlphaOptions feature gate to use this.
      --logging-format string                Sets the log format. Permitted formats: "text". (default "text")
      --name string                          The name of the BindableResourcesRequest to create
  -n, --namespace string                     If present, the namespace scope for this CLI request
  -o, --output string                        Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).
      --password string                      Password for basic authentication to the API server
      --proxy-url string                     If provided, this URL will be used to connect via proxy
      --remote-kubeconfig string             A file path for a kubeconfig file to connect to the service provider cluster
      --remote-kubeconfig-name string        The name of the remote kubeconfig secret to read from
      --remote-kubeconfig-namespace string   The namespace of the remote kubeconfig secret to read from
      --remote-namespace string              The namespace in the remote cluster where the konnector is deployed
      --server string                        The kube-bind server name to use (overrides kube-bind config current server)
      --show-managed-fields                  If true, keep the managedFields when printing objects in JSON or YAML format.
      --skip-konnector                       Skip the deployment of the konnector
      --template string                      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].
      --template-name string                 A template name to use for binding
      --tls-server-name string               If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
      --token string                         Bearer token for authentication to the API server
      --user string                          The name of the kubeconfig user to use
      --username string                      Username for basic authentication to the API server
  -v, --v Level                              number for the log level verbosity
      --vmodule pattern=N,...                comma-separated list of pattern=N settings for file-filtered logging (only works for text log format)

Options inherited from parent commands

      --add_dir_header                   If true, adds the file directory to the header of the log messages
      --alsologtostderr                  log to standard error as well as files (no effect when -logtostderr=true)
      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                   If non-empty, write log files in this directory (no effect when -logtostderr=true)
      --log_file string                  If non-empty, use this log file (no effect when -logtostderr=true)
      --log_file_max_size uint           Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
      --logtostderr                      log to standard error instead of files (default true)
      --one_output                       If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)
      --skip_headers                     If true, avoid header prefixes in the log messages
      --skip_log_headers                 If true, avoid headers when opening log files (no effect when -logtostderr=true)
      --stderrthreshold severity         logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true) (default 2)

See Also

  • bind – Open kube-bind UI or bind templates from a remote server.