kubectl工具安装指南
kubectl是一个用于连接Service Mesh控制平面的工具,可以安装在办公电脑的Windows系统上,也可以安装在虚拟机的Linux系统上,只要网络能与控制平面的公网地址互通即可。下面分别介绍在Windows系统和Linux系统的安装方法。
1.1. 使用curl下载kubectl客户端工具
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/windows/amd64/kubectl.exe
这里下载的版本是v1.19.0,要查看当前的稳定版本,可以在浏览器中打开如下网址:
https://storage.googleapis.com/kubernetes-release/release/stable.txt
获取到最新稳定版本后,可以将上述curl下载命令中的v1.19.0替换为当前的稳定版本。
1.2. 将kubectl工具放到系统path环境变量中已经有的目录下
下载之后的kubectl.exe是一个可执行文件,将其放置到系统path环境变量已经有的目录下,即可在cmd中使用kubectl命令。
首先在cmd中使用path命令查看系统的path环境变量

然后将kubectl.exe文件复制到上图中任何一个目录,比如C:\Windows。
当然也可以将kubectl.exe放到一个你想要放置的目录,然后将该目录加入到path环境变量中。
最后在cmd上使用命令kubectl version --client确认是否安装成功。

1.3. 配置kubectl客户端
客户端安装完成后需要进行配置,才能连接上服务器。默认情况下kubectl客户端首先会到当前用户的HOME目录下的.kube目录查找config文件读取其中的配置。
在cmd上使用命令cd %USERPROFILE%切换到当前用户的HOME目录。
使用命令mkdir .kube创建.kube目录(注意kube前面有一个点(.))。
将开发人员给的配置文件重命名为config,然后复制到刚刚创建的.kube目录下。
(要连接到Service Mesh控制平面,需要研发提供一个配置文件,配置文件中有控制平面的IP地址及认证秘钥等信息)
最后使用kubectl version命令确认是否可以连接上服务器

如果第二行的Sever Version显示正常,则说明连接服务器正常,否则连接失败,需要确认是否网络是否正常,或者配置文件配置是否有问题。
2. Linux上安装kubectl
2.1. 使用curl下载kubectl客户端工具
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
该curl命令已经指定下载最新稳定版本,如果想要下载特定版本,可以将$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)替换为版本号。

将下载后的kubectl可执行文件添加可执行权限
chmod +x ./kubectl

将kubectl工具放到系统path环境变量中已经有的目录下
使用命令sudo mv ./kubectl /usr/local/bin/kubectl将kubectl文件移到/usr/local/bin/目录下。
然后使用命令kubectl version --client确认是否安装成功。

客户端版本号显示正常说明安装成功。
2.2. 配置kubectl客户端
切换到当前用户的的HOME目录
cd ~
创建 .kube 目录:
mkdir .kube
(该目录被创建后使用ls命令不能显示,因为以点开头的目录是隐藏的,使用ls -a命令可以显示隐藏目录)
将配置文件重命名为config,然后放置到刚刚创建的.kube 目录
最后测试配置是否成功。
kubectl version

这里只介绍了windows和Linux的安装方法,macOS方法与Linux类似,具体可参考官方文档:
https://kubernetes.io/docs/tasks/tools/install-kubectl/
3. kubectl使用配置文件连接测试环境
3.1. 命令中不指定配置文件
使用kubectl命令如果没有指定配置文件,则默认情况下,kubectl 在 $HOME/.kube 目录下查找名为 config 的文件。HOME是当前用户的home目录,在Linux中,如果用户名为centos则当前用户的HOME目录为: /home/centos,使用命令 cd ~可进入该目录。在Windows中,cmd中输入cd %homepath%可进入当前用户的HOME目录。
一个config文件的示例如下:
apiVersion: v1
clusters:
- cluster:
server: https://XXX:XXX
certificate-authority-data: XXXX
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: "kubernetes-admin"
name: kubernetes-admin-XXX
current-context: kubernetes-admin-XX
kind: Config
preferences: {}
users:
- name: "kubernetes-admin"
user:
client-certificate-data: XXXXX==
client-key-data: XXXXXXX=
kubectl get pods -n namespace
3.2. 命令中指定配置文件
实际使用的时候,更常见的是将配置文件放置在特定的目录中,然后在kubectl命令中指定某个配置文件,即可连接配置文件中的测试环境。
指定配置文件的使用示例:
kubectl --kubeconfig=/home/centos/vc_1.config get pods -n namespace
如果配置文件在当前目录下则可以省略命令中的目录路径:
kubectl --kubeconfig=vc_1.config get pods -n namespace
kubectl工具安装指南的更多相关文章
- rancher下的kubernetes之三:在linux上安装kubectl工具
本章是<rancher下的kubernetes>系列之三,前面两章我们完成了racher下搭建kubernetes环境的实战,本章我们来安装kubectl工具: 系列文章地址 <ra ...
- 容器编排系统之Kubectl工具的基础使用
前文我们了解了k8s的架构和基本的工作过程以及测试环境的k8s集群部署,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14126750.html:今天我们主要来 ...
- kubectl工具管理应用
kubectl工具管理应用 创建一个pod [root@k8s-master ~]# kubectl run nginx --replicas=3 --labels="app=nginx-e ...
- kubectl工具的windows安装方法
1.首先安装Chocolatey 参考:https://chocolatey.org/install#install-with-powershellexe windows7+以上操作系统的cmd sh ...
- kubectl工具管理应用生命周期
######kubectl管理工具###### [root@k8s-master dashboard]# kubectl get pod NAME READY STATUS RESTARTS AGE ...
- kubernetes进阶(一) kubectl工具使用详解
管理k8s核心资源的三种基本方法: 一.陈述式-主要依赖命令行工具 --可以满足90%以上的使用场景,但是缺点也很明显: 命令冗长,复杂,难以记忆 特定场景下,无法实现管理需求 对资源的增.删.查操 ...
- Kubectl工具常用命令
创建namesapce kubectl create namespace {name} 注意:name只能为小写字母.数字和-的组合,且开头结尾为字母,一般格式为my-name 123-abc等. 创 ...
- kubectl工具的windows\linux安装方法
kubectl 安装 下载kubectl二进制文件 curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.10.0 ...
- MAT内存分析工具安装指南(MAT)
https://blog.csdn.net/mahl1990/article/details/79298616
- Centos7部署kubectl命令行工具(五)
1.准备二进制包 [root@linux-node1 ~]# cd /usr/local/src/kubernetes/client/bin [root@linux-node1 bin]# cp ku ...
随机推荐
- (0724) 格雷码 verilog
https://blog.csdn.net/gordon_77/article/details/79489548 assign gray_value = (binary_value >> ...
- 区间(环形)dp
1 #include <iostream> 2 3 using namespace std; 4 5 const int MAXN=110; 6 7 int n; 8 int a[MAXN ...
- 【离线数仓环境搭建】安装linux及安装JDK
创建新的虚拟机 配置网络 安装vim sudo yum install -y vim 修改免密 sudo vim /etc/sudoers (执行安装命令的时候,不再需要输入密码) 查看防火墙状态 s ...
- linux环境下mariadb10.5.16的数据存储目录修改
mysql或mariadb的数据,一般默认存在/var/lib/mysql目录下,本文介绍把mariadb数据存到容量较大的目录中,如/home 操作步骤: 1.将/var/lib/mysql的数据复 ...
- eval对函数this指向的影响
js eval() 对 this 指向的影响 const fn = () => { console.log('fn this is:', this) } function evalWrapper ...
- python33
Python逻辑运算符 Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔"与" - 如果 x ...
- 对mvc模式的理解
Model-View-Controller MVC模式是个威力强大的复合模式,是由数个设计模式结合起来的模式: 我们先看一下一个mp3播放器的设计,来由浅至深地了解这个设计模式的精髓所在: 从最直观的 ...
- Jmeter 实现Json格式接口测试
接口Request Headers中的Content-Type和和charset 在"HTTP请求"中添加UTF-8 在"HTTP信息头管理器"中添加Conte ...
- crontab计划运行shell脚本,调用ncl执行失败
编写了bash脚本,调用ncl脚本绘图,在前台运行时候无误,但是加入crontab任务就是始终无法出图,并且无错误输出. 经过搜索,问题得到解决.是环境变量的问题.所有执行的命令,和文件都要指定完整的 ...
- android 打包任务在gradle中
//打包任务task makexxxxxxJar(type: Jar) { //指定生成的jar名 baseName xxxxxx //从哪里打包class文件 from('build/interme ...