Kubernetes学习笔记-在多个集群中使用kubectl 20230623

这篇具有很好参考价值的文章主要介绍了Kubernetes学习笔记-在多个集群中使用kubectl 20230623。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、在Minikue和Google Kubernetes引擎之间切换

切换到Minikube

$minikube start

Starting local kubernetes cluster...

...

Setting up kubeconfig...

kubectl is now configured to use the cluster

从Minikube切换到GKE后,可以通过停止Minikube并重新切换回来。这时kubectl会被再次重新设置以适用于Minikube集群

切换到GKE

$gcloud container clusters get-credentials my-gke-cluster

二、在多集群或多命名空间下使用kubectl

如果需要在多个kubernetes集群之间切换,或想在命名空间之外的命名空间下工作,但不想在每次运行kubectl时指定--namespace选项,可以执行以下操作

1、配置kubeconfig文件的路径

kubectl使用的配置通常存储在~/.kube/config文件中。如果存储在其他位置,环境变量KUBECONFIG需要指向配置文件的位置

可以通过在KUBECONFIG环境变量中指定多个配置文件(使用冒号分割)来让kubectl一次性加载全部配置

2、了解kubeconfig文件的内容

kubeconfig文件示例

apiVersion:v1

clusters:

-cluster:       

        certificate-authority:/home/luksa/.minikube/ca.crt

        server:https://192.168.99.100:8443

  name:minikube

contexts:

-context:

        cluster:minikube

        user:minikube

        namespace:default

  name:minikube

current-context:minikube

kind:Config

preferences:{}

users:

        name:minikube

        user:

                client-certificate:/home/luksa/.minikube/apiserver.crt

                client-key:/home/luksa/.minikube/apiserver.key

kubeconfig文件由以下四部分组成:

  • 集群列表
  • 用户列表
  • 上下文列表
  • 当前上下文列表 

每个集群、用户和上下文都有一个名称用于区分

集群(cluster)

集群条目代表kuberrnetes集群,并包含api服务器的URL、证书颁发机构(CA)文件,以及可能与通过API服务器进行通信相关的一些其他配置选项。CA证书可以存储在单独的文件中并在kubeconfig文件中引用,也可以直接将其包含在certificate-authority-data字段中。

用户(users)

每个用户定义了在与API服务器交谈时使用的凭证。这可以是用户名和密码、身份验证令牌火客户端密钥和证书。证书和密钥可以包含在kubeconfig文件中(通过client-certificate-data和client-key-data属性),或者存储在单独的文件中并配置文件中引用。

上下文(context)

上下文将kubectl执行命令时应使用的集群、用户以及默认命名空间关联在一起。多个上下文可以指向同一用户或者集群。

当前上下文(current-context)

虽然可以在kubeconfig文件中定义多个上下文,但在同一时间,只有其中一个是当前上下文。

3、查询、添加和修改kube配置条目

既可以手动编辑该文件以添加、修改和删除集群、用户和上下文信息,也可以通过kubectl config命令进行这些操作。

添加或修改一个集群 

kubectl config set-cluster命令添加一个集群

$kubectl config set-cluster my-other-cluster

返回:

--server=http://k8s.example.com:6443

--certificate-authority=path/to/the/cafile

如果指定的集群名称已存在,则set-cluster 命令将会覆盖该同名集群的配置选项

添加或修改用户凭证

$kubectl config set-credentials foo --username=foo --password=pass

 使用基于token的认证方式

$kubectl config set-credentials foo --tolen=mysecrettokenXFDJIQ1234

如果使用相同凭证来针对不同集群进行身份验证,则可以自定义一个用户并将其用于两个集群

将集群和用户凭证联系到一起

上下文中定义了哪个用户使用哪个集群,同时也可以定义kubectl应该使用的命名空间,这样就不需要使用--namespace或者-n选项手动指定命名空间。

$kubectl config set-context some-context --cluster=my=other-cluster

返回:

--user=foo --namespace=bar

这会创建一个名为some-context的上下文,该上下文使用my-other=cluster集群和foo用户凭证。次上下文中的默认命名空间设置为bar 

也可以 使用同样的命令来更改当前上下文的命名空间。

$kubectl config current-context

使用如下命令修改命名空间

$kubectl config set-context minikube --namespace=another-namespace

4、在不同的集群、用户和上下文中使用kubectl

在运行kubectl命令时,会使用kubeconfig当前上下文中定义的集群、用户和命名空间,同时也可以使用以下命令选项覆盖它们:

--user 指定一个kubeconfig文件中不同的用户

--username和--password 分别指定不同的用户名和密码(该用户名和密码不需要在配置文件中预先定义),如果使用其他类型认证,可以使用--client-key、--client-certificate或--token

--cluster 指定一个不同的集群(该集群必须在配置文件中预先定义)

--server 指定一个不同服务器的url(配置文件中不存在的)

--namespace 指定一个不同的命名空间

5、切换上下文

可以使用set-context命令创建附加上下文,然后在上下文之间切换

$kubectl config user-context my-other-context

这样就将当前上下文切换到my-other-context

6、列出上下文和集群

$kubectl config get-contexts

7、删除上下文和集群

$kubectl config delete-config my-unused-context

$kubectl config delete-cluster my-old-cluster文章来源地址https://www.toymoban.com/news/detail-497980.html

到了这里,关于Kubernetes学习笔记-在多个集群中使用kubectl 20230623的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S集群Token过期处理方法以及Kubectl命令无法使用的问题解决

    使用Kubeadm方式部署的K8S集群,在初始化的时候生成的Token的有效期为1天,当过期之后Token就无法使用了,也就意味着,在Node节点执行 kubeadm join 命令加入K8S集群时就会失败,可以通过下面的方法重新生成Token。 1)创建Token

    2024年02月16日
    浏览(40)
  • 20230623----重返学习-vue-cli脚手架

    Vue工程化处理工具之 : @vue/cli 脚手架的本质:基于webpack实现项目的打包部署; vue/cli 安装和使用 可选择当前配置项 文件地址在:C:Users当前电脑用户名.vuerc。 如:C:Usersfangc.vuerc 文件目录 package.json 目录: scripts:npm可执行命令 serve命令: vue-cli-service 是Vue脚手架内部封装的

    2024年02月10日
    浏览(65)
  • 【Kubernetes】Kubernetes之kubectl详解

    kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口; kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径; kubectl 的命令大全: 对资

    2024年02月13日
    浏览(42)
  • ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

    ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 03. ROS学习笔记(三)—好用的终端Terminator 一、什么是launch文件 虽然说Terminator终端是能够比较方便直观的看运行的节点,但有时候节点一多,输入的rosrun指令也会

    2024年02月09日
    浏览(41)
  • k8s学习笔记-07(借助kubectl explain编写yaml文件)

    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱:yinwanit@163.com 文章记录了本人学习yaml文件编写过程中的一些经验分享。 在k8s学习过程中yaml文件的编写无疑是比较让人头痛的,尤其是最开始学习的时候。作者结合自己学习过程总结了以下几点

    2024年02月04日
    浏览(45)
  • 【Kubernetes】kubectl 常用命令

    kubectl 是 Kubernetes 提供的命令行管理工具。通过使用 kubectl ,可以管理和操作 Kubernetes。 命令 说明 create 通过文件名或标准输入创建 Kubernetes 的资源 expose 将 Kubernetes 的资源展露为一个服务 run 在集群中运行一个特定的镜像 set 修改对象的特定功能 explain 给资源添加文档说明

    2024年02月03日
    浏览(43)
  • 【kubernetes组件合集】深入解析Kubernetes组件之一:kubectl

    简介:Kubernetes是当今最受欢迎的容器编排和管理平台之一,而kubectl是Kubernetes的命令行工具,它提供了与Kubernetes集群进行交互的能力。本文将深入探讨kubectl的功能和用法,帮助读者全面了解这个重要的Kubernetes组件。 架构图来源: Cluster Architecture | Kubernetes  kubectl是Kubernete

    2024年04月28日
    浏览(34)
  • 云原生Kubernetes:kubectl管理命令

    目录 一、理论 1.K8S资源管理方法 2.kubectl 管理命令 3.项目的生命周期 4.Kubernetes 服务发布方式 5.金丝雀发布(Canary Release)部署 6.声明式管理方法 二、实验  1.kubectl 管理命令 2.项目的生命周期 3.金丝雀发布(Canary Release)部署 4.声明式管理方法 三、问题 1.为何每个pod有两个标签 四

    2024年02月09日
    浏览(39)
  • Kubernetes学习笔记-计算资源管理(4)监控pod的资源使用量20230219

    前面学了设置资源的requests和limits,这节课学习如何监控资源,根据监控资源使用情况,对requests和limits进行合理配置。 kubelet包含一个agent,名为cAdvisor,它会收集整个节点上运行的所有单独容器的资源消耗情况,这些信息可以通过一个附加组件Heapster来集中统计整个集群的监

    2024年02月05日
    浏览(49)
  • Kubernetes系列-kubectl命令-pod相关

    1. 获取集群全量pod列表 或者 2. 获取制定ns中的pod列表 3. 查看pod所在节点 4. 查看pod内存使用情况 5. 查看某pod的相关日志 --tail=n:指定查看多少行日志。 6. 查看pod配置 7. 查看pod所属node节点 8. pod扩容 9. pod缩容 10. 查看pod详细信息 11. 查看pod的资源配置 12. 登陆pod  

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包