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. Go组件库总结之无等待锁

    本篇文章我们用Go封装一个无等待锁库.文章参考自:https://github.com/brewlin/net-protocol 1.锁的封装 type Mutex struct { v int32 ...

  2. XenForo论坛安装

    1.下载安装程序,程序可以到qq群里面找,或者是联系我 2.域名+/install安装 3.汉化后台,访问https://www.cnxfans.com/resources/xenforo-2-x.1 ...

  3. Lombok Requires Annotation Processing

    当你打开一个项目启动的时候报这样的错误 这种错误 打开这个设置

  4. JAVA学习笔记-10

    String类: 字符串是一个特殊的对象.字符串最大的特点:一旦被初始化就不可以被改变. String类适用于描述字符串事物.那么它就提供了多个方法对字符串进行操作. 常见的操作: 1.获取: int ...

  5. jenkins+stf+airtest实现移动端自动化测试平台

    背景: 公司android测试机比较多没有统一的管理: app自动化测试时获取设备的状态比较麻烦,通过STF可以轻松获取: 自动化异常场景时.可远程操控设备: 需要随时了解设备情况: 装逼 前提: 已 ...

  6. vue 点击元素滚动到指定位置(滑动到指定位置对应标签自动选中)

    一:各个模块不相同情况 1.内容部分<div class="anchor"> <div v-for="(item,index) in anchors&q ...

  7. CAD中相交线怎样打断?CAD打断相交线步骤

    在CAD设计过程中,如果想要打断图纸中相交线该如何操作呢?大家第一个想到的是不是CAD打断命令?没错,CAD打断命令是可以实现的,但是过于麻烦,今天小编来给大家分享一个更简单的方法,那就是浩辰CAD软 ...

  8. https代理服务器(四)java动态签发【失败】

    https://zhuanlan.zhihu.com/p/355241710?utm_id=0 http://t.zoukankan.com/xiaxj-p-8961131.html https:// ...

  9. tomcat反向代理,监控,性能优化详细步骤

    第1章 tomcat简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同 ...

  10. Mac下Virtual Box 6.1 Host-Only 网络配置 没有虚拟网卡

    Virtual Box 6.1 mac下 Virtual Box Host-Only 没有 vboxnet0 点击 tools -> 右边的三杆,点 Network 可以添加,修改,删除  虚拟 ...