如何控制kubectl与哪个集群通信?

时间:2019-06-12 19:37:45

标签: kubernetes google-kubernetes-engine kubectl microk8s

我正在使用kubectl来控制本地microk8s的安装。我配置了本地Google云外壳连接,以避免通过GKE仪表板提供可笑的机器。

现在,Navigator.of(context).push( PageRouteBuilder( pageBuilder: (context, _, __) => AlertDialog(), opaque: false), ); 命令似乎是在microk8和GKE上随机执行的。我不仅要解决此问题,而且在将来禁止这种情况。

kubectl可以引用不同环境的可能性显然是基于kubectl CLI概念的可怕想法,它没有提供指定远程集群的方法。它可能导致生产系统的意外更改。甚至是由12个核心角色组成的传播者也将安装本地集群以进行开发。

2 个答案:

答案 0 :(得分:2)

kubectl config use-context命令可用于修改kubectl与之交谈的人。

  

使用配置文件配置对多个群集的访问。在一个或多个配置文件中定义了集群,用户和上下文之后,您可以使用来在集群之间快速切换。   configure-access-multiple-clusters/

答案 1 :(得分:0)

您可以在--context命令中提供/添加--namespacekubectl选项,以对任何群集运行kubectl。如果您同时来回处理多个集群,则使用起来很方便。

kubectl --cluster=my_cluster --namespace=my_namespace get pods
  

注意:请更改您的环境的集群和名称空间名称。

还有更多kubectl选项:

~/git/kubernetes (master) $ kubectl options
The following options can be passed to any command:

  --alsologtostderr=false: log to standard error as well as files
  --as='': Username to impersonate for the operation
  --as-group=[]: Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
  --cache-dir='/Users/robertrt/.kube/http-cache': Default HTTP cache directory
  --certificate-authority='': Path to a cert file for the certificate authority
  --client-certificate='': Path to a client certificate file for TLS
  --client-key='': Path to a client key file for TLS
  --cluster='': The name of the kubeconfig cluster to use
  --context='': The name of the kubeconfig context to use
  --insecure-skip-tls-verify=false: If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
  --kubeconfig='': Path to the kubeconfig file to use for CLI requests.
  --log-backtrace-at=:0: when logging hits line file:N, emit a stack trace
  --log-dir='': If non-empty, write log files in this directory
  --log-flush-frequency=5s: Maximum number of seconds between log flushes
  --logtostderr=true: log to standard error instead of files
  --match-server-version=false: Require server version to match client version
-n, --namespace='': If present, the namespace scope for this CLI request
  --request-timeout='0': The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests.
-s, --server='': The address and port of the Kubernetes API server
  --stderrthreshold=2: logs at or above this threshold go to stderr
  --token='': Bearer token for authentication to the API server
  --user='': The name of the kubeconfig user to use
-v, --v=0: log level for V logs
  --vmodule=: comma-separated list of pattern=N settings for file-filtered logging