日常工作中,可能需要在自己的笔记本电脑上执行 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. Taro框架完美使用Axios

    前言 众所周知,在H5前端开发中,axioshttp库几乎是必选.大部分人都对它的使用非常熟悉.然而在小程序开发中,axios怎么没法用,需要使用对应平台提供的http接口,如微信小程序的wx.req ...

  2. H5移动端实现一键复制或长摁复制

    今天接到了一个新的需求,要求我们对表单中的某一个字段进行复制,这个表单是不可选的,拿到需求的时候有点懵,不清楚下手点在哪,后来网上找了找,终于有了点眉目,感觉网上有些是实现不了的,特地在这里记录下进行 ...

  3. net core天马行空系列-各大数据库快速批量插入数据方法汇总

    1.前言 hi,大家好,我是三合.我是怎么想起写一篇关于数据库快速批量插入的博客的呢?事情起源于我们工作中的一个需求,简单来说,就是有一个定时任务,从数据库里获取大量数据,在应用层面经过处理后再把结果 ...

  4. Two---python循环语句/迭代器生成器/yield与return/自定义函数与匿名函数/参数传递

    python基础02 条件控制 python条件语句是通过一条或多条语句的执行结果(Ture或者False)来执行的代码块 python中用elif代替了else if,所以if语句的关键字为:if- ...

  5. 面试突击75:SpringBoot 有几种读取配置文件的方法?

    Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件. 使用 @ConfigurationProperties 读取配置文件. 使用 Environment 读 ...

  6. MySQL查询性能优化七种武器之链路追踪

    MySQL优化器可以生成Explain执行计划,我们可以通过执行计划查看是否使用了索引,使用了哪种索引? 但是到底为什么会使用这个索引,我们却无从得知. 好在MySQL提供了一个好用的工具 - opt ...

  7. P7727 风暴之眼 Eye of the Storm (树形 DP)

    谨 以 此 文 表 达 笔 者 个 人 观 点 , 如 有 冒 犯 官 解 , 可 在 评 论 区 诉 说 _{^{_{谨以此文表达笔者个人观点,如有冒犯官解,可在评论区诉说}}} 谨以此文表达笔者个 ...

  8. [CF1538E] Funny Substrings (模拟)

    题面 该场 Div. 3 最"难"的一道题:Funny Substrings O I D \tt OID OID 队长喜欢玩字符串,因为 " O n e I n D a ...

  9. 【HTML】学习路径3-段落标签和标题标签

    第一章:标题标签 <h1>  </h1> <h2>  </h2> 等等... 数字越大,字体尺寸越小. <!--标题会加粗.独占一行--> ...

  10. 【java】学习路径45-多线程-线程生命周期

    线程分为五大状态:新建.就绪.运行.阻塞.死亡. New,Runnable,Running,Blocked,Terminated. 新建状态(New: 创建好一个系统对象,在调用start()之前,线 ...