日常工作中,可能需要在自己的笔记本电脑上执行 kubectl 命令以管理远程 Linux 服务器上的 Kubernetes 集群。通过调用 kubernetes API 来实现对 Kubernetes 对象的操作.

在客户端电脑安装 kubectl

Linux

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF # yum install -y kubectl
# kubectl version

Windows

从下面的链接下载 kubectl 可执行文件
https://storage.googleapis.com/kubernetes-release/release/v1.16.2/bin/windows/amd64/kubectl.exe 请将其中的 v1.16.2 替换为最新的版本号
通过此链接可获取最新的版本号 https://storage.googleapis.com/kubernetes-release/release/stable.txt 将下载的可执行文件添加到 PATH 环境变量 执行命令查看已安装的 kubectl 版本号
kubectl version

MAC

# 下载最新的可执行文件
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
# 添加可执行权限
chmod +x ./kubectl
# 复制到 PATH 路径
sudo mv ./kubectl /usr/local/bin/kubectl
# 检查已安装版本
kubectl version

获取 kubectl config 文件

在master节点上执行如下命令查看:

# cat /etc/kubernetes/admin.conf   (或者这个路径:~/.kube/config) (或者直接使用命令查看:kubectl config view --raw)
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01EVXlOekExTXpJeE1Gb1hEVE13TURVeU5UQTFNekl4TUZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT1JPCllMMzNKa1lBaElFS2s1ajMxT29PSVpHM0ZPbUV2Y1NlRmhjVFRZTnhRZXEwSE1BWVBvRE54N05pVElGRytwRkwKSGo3OE1IMlFYbGgyQUk5ZFpseHVoUnoydjNVa1VqMVpaNk5ZMTlWc21sZFBGR3gxVEJpRVgyMVl2Y05HbzhYegoydWlnY2dNcDVNbEhoZEc5UHdIaW5HRjYxbDFYRVdnZnB3c0N6aDMrWVZINmhGUnlsbWpha2QvbDIrVmNTK1IvCkxQMjluaTBXVkk3VmhacXpuUW81UklCcGpZUlRHQ0VtWU95M0l1Y250OGdQekpDcUFpN21razhCWlZYY1NoQW4KRjVRODBBRXQ5N01sRmJtVHJ2L1RwNzYvVlVPQ3Z2UlJxMGxrMWlpeHZWUS9vRXJOSExzTHNvOEt2a3ZBMnRRbwpvWlU1ME51VVp3Q3FOMFJUR1k4Q0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMQTlzM3VmVnFzNm9pQ0lsZy9aK3lHSVZOSXAKazdSNDNKWWgweGVtQk9RZ2RiM0JmQm1iMnRxZER6a3JOUjhwTS9nejFDK1VkcEdGMGd0clFJb2RaTEJEcmtDWApYVm9qd0NMQ3ZMdEtQcTZkcEZJM09Jdi91bXkrVUxIbGtOMUk2MjRCVkMzWnZuRUUreGFRdDBxVXY2OXlzeDM1CjlrUTdXMndvQjRvbDJPaURJOHJ6dVJkTk9kZGYwMG9iYkJSQkFjbnZvdys3M0RodnBOb0srd3Z2OHAvUFBSUlQKOC9YN0pEc2dpcUdNbUhUdUlBbzV0SDBwS0dFaEw5TFNaY0x3Y0FtUUZMTzJwVHpRL1VMcUhaMlAzRFVtaWJNTwpiOXpFWG80VmNEdjFUZzhSR3RKcnE4UGloQU1TUTcwT0ZHbUh6KzU1MXh1T1p0OVdVZk9wQ3RSYzJ3az0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://apiserver.master:6443 # 注意这个地址,master节点上的api地址
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJQ2tycEFwb202d0F3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURBMU1qY3dOVE15TVRCYUZ3MHlNVEExTWpjd05UTXlNVEphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXR1aWxHd2xZZU9sNzRpTjMKVzl1eXFKK2F4NzVUeWNIUnNRR0ZMUnB3YWRvTktmQmpuQS9DZjFIVkYyVmxjVGVLWHNQTWp3ZzdoT1E2b25vTgpxOXhWK0J0RUYyVFgwOFRxRU5aRERFblcxOFJZU2dqMkxuem5WUUhkbWp4Y3JQbzlIa0N4RWpsWXFzbWxSYUdJCm53Yjd2Q2hLbGlPU1lxaHUwZ0x6bW9yNGNhdWFCbFdLV1FCbzNnQ0pPd0V4Y3JoT3JxYS80Zk1vSThmd1ppYTgKVnpTQ0xPK3N3eUphdmtQRFJpYWE1dmlXektXOFE1ODh2RjBuekNsdEh1SGlSdjczOVowVUpoYlQrVnN0bWZKagpUVVpQaks1S21teDd0SkJlMVIwSW9nejVTaTJTcE5OdmpBbUlrcXAxUlljaWMzQzBXZ2FZRWtLeDlRTFVxRm52CldvMmdHd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFIRDBZY2RhTVFrVnMyVDFEcytlMnAvcS9zcWtBV3Z0REpyQgpicTA3WmhEM0haNzhwTWJjQVZiM3dmYmdVSi9DZzh1bzdmSzdHbzlMNm1SV21LQlhhVVVENUNMRHNUcXZ6OVpSCkpSWTNDRVNxMXhDWWUvRklYMVp2TnNnNHVwZ1M4UGo0NVB5TC9oTXhncFRWOWRkYm5HbUNHdkJtU0ZSVVZ5a2IKTVZOSDRoZ3ZmZDlXRHRqUERycDZvMUhhQjVBR1FIQ0wrRnU1TmJEeFJjNTFwVktHUG9pbmE0dWdwYkJJMU1SZQpjVDEzaGR3WVNoMlMvWmlVOGhnTW5vQTNKNmdlWG1iYUxRZk91bUJZYWNVSkZ3VkpLc1p1UHlMVVZLelp2YUJWCk9lQ29CMHIxb0ZFKzAwMGNTcFBWRHR3YXJ4ZTRWbkMvQ2IzY3BTSmZhR3h5eGMyZkdxQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdHVpbEd3bFllT2w3NGlOM1c5dXlxSitheDc1VHljSFJzUUdGTFJwd2Fkb05LZkJqCm5BL0NmMUhWRjJWbGNUZUtYc1BNandnN2hPUTZvbm9OcTl4VitCdEVGMlRYMDhUcUVOWkRERW5XMThSWVNnajIKTG56blZRSGRtanhjclBvOUhrQ3hFamxZcXNtbFJhR0lud2I3dkNoS2xpT1NZcWh1MGdMem1vcjRjYXVhQmxXSwpXUUJvM2dDSk93RXhjcmhPcnFhLzRmTW9JOGZ3WmlhOFZ6U0NMTytzd3lKYXZrUERSaWFhNXZpV3pLVzhRNTg4CnZGMG56Q2x0SHVIaVJ2NzM5WjBVSmhiVCtWc3RtZkpqVFVaUGpLNUttbXg3dEpCZTFSMElvZ3o1U2kyU3BOTnYKakFtSWtxcDFSWWNpYzNDMFdnYVlFa0t4OVFMVXFGbnZXbzJnR3dJREFRQUJBb0lCQUREdU01eno5eE1CZ3Y2UAo5bEpBaDU3TWM1K1RydDUrVnhZL0RkMXZBVHVQOVkyT25WY1djRFdYTXFZN25kT1h4QkJ0Mkw4NnVKRm9iTGNpClo1M2VKN0ZqdWVkNE5yU1VMUG1zRit1bHBTKzdldEx6YXNnczZjVzM1Z3hvc1hJa3owelVpWW9TaFVITEI4ZUUKMndPUDNyQUxKMGphNDBJNVJNd3h0ZkZWMC9pME4yOWhvVElSQ1RXMW80OTFONEpva3pmaE84RHEyN0w1T3UxNQprdm94YisvK0lkZStad3BHVW1DQ0U2dElhUzRUWkxmcllOUXdMZVN0Mm9uTzZpS1pjQlJWV1RzaW1IdmFDYVMrCngxOGkvWWd2elJEYmVsd1BYZHhwbHNTMVdLVE5uaFlEM1lFakVmczhBc014a2ZlN0NFQWRFQTNnR3ZIa0d4N24KQVpWb3FBRUNnWUVBenQ0ZmFlbFVuV0tSM2Y1a1pYZlRoN0x3N2lOSFFvbEE5T3Bsb2hsaFdrbmdJRVRNM2RTawpRN0phbjNwYjRZOWdvNE9YZFVQaXg5UW5mMHdYZkNvUTFXN2lVOFdYaGVUUTlUcFJ5em9PdzJPWlMxR2Rxcm90CldnQjluWU5DZWV1STRJNlNGRzRoTFZITWwrMEFvcFJ0Sy9VVFpPSldtMHAyYkNWVlE5YmhzeHNDZ1lFQTRsbkkKcWFQTDN3SXg5d2llVkpuQ3dxZUoyQVY3U3ZqbWMybXk5aGMySUJrT3RFek5BZVdEdnNxVGp0TXNyUGV5dnNFVQpqenNFeFMwcGUzZHJpOE9EdkZpQ0lid3pGcnVNYXZqaDVGUEgrcnprVTFLNnJWc3pnV3E4N1JvTzdtM3B2K0JnCkJ1RHIvWmV3Z3VKY3VKL05ZNnNpK1kzMHVJcm56UnFjN21LRmx3RUNnWUIvT3FmUmFOdE1yTm9QMGEwSHB3bm4KTk12dmVxMFNJLzVhWTJzOHBpVjA5V2l1RUFKOEVKTXl1NWYyNjdkazQ5ekkxRjhybFNQK1NPSTk3WnVvRnVzaAppY0FUUzd4a2NoVitMVzh1OGJjd3Zxb0NZK0QzcHVmTHFlK1lGNm1qK0pQSG9JZ0Jucll5L0ZNN3dWMFpvUFlBCkNndnlpUzVBOWl3ZFdWeTJpNHRtcndLQmdRREl1d1NuNURsZEdLNUV2Q0RsTjhLdkt6S2tIeUJhdVdadFBYUlcKcHZqNStCN0JLRWE2QXRjVjhNSnc2N2QzNE9aa0lnaGdpTjlQR1NEcmZGa2toZ3Vpa1A4K2VZNzQvdk9rdmZoZApxeXJ5b21iOXVhVVJMWXI4bnpMU05jUytEejAzU3Z6OXZLT3JyY1Q4SFZCSzduU1BpZW9uVTR1TnlLbU9pNlpXCkJZc2hBUUtCZ0VIZzlrTzJtV2J4OFR2alhnNHljU0MrTXZMYjZTSTJGWDRrSkJxdVFYemJKSUlzdjNkaHk5QnkKbHRHTE8zdWQ0a096UEFGVFQ3UnJhWlZRS0NTVmpiRFRPNzYrQ0E0RGQxZWFYeGFhK0I2UzBCUk0xdGZ0OGhOeQo4cVRKcCtpK1hKWmQ0VDUxcS9LcXpZdTJLVzRJME9XYW50dzc3T0JmTWJMQVJPemRSWmJtCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

配置 kubectl 客户端

在客户端电脑完成如下配置,即可远程管理 Kubernetes 集群

Linux

# 执行命令
vi ~/.kube/config
将前面获得的 /etc/kubernetes/admin.conf 文件的内容粘贴进该文件并保存 # 配置 hosts
echo "x.x.x.x apiserver.demo" >> /etc/hosts

将 x.x.x.x 替换成 demo-master-a-1 的实际 IP 地址

将 apiserver.demo 替换成前面获得 /etc/kubernetes/admin.conf 文件中 clusters/cluster/server 中 URL 里 host 对应的部分

# 验证安装结果
kubectl get nodes
kubectl get pods -n kube-system

Windows

用记事本(或其他文本编辑器)创建文件 ~/.kube/config,其中 ~ 代表当前的用户目录

将前面获得的 /etc/kubernetes/admin.conf 文件的内容粘贴进该文件并保存

用记事本打开 C:\windows\System32\drivers\etc\hosts 文件(需要管理员权限),在该文件末尾添加一行记录:

x.x.x.x apiserver.demo

将 x.x.x.x 替换成 demo-master-a-1 的实际 IP 地址

将 apiserver.demo 替换成前面获得 /etc/kubernetes/admin.conf 文件中 clusters/cluster/server 中 URL 里 host 对应的部分

# 验证安装结果
kubectl get nodes
kubectl get pods -n kube-system

MAC

# 执行命令
vi ~/.kube/config
将前面获得的 /etc/kubernetes/admin.conf 文件的内容粘贴进该文件并保存 # 配置 hosts
echo "x.x.x.x apiserver.demo" >> /etc/hosts

将 x.x.x.x 替换成 demo-master-a-1 的实际 IP 地址

将 apiserver.demo 替换成前面获得 /etc/kubernetes/admin.conf 文件中 clusters/cluster/server 中 URL 里 host 对应的部分

# 验证安装结果
kubectl get nodes
kubectl get pods -n kube-system

在客户端电脑使用 kubectl 远程管理 Kubernetes的更多相关文章

  1. windows kubectl 远程操作k8s

    在windows 电脑上配置kubectl远程操作kubernetes 一.下载windows版的kubectl可执行文件 下载地址 二.创建.kube 建议使用git bash cd ~ mkdir ...

  2. 远程管理客户端--SCCM

    远程控制客户端(设备--启动--远程控制): 1.将该用户在SCCM中赋予 远程工具操作人员 权限后,可以通过ccm控制台连接客户端,即可以使用远程控制工具 客户端设置策略设置--远程工具--管理远程 ...

  3. 远程管理无管理员权限的PC客户端

    一.简介 为提高操作系统稳定性.流畅度,分公司同事PC用户没有administrator权限,导致同事不能对系统进行设置.不能自行安装软件.网管使用远程管理软件(如Teamviewer.QQ)为同事提 ...

  4. 解析ansible远程管理客户端【win终端为例】

    一.前提: 1.1.windows机器开启winrm服务,并设置成允许远程连接状态 具体操作命令如下 set-executionpolicy remotesigned winrm quickconfi ...

  5. Linux - 远程管理常用命令

    远程管理常用命令 目标 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01. 关机/重启 序号 命令 对应英文 作用 01 shut ...

  6. Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器

    作者:陈计节 个人博客:https://blog.jijiechen.com/post/powershell-remoting/ 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Se ...

  7. No-5.远程管理常用命令

    远程管理常用命令 目标 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01. 关机/重启 序号 命令 对应英文 作用 01 shut ...

  8. 安装 Helm3 管理 Kubernetes 应用

    文章转载自:http://www.mydlq.club/article/51/ 系统环境: Helm 版本:v3.5.0 Kubernetes 版本:v1.18.2 一.Helm 介绍 Helm 是一 ...

  9. linux-图形化远程管理协议

    远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...

随机推荐

  1. kubernetes 调度

    pod 分配给特定的node节点 目的:在一般业务场景,有些pod需要运行在特定的物理节点上,可以通过kubernetes的nodeSelector.nodeName安排pod到指定的节点上运行. # ...

  2. 我的sql没问题为什么还是这么慢|MySQL加锁规则

    前言 前阵子参与了字节跳动后端青训营,其中大项目编写涉及到数据持久化一般选择使用MySQL.由于时间原因,数据库使用我选择了无脑三板斧:1. 建立了索引加速查询.2. 关闭自动提交事务.3. 在需要确 ...

  3. #万答10:mysqldump 是如何实现一致性备份的

    万答10:mysqldump 是如何实现一致性备份的 实验场景 MySQL 8.0.25 InnoDB 实验步骤: 先开启 general_log 观察导出执行过程的变化 set global gen ...

  4. 超全selenium元素定位XPath、CSS

    说明:在HTML页面中,<p> 是一个标签,<p>hello</p> 是一个元素,元素由一个开始的标签和结束的标签组成.<font color="r ...

  5. MybatisPlus高级特性

    MybatisPlus高级特性 1. 公共字段自动填充 1.1 问题分析 在新增员工时需要设置创建时间.创建人.修改时间.修改人等字段,在编辑员工时需要设置修改时间.修改人等字段.这些字段属于公共字段 ...

  6. Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)

    C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由 ...

  7. java学习第二天多态.day09

    接口 接口总结 接口表示一种规约(规范.标准),它里面定义了一些列抽象方法(功能),它可以被多个类实现. 1接口名称首写字母用I,表示一个接口,后命名使用驼峰命名 2.接口中定义的都是抽象方法,所以可 ...

  8. linux 旁路掉协议栈的处理点

    对于协议栈的发展,目前有三种处理趋势,一种是类似于使用dpdk的方式,然后将协议栈放到用户态来做,做得比较好的一般都是以bsd的协议栈为底子,可以参考的是腾讯开源的的方案,另外一种是,继续放在内核,但 ...

  9. 痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设. 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地 ...

  10. mybatisplus-ActiveRecord 模式

    ActiveRecord 模式 直接调用Model对象来进行增删改查. 实体类只需继承 Model 类即可进行强大的 CRUD 操作 需要项目中已注入对应实体的BaseMapper 实体类User 点 ...