kubectl是一个用于连接Service Mesh控制平面的工具,可以安装在办公电脑的Windows系统上,也可以安装在虚拟机的Linux系统上,只要网络能与控制平面的公网地址互通即可。下面分别介绍在Windows系统和Linux系统的安装方法。

1. Windows上安装kubectl

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不指定配置文件使用的示例:

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工具安装指南的更多相关文章

  1. rancher下的kubernetes之三:在linux上安装kubectl工具

    本章是<rancher下的kubernetes>系列之三,前面两章我们完成了racher下搭建kubernetes环境的实战,本章我们来安装kubectl工具: 系列文章地址 <ra ...

  2. 容器编排系统之Kubectl工具的基础使用

    前文我们了解了k8s的架构和基本的工作过程以及测试环境的k8s集群部署,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14126750.html:今天我们主要来 ...

  3. kubectl工具管理应用

    kubectl工具管理应用 创建一个pod [root@k8s-master ~]# kubectl run nginx --replicas=3 --labels="app=nginx-e ...

  4. kubectl工具的windows安装方法

    1.首先安装Chocolatey 参考:https://chocolatey.org/install#install-with-powershellexe windows7+以上操作系统的cmd sh ...

  5. kubectl工具管理应用生命周期

    ######kubectl管理工具###### [root@k8s-master dashboard]# kubectl get pod NAME READY STATUS RESTARTS AGE ...

  6. kubernetes进阶(一) kubectl工具使用详解

    管理k8s核心资源的三种基本方法: 一.陈述式-主要依赖命令行工具  --可以满足90%以上的使用场景,但是缺点也很明显: 命令冗长,复杂,难以记忆 特定场景下,无法实现管理需求 对资源的增.删.查操 ...

  7. Kubectl工具常用命令

    创建namesapce kubectl create namespace {name} 注意:name只能为小写字母.数字和-的组合,且开头结尾为字母,一般格式为my-name 123-abc等. 创 ...

  8. kubectl工具的windows\linux安装方法

    kubectl 安装 下载kubectl二进制文件 curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.10.0 ...

  9. MAT内存分析工具安装指南(MAT)

    https://blog.csdn.net/mahl1990/article/details/79298616

  10. Centos7部署kubectl命令行工具(五)

    1.准备二进制包 [root@linux-node1 ~]# cd /usr/local/src/kubernetes/client/bin [root@linux-node1 bin]# cp ku ...

随机推荐

  1. xh_零基础网站渗透第一部

    一.认识常见网站类型 1.1asp:asp是动态服务器页面(active server page)的英文缩写.是微软公司开发的代替cgi脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单 ...

  2. Python学习笔记(二)变量的使用

    一.变量的定义 把程序运算的中间结果临时存到内存里,以备后面的代码继续调用,这几个名字的学名就叫做"变量" 可以把变量看做保存信息的容器,它们的目的是在内存中标注和存储数据,然后可 ...

  3. 记录一次antd升级到最新版本,与现有代码冲突导致的问题

    背景:发版的前一夜,测试突然发现项目某个功能点击弹框会导致整个页面直接空白,立即提了个单要我赶紧修复.(内心真是一万个卧槽)本来准备不加班的.没办法,那只能解决.第一步就怀疑是不是谁动了代码,毕竟一两 ...

  4. 无界面Linux系统和Windows系统使用selenium爬取CNVD数据

    因为CNVD官网采用了反爬机制,所以使用selenium能够更容易的爬取漏洞数据 1.在Windows中使用 注意根据chrome版本下载对应chromedriver 2.在无界面的Linux中使用 ...

  5. vue-seamless-scroll 组件用法-区域内容滚动效果

    1.滚动效果 2.代码 <div class="page-container" style=""> <vue-seamless-scroll ...

  6. Beaver解析代码反向生成语法文件

    背景 Beaver是一款LALR的语法生成工具,现在有一个反编译项目的需求,需要将Beaver语法文件编译后的代码反向生成语法文件的需求,不去评论需求多么傻逼,直接干 设计 flowchart 语法文 ...

  7. oracle学习之undo读一致性及undo表空间设置大小

    1.一致性读和事务 一个事务开始以后,分配undo段头事务表和undo块,事务表指向undo块,数据块中有事务槽,底下有数据行,数据块事务槽中事务ID指向事务表,事务表指向undo块,数据块事务槽也指 ...

  8. BIP弹框内容显示的隐藏

    viewModel.on("customInit", function (data) {         // 关闭或取消关原因详情--页面初始化         viewMode ...

  9. 【小记】copy 与 copy_backward

    copy 与 copy_backward copy 从前往后复制,result 参数指向目标容器的 begin 位置 copy*backward 从后往前复制,··· end 位置 Possible ...

  10. Iframe 默认高度、宽度

    项目中还在使用 Iframe ,一次看代码时发现 Iframe 没有指定高度.宽度,可是在页面上显示的时候却有高度.宽度.想着应该是 Iframe 的默认值,于是写了一个简单的页面,代码如下: 1 & ...