使用kubectl连接远程Kubernetes(k8s)集群
使用kubectl连接远程Kubernetes集群
- 环境准备
- 下载kubectl
- 下载地址
- 安装kubectl并处理配置文件
- Windows的安装配置
- 安装kubectl
- 拉取配置文件
- 安装kubectl
- 拉取配置文件
- kubectl命令自动补全
- Linux的安装配置
- 安装kubectl
- 拉取配置文件
- kubectl命令自动补全
环境准备
你需要准备一个Kubernetes集群,你要记下你安装Kubernetes的版本。如图我已经准备好了一个版本号为 v1.21.14
的集群:
下载kubectl
下载地址
注意下载的版本号最好与你安装的Kubernetes版本对应上,各个版本的下载地址(⚠️注意修改url中的版本号):
-
Windows:
- x86_64:
https://dl.k8s.io/release/版本号/bin/windows/amd64/kubectl.exe
- arm64:
https://dl.k8s.io/release/版本号/bin/windows/arm64/kubectl.exe
-
MacOS:
- Intel:
https://dl.k8s.io/release/版本号/bin/darwin/amd64/kubectl
- Apple Silicon:
https://dl.k8s.io/release/版本号/bin/darwin/arm64/kubectl
-
Linux:
- x86_64:
https://dl.k8s.io/release/版本号/bin/linux/amd64/kubectl
- arm64:
https://dl.k8s.io/release/版本号/bin/linux/arm64/kubectl
以 v1.21.14
的 MacOS M1芯片的电脑为例,我的下载地址就为(注意修改版本号):
https://dl.k8s.io/release/v1.21.14/bin/darwin/arm64/kubectl
安装kubectl并处理配置文件
本次会以MacOS、Windows、Linux三个系统为例为大家讲解。你可以在目录中快速点击你的操作系统,只看你自己的操作系统的内容即可。
Windows的安装配置
安装kubectl
因为我的Windows电脑是x86_64架构的,所以我的下载地址为(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/windows/amd64/kubectl.exe
然后我们创建一个目录去安装kubectl,如图:
每个目录的作用:
- bin: 装kubectl可执行文件的目录
- config: 配置文件的目录
接下来我们将kubectl下载到bin目录下:
然后我们可以执行下面命令查看帮助:
.\kubectl.exe --help
执行如图:
接下来我们需要配置一下环境变量,来到设置点击系统:
然后点击关于之后点击高级系统设置:
然后点击环境变量:
在环境变量下点击新建:
配置一个名为 KUBERNETES_HOME
的环境变量,值为你Kubernetes安装的根目录:
然后找到path之后将这行配置添加到最后:
%KUBERNETES_HOME%\bin
如图:
最后我们重启PowerShell就可以在任何地方执行kubectl了:
拉取配置文件
现在仅仅只是安装了kubectl,但是还没有指定kubectl去连接哪个集群。我们需要在Kubernetes主节点当中去拉取下来配置文件,这个配置文件当中一般还包含着认证信息。这个文件一般存放于主节点的 /etc/kubernetes/admin.conf
处,我们直接使用这行命令来拉取:
# 来到kubernetes的配置文件目录
cd E:\Software\Developer\Tools\Kubernetes\conf\
# 拉取配置文件,为了区分多个集群的配置文件,我们给其从新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如图:
然后我们需要配置一个 KUBECONFIG
环境变量名字去指向这个配置文件:
然后我们重启PowerShell就能远程工作apiserver为192.168.1.160的这台主机了:
安装kubectl
因为我的Mac电脑是M1芯片的,所以我的下载地址为(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/darwin/arm64/kubectl
然后我们创建一个目录去安装kubectl,如图:
每个目录的作用:
- bin: 装kubectl可执行文件的目录
- config: 配置文件的目录
接下来我们将kubectl下载到bin目录下:
然后我们还需要执行以下命令来为它赋予执行权限:
chmod +x kubectl
然后我们执行它(可能会被MacOS拦截,因为这个可执行文件不是来自受信任的开发者,这个问题请点击帮助按照苹果给出的文档解决):
./kubectl --help
执行如图:
这个文件我们目前还只能在本目录下执行,而我们还需要在任何位置都能执行,所以要配置环境变量。配置如下内容(注意修改你自己的安装目录):
# Set Kubernetes environment
KUBERNETES_HOME=/Users/xiaohh/Software/kubernetes
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME
再执行下面命令使其生效:
source /etc/profile
配置后如图,可以看到在命令行的任何位置都能使用kubectl了:
拉取配置文件
现在仅仅只是安装了kubectl,但是还没有指定kubectl去连接哪个集群。我们需要在Kubernetes主节点当中去拉取下来配置文件,这个配置文件当中一般还包含着认证信息。这个文件一般存放于主节点的 /etc/kubernetes/admin.conf
处,我们直接使用这行命令来拉取:
# 来到kubernetes的配置文件目录
cd ~/Software/kubernetes/config
# 拉取配置文件,为了区分多个集群的配置文件,我们给其从新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如图:
接下来我们还需要配置一个 KUBECONFIG
环境变量去指定kubectl使用哪个配置文件,在上一步的基础上优化环境变量:
# Set Kubernetes environment
KUBERNETES_HOME=/Users/xiaohh/Software/kubernetes
# 指定使用哪个配置文件的环境变量,注意后面的地址
KUBECONFIG=$KUBERNETES_HOME/config/192.168.1.160.conf
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME KUBECONFIG
修改后如图:
使这个文件生效,执行这行命令:
source /etc/profile
然后就可以直接在本地操作远程集群了:
kubectl命令自动补全
将下面三行添加到 /etc/profile
文件末尾:
autoload -Uz compinit
compinit
source <(kubectl completion zsh)
如图:
直接执行下面命令使其生效:
source /etc/profile
然后我们就可以使用命令补全了。
Linux的安装配置
安装kubectl
因为我的Linux虚拟机是x86_64架构的,所以我的下载地址为(注意修改自己的版本):
https://dl.k8s.io/release/v1.21.14/bin/linux/amd64/kubectl
然后我们创建一个目录去安装kubectl,如图:
每个目录的作用:
- bin: 装kubectl可执行文件的目录
- config: 配置文件的目录
接下来我们将kubectl下载到bin目录下:
然后我们还需要执行以下命令来为它赋予执行权限:
chmod +x kubectl
然后我们执行它:
./kubectl --help
执行如图:
这个文件我们目前还只能在本目录下执行,而我们还需要在任何位置都能执行,所以要配置环境变量。配置如下内容(注意修改你自己的安装目录):
# Set Kubernetes environment
KUBERNETES_HOME=/opt/environment/kubernetes
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME
再执行下面命令使其生效:
source /etc/profile
配置后如图,可以看到在命令行的任何位置都能使用kubectl了:
拉取配置文件
现在仅仅只是安装了kubectl,但是还没有指定kubectl去连接哪个集群。我们需要在Kubernetes主节点当中去拉取下来配置文件,这个配置文件当中一般还包含着认证信息。这个文件一般存放于主节点的 /etc/kubernetes/admin.conf
处,我们直接使用这行命令来拉取:
# 来到kubernetes的配置文件目录
cd /opt/environment/kubernetes/config/
# 拉取配置文件,为了区分多个集群的配置文件,我们给其从新命名
scp root@192.168.1.160:/etc/kubernetes/admin.conf ./192.168.1.160.conf
拉取后如图(里面有集群的apiserver地址,还有一些集群的证书和认证信息):
接下来我们还需要配置一个 KUBECONFIG
环境变量去指定kubectl使用哪个配置文件,在上一步的基础上优化环境变量:
# Set Kubernetes environment
KUBERNETES_HOME=/opt/environment/kubernetes
# 指定使用哪个配置文件的环境变量,注意后面的地址
KUBECONFIG=$KUBERNETES_HOME/config/192.168.1.160.conf
PATH=$PATH:$KUBERNETES_HOME/bin
export PATH KUBERNETES_HOME KUBECONFIG
修改后如图:
使这个文件生效,执行这行命令:
source /etc/profile
然后就可以直接在本地操作远程集群了:
kubectl命令自动补全
首先我们需要安装bash-completion,使用以下命令安装:
# ubuntu
apt-get install bash-completion
# centos
yum install -y bash-completion
然后执行bash-completion的主脚本:
source /usr/share/bash-completion/bash_completion
生成kubectl补全脚本,并执行它:
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
sudo chmod a+r /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl
然后我们就可以使用kubectl的命令自动补全了:
相关文章:

使用kubectl连接远程Kubernetes(k8s)集群
使用kubectl连接远程Kubernetes集群 环境准备下载kubectl下载地址 安装kubectl并处理配置文件Windows的安装配置安装kubectl拉取配置文件安装kubectl拉取配置文件kubectl命令自动补全 Linux的安装配置安装kubectl拉取配置文件kubectl命令自动补全 环境准备 你需要准备一个Kube…...

Kubernetes革命:云原生时代的应用编排和自动化
文章目录 什么是Kubernetes以及为何它备受欢迎?云原生应用和K8s的关系Kubernetes的核心概念:Pods、Services、ReplicaSets等部署、扩展和管理应用程序的自动化容器编排的演进:Docker到Kubernetes实际用例:企业如何受益于K8s的应用…...
mysql.mongoDb,neo4j数据库对比
#Mysql与MongoDb和Neo4j的一些对比 主要区别 MySQL: 1.MySQL是一种关系型数据库管理系统(RDBMS),广泛用于处理结构化数据。 2.它支持SQL语言,具备成熟的事务处理和数据一致性能力。 3.MySQL适用于大多数传统的基于表…...

unity使用UniStorm 5.1.0.unitypackage增加天气
添加天天气组件unistorm 然后添加一个player 导入包会报错,需要修改代码 using UnityEngine; using UnityEngine.PostProcessing;namespace UnityEditor.PostProcessing {[CustomPropertyDrawer(typeof(UnityEngine.PostProcessing.MinAttribute))]sealed class MinDrawer : …...

Flink实现kafka到kafka、kafka到doris的精准一次消费
1 流程图 2 Flink来源表建模 --来源-城市topic CREATE TABLE NJ_QL_JC_SSJC_SOURCE ( record string ) WITH (connector kafka,topic QL_JC_SSJC,properties.bootstrap.servers 172.*.*.*:9092,properties.group.id QL_JC_SSJC_NJ_QL_JC_SSJC_SOURCE,scan.startup.mode …...

Outlook屏蔽Jira AI提醒
前言:最近不知道为什么jira上的ai小助手抽风,一周发个几千封邮件…导致我现在都不想在邮箱里面跟找垃圾一样找消息了。实在忍无可忍,决定屏蔽AI小助手,方法很简单,follow me~~ 第一步:双击打开电脑版Outloo…...

毛玻璃 has 选择器卡片悬停效果
效果展示 页面结构 从上述的效果展示可以看到,页面是由多个卡片组成,并且鼠标悬停在卡片上时,会旋转用户图片并且韩式对应的用户信息框。 CSS3 知识点 :has 属性的运用 实现页面整体结构 <div class"container"><div…...
[hive]解决group by 字段超过系统规定64个
用开窗函数即可 ( row_number() over(partition by col1,...,col70 oder by xx) rn ) where rn1...
生成老年人的声音sox
sox laoren1.wav laoren2.wav pitch -300...

DC2DC电源设计注意事项--1,Feedback
电源采集图如下图 Feedback 采集电压点应该在靠近负载侧。这样可以减少大电流导线导致的电压差,真实反应输出电压值 FB_1P21采集电路靠近芯片侧, 2.1,采集分压电路上侧为Vout Vnoise, 那么一分压就噪声就小了。假如采集电路远离芯片侧&…...

计算机视觉处理的开源框架
计算机视觉是一门涉及图像和视频分析的领域,有许多开源的框架和库可用于构建计算机视觉应用程序。以下是一些常见的计算机视觉开源框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…...

最新AI智能创作系统源码AI绘画系统/支持GPT联网提问/支持Prompt应用
AI绘图专业设计 不得将程序用作任何违法违纪内容,不要让亲人两行泪 界面部分图解构: 前台show: 前端部署: 安装pm2管理器 点击设置 选择v16.19.1版本-切换版本 再新建一个网站 点击设置 添加反向代理-代理名称随便…...
2019架构真题案例(四十八)
系统应用集成构件统一标准的基础平台,在各个应用系统的接口之间数据共享和功能,基本原则是保证应用程序的()。系统应用集成提供了四个不同层次的服务,最上层服务是()。 独立性相关性互操作性排…...

zabbix自定义监控内容和自动发现
6 目录 一、自定义监控内容: 1.明确需要执行的 linux 命令 2.创建 zabbix 的监控项配置文件,用于自定义 key: 3. 在 Web 页面创建自定义监控项模板: 3.1 创建模板: 3.2 创建监控项: 3.3 创建触发器&#…...

导引服务机器人 通用技术条件
声明 本文是学习GB-T 42831-2023 导引服务机器人 通用技术条件. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 6 检验规则 6.1 检验项目 检验分为型式检验和出厂检验。检验项目见表2。 表 2 检验项目 序号 检验项目 技术要求 检验方法 出厂检验 型…...

今日头条文章采集ChatGPT3.5/4.0驱动浏览器改写文章软件说明文档
大家好了,我是淘小白~ 今天给大家介绍的软件是一个款驱动浏览器改写文章的软件,下面给大家做一下介绍说明: 一、软件语言 Python编写的,使用的库是selenium库 二、具体逻辑 1、整理头条文章网址,需要自己整理&…...

Mac系统清理工具BuhoCleaner
BuhoCleaner是一款在Mac电脑上运行的清洁软件。它的界面简洁,易于使用,能够快速扫描Mac电脑上的垃圾文件、重复文件、大型文件等,帮助用户清理不需要的文件,释放磁盘空间。 该软件的主要功能包括: 垃圾文件清理&…...

SpringBoot集成WebSocket讲解
文章目录 1 WebSocket1.1 简介1.2 WebSocket作用和调用1.2.1 作用1.2.2 js端调用 1.3 Javax1.3.1 服务端1.3.1.1 服务端接收1.3.1.2 服务端集成1.3.1.3 ping和pong消息 1.3.2 客户端1.3.2.1 客户端接收1.3.2.2 客户端发送 1.4 WebMVC1.4.1 服务端1.1.4.1 服务端接收1.1.4.2 服务…...

GNOME 45 动态三层缓存补丁更新
导读GNOME 45 "Rīga" 上周已正式发布,此版本虽然有许多针对桌面环境的改进,但上游缺少的一个功能是 Canonical 主导的 Mutter 动态三层缓存。 动态三层缓存用于在需要时提升性能,并且已被证明有助于提高桌面渲染性能,…...
[论文笔记]Poly-encoder
引言 本文是Poly-encoder1的阅读笔记,论文题目为基于预训练模型的快速准确多句评分模型。 也是本系列第一篇基于Transformer架构的模型,对于进行句子对之间比较的任务,有两种常用的途经:Cross-encoder在句子对上进行交互完全自注意力;Bi-encoder单独地编码不同的句子。前…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...