在客户端电脑使用 kubectl 远程管理 Kubernetes
日常工作中,可能需要在自己的笔记本电脑上执行 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的更多相关文章
- windows kubectl 远程操作k8s
在windows 电脑上配置kubectl远程操作kubernetes 一.下载windows版的kubectl可执行文件 下载地址 二.创建.kube 建议使用git bash cd ~ mkdir ...
- 远程管理客户端--SCCM
远程控制客户端(设备--启动--远程控制): 1.将该用户在SCCM中赋予 远程工具操作人员 权限后,可以通过ccm控制台连接客户端,即可以使用远程控制工具 客户端设置策略设置--远程工具--管理远程 ...
- 远程管理无管理员权限的PC客户端
一.简介 为提高操作系统稳定性.流畅度,分公司同事PC用户没有administrator权限,导致同事不能对系统进行设置.不能自行安装软件.网管使用远程管理软件(如Teamviewer.QQ)为同事提 ...
- 解析ansible远程管理客户端【win终端为例】
一.前提: 1.1.windows机器开启winrm服务,并设置成允许远程连接状态 具体操作命令如下 set-executionpolicy remotesigned winrm quickconfi ...
- Linux - 远程管理常用命令
远程管理常用命令 目标 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01. 关机/重启 序号 命令 对应英文 作用 01 shut ...
- Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器
作者:陈计节 个人博客:https://blog.jijiechen.com/post/powershell-remoting/ 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Se ...
- No-5.远程管理常用命令
远程管理常用命令 目标 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01. 关机/重启 序号 命令 对应英文 作用 01 shut ...
- 安装 Helm3 管理 Kubernetes 应用
文章转载自:http://www.mydlq.club/article/51/ 系统环境: Helm 版本:v3.5.0 Kubernetes 版本:v1.18.2 一.Helm 介绍 Helm 是一 ...
- linux-图形化远程管理协议
远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...
随机推荐
- 5-11 Redis缓存 | 持久化 | 集群_哨兵_主从复制_读写分离
Redis 强化 缓存淘汰策略 Redis服务器繁忙时,有大量信息要保存 如果Redis服务器内存全满,再要往Redis中保存新的数据,就需要淘汰老数据,才能保存新数据 noeviction:返回错误 ...
- Template -「整体二分」
写的简单.主要是留给自己做复习资料. 「BZOJ1901」Dynamic Rankings. 给定一个含有 \(n\) 个数的序列 \(a_1,a_2 \dots a_n\),需要支持两种操作: Q ...
- Codeforces 缺省源
#include <cstdio> #include <algorithm> #include <vector> using namespace std; type ...
- [spring]spring的bean自动装配机制
7.bean的自动装配 是spring满足bean依赖的一种方式 spring会在上下文中自动寻找,并自动给bean装配属性 spring的装配方式: (1)手动装配 在people类中依赖了cat和 ...
- 【Docker】使用Docker Client和Docker Go SDK为容器分配GPU资源
目录 背景 使用 Docker Client 调用 GPU 依赖安装 安装 Docker 安装 NVIDIA Container Toolkit¶ --gpus 用法 使用 Docker Go SDK ...
- LyScript 实现对内存堆栈扫描
LyScript插件中提供了三种基本的堆栈操作方法,其中push_stack用于入栈,pop_stack用于出栈,而最有用的是peek_stack函数,该函数可用于检查指定堆栈位置处的内存参数,利用这 ...
- 高考集训讲课(To 高一)
高考集训讲课(To 高一) 主要是怕下午讲着讲着把自己讲懵了,有一定的迷糊概率 经过机房的讨论,一致认为插头\(DP\)实用性不大,所以这次不讲了,先把重要的讲一讲. 顺便吐槽一下,凭什么另外几个人都 ...
- 3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力
2022 年 4 月 22 日,Apache DolphinScheduler 正式宣布 3.0.0 alpha 版本发布!此次版本升级迎来了自发版以来的最大变化,众多全新功能和特性为用户带来新的体验 ...
- DOM及DOM相关操作
DOM 概述: DOM 全称(document object model)文档对象模型(文档指定为对应html文档),对应的DOM就是操作HTML文档的(增删改查) DOM结构 document 文档 ...
- Java-文件File简单实用
1.1java.io.File File用于表示文件系统中的一个文件或目录 通过File可以: 1:访问该文件或目录的属性信息(名字,大小,修改时间等) file.getName();获取文件名 fi ...