加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

如何提升Kubernetes生产力?我有5个实用技巧分享给你

发布时间:2019-08-15 00:31:13 所属栏目:评测 来源:大愚若智
导读:副标题#e# 在观察和阅读很多其它人操作 Kubernetes 和 Istio 的过程中,我了解到了他们为了进一步提高生产力,在搭建环境以及使用各类工具、技巧和诀窍过程中积累的经验。本文总结了我每天都会使用的 5 个技巧和工具,它们进一步提高了我操作 Kubernetes 和
副标题[/!--empirenews.page--]

如何提升Kubernetes生产力?我有5个实用技巧分享给你

在观察和阅读很多其它人操作 Kubernetes 和 Istio 的过程中,我了解到了他们为了进一步提高生产力,在搭建环境以及使用各类工具、技巧和诀窍过程中积累的经验。本文总结了我每天都会使用的 5 个技巧和工具,它们进一步提高了我操作 Kubernetes 和 Istio 时的生产力。

1. 在 Kubernetes 上下文之间切换 

如果同时运行本地 Kubernetes 实例以及一个或多个云端 Kubernetes 实例,那么你可能时不时就需要在不同上下文之间切换。Kubernetes CLI(kubectl)提供了用于在不同上下文之间执行操作的命令,例如:

current-contextget-contextsrename-contextdelete-contextset-context – use-context

对于想要切换到的 Kubernetes 上下文,如果知道它的名称,那么可以使用如下的命令:

  1. kubectl use-context [CONTEXT-NAME]  

但如果需要操作多个集群,并且不知道各种上下文的名称,此时就需要首先列出所有上下文,随后像这样运行 use-context 命令:

  1. $ kubectl get-contexts  
  2. CURRENT   NAME            CLUSTER         AUTHINFO        NAMESPACE  
  3. *         docker-desktop  docker-desktop  docker-desktop  
  4.           minikube        minikube        minikube  
  5.           cloudc          crdambvg43d     user-crdambvg43d  
  6. $ kubectl use-context minikube  

其实还有更简单的方法。我用了一款名为 kubectx 的工具,该工具可以列出不同的 Kubernetes 上下文并快速切换。若要列出上下文,可以这样运行 kubectx:

  1. $ kubectx 
  2. docker-desktop 
  3. minikub 
  4. cloudc 

切换至不同上下文的方法也很简单:

  1. $ kubectx [CONTEXT-NAME] 
2. 在 Kubernetes 名称空间之间切换

在操作 Kubernetes 时,处理来自不同名称空间的资源,这也是一种很常见的做法。例如,你可能希望列出一个名称空间内的所有 Pod,随后检查另一个名称空间中的服务。此时我的做法是使用 Kubernetes CLI 所支持的 --namespace 标记。例如,若要查看名为 Test 的名称空间中的所有 Pod,可以运行 kubectl get pods -n test。默认情况下,如果不提供名称空间标记,将使用默认的 Kubernetes 名称空间,即 default。

这个默认值可以在 kubeconfig 文件中修改,例如我们可以将默认名称空间设置为 test、kube-system 或其他任何名称空间。这样在查询资源时就不需要使用 --namespace 标记了。不过更改默认值的命令略微繁琐:

  1. $ kubectl config set contexts.my-context.namespace my-namespace 

上述命令会更改 my-context 上下文的 Namespace 字段,将其改为 my-namespace。这也意味着,举例来说,如果切换到 my-context 随后运行 kubectl get pods,将只能看到 my-namespace 名称空间下的 Pod。

除了使用 kubectx,我们还可以使用一款名为 kubens 的工具,后者可以帮助我们列出并切换至不同名称空间。

  1. $ kubens 
  2. default 
  3. docker 
  4. kube-node-lease 
  5. kube-public 
  6. kube-system 

为所选上下文设置默认名称空间,这也是一种快速简单的操作:

  1. $ kubens default  
  2. Context "docker-desktop" modified.  
  3. Active namespace is "default".  
3. 为 Kubernetes CLI 设置别名

这是一种非常简单的技巧。操作 Kubernetes 过程中,我们可能需要频繁输入 kubectl,时间一长肯定会对输入全名的繁琐过程感到厌倦。虽然每次只需要输入七个字母,但多次频繁输入总归很麻烦。

此时的技巧是,为 kubectl 设置一个更简单的别名,例如 k:

  1. $ alias k=kubectl 
  2. $ k get po 
  3. NAME    READY   STATUS    RESTARTS   AGE 
  4. mypod   1/1     Running   18         43h 

理想情况下,我们应该将 k=kubectl 这样的别名保存到 bash_profile 中,这样每次打开终端后都将自动设置。

4. 在 Kubernetes 集群中运行 terminal

在访问集群中的服务和 Pod 时,我们需要将其暴露出来,这样才可以从公网访问它们,或在本机和集群中运行的服务之间运行 Kube 代理或转发端口。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读