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. KVM虚拟机的认知

    Kernel-based Virtual Machine简称KVM,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理 ...

  2. 【驱动】libjpeg 库的移植

    1.下载库  http://www.ijg.org/  下载  jpegsrc.v9e.tar.gz 2.准备好空文件夹位置 opt/libdecode  opt/libdecode/lib  opt ...

  3. android判断是否连接wifi跟网络状态的判断及wifi信号强度的方法

    场景:android判断是否连接wifi跟网络状态的判断 android判断是否连接wifi和网络状态的判断 // 是否连接WIFI public static boolean isWifiConne ...

  4. K8S-pod详解

    目录: namespace六大类型 Pod基础概念 Pod两种使用方式 通常把Pod分为两类 Pod容器的分类 init的容器作用 镜像拉取策略(image PullPOlicy) 部署harbor创 ...

  5. prepare

    目标: 自动驾驶感知负责深度学习感知算法开发,包括目标识别.分割.检测.多目标追踪等有扎实的数理基础,有Linux.ROS.QNX等开发经验,熟悉C/C++编程,有良好的编程习惯 他人简历: skil ...

  6. docker 安装 elasticsearch7.6.2 kibana7.6.2

    [root@abcdefg bin]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6896f6e3202c ...

  7. svn 中如何checkout出单个文件

    A 通过命令行操作 1.检出目录images svn co --depth=empty http://www.iusesvn.com/project1/images images_work_dir 这 ...

  8. absible笔记第一章 (ansibles基础与playbook常用模块)

    一. ansibles基础与playbook 1.优先级问题 ANSIBLE_CONFIG                        ansible.cfg 项目目录                ...

  9. AWS RedShift实战应用SQL大全及经验分享[持续更新]

    文章目录 前言 - 关于RedShift 一.数据维护篇 1.1 表结构操作 1.2 数据添加与查询 1.3 数据修改与删除 1.4 事物操作 二.SQL结构篇 2.1 使用with封装代码 2.2 ...

  10. 我与CSP的一点小事

    今天是20220311 见了YG老师,感觉被打了鸡血.然后想当初研一的时候,有了这篇LeetCode习题集 现在突然有了一点刺激之后,决定记录下这次的CSP经历,说无论怎么样是the shit,这次就 ...