Windows下安装kubectl及Node和Pod操作常用命令
kubernetes通过kube-apiserver作为整个集群管理的入口。Apiserver是整个集群的主管理节点,用户通过Apiserver配置和组织集群,同时集群中各个节点同etcd存储的交互也是通过Apiserver进行交互。Apiserver实现了一套RESTfull的接口,用户可以直接使用API同Apiserver交互。另外官方还提供了一个客户端kubectl随工具集打包,用于可直接通过kubectl以命令行的方式同集群交互
项目中部分服务用了k8s部署,研测环境部门搭的集群,版本较低且集群中的机器经常出故障,平时工作中难免需要去k8s中看一些POD或节点状态信息等,这里记录一下如何在window下配置kubectl以及工作中常用操作node和pod的命令
windows下配置kubectl
下载
下载地址:https://dl.k8s.io/release/v1.21.0/bin/windows/amd64/kubectl.exe
官网链接:https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/#install-kubectl-binary-with-curl-on-windows
配置环境变量
【这台电脑】→【属性】→【高级系统配置】
path中增加 D:\xxx\tools\kube,此目录即是存放kubectl.exe的目录,配置好了我们可以直接再cmd运行kubectl试一下效果

这时我们的kubectl就相当安装好了
配置kubeconfig
kubectl默认会从$HOME/.kube目录下查找文件名为 config 的文件,也能通过设置环境变量 KUBECONFIG 或者通过设置去指定其它 kubeconfig 文件,kubeconfig就是为访问集群所作的配置。那么在windows中我们对应的目录就在C:\Users\xxx.kube下的config文件,我们可以把我们config文件放入config中去,这样我们就可以用kubectl直接访问k8s集群了
同样如果想用一些grep之类的命令,可以使用 Git Bash 客户端操作,如下:
kubectl get pods -n 375-xxx-pre
NAME READY STATUS RESTARTS AGE
xxx-pre-xxx-85f4ff7998-7bz6s 0/1 CrashLoopBackOff 345 36d
xxx-pre-xxx-696d949fbf-8qccb 1/1 Running 223 49d
xxx-pre-xxx-xxx-v4-6cf49766d6-zc9b2 1/1 Running 1 6h
xxx-pre-xxx-xxx-v4-5bd5b69898-wglpz 1/1 Running 0 11h
xxx-pre-xxx-xxx-v4-7bb478c5fc-xlhxk 1/1 Running 0 6h
edu-asyn-xxx-55bcbdffc5-pf9l8 1/1 Running 0 7d
nginx-ingress-controller-5b548fbf68-4jjn9 1/1 Running 0 1y
term-xxx-c7795745c-vljdf 1/1 Running 0 330d
texlive-python-api-7b69cd5fd7-zhfcs 1/1 Running 0 14d
web-open-695b4bf966-j9k7g 1/1 Running 0 329d
常用的kubectl命令
node操作
# 查询节点信息
kubectl get nodes
# 查询节点更多信息
kubectl get nodes -o wide
# 暂停节点
kubectl cordon node_xxx
# 恢复节点
kubectl uncordon node_xxx
# 温和的驱除节点(操作需谨慎)
kubectl drain node_xxx
# 暴力删除(操作需谨慎)
kubectl delete node node_xxx
pod操作
# 创建pod,定义号pod_xxx.yaml
kubectl create -f pod_xxx.yaml
# 查询所有pod信息
kubectl get pods
# 更多信息
kubectl get pods -o wide
# 查询单个namespace下的pods详细信息
kubectl get pods -n namespace_xxx -o wide
# 查看单个pod信息
kubectl get pod pod_xxx -n namespace_xxx -o wide
# 跟踪pod日志
kubectl logs -f pod_xxx -n namespace_xxx
# 进入单个pod
kubectl exec -it pod_xxx -n namespace_xxx bash
# 查看单个pod状态和生命周期
kubectl describe pod pod_xxx -n namespace_xxx
# JSON格式显示Pod的完整信息
kubectl get pod pod_xxx -n namespace_xxx --output json
# YAML方式显示Pod的完整信息
kubectl get pod pod_xxx -n namespace_xxx --output yaml
# 更新pod
kubectl replace -f pod_xxx.yaml
# 重建pod,Pod的很多属性没办法修改,比如容器镜像,这时候可以采用--force参数
kubectl replace --force -f pod_xxx.yaml
# 删除单个pod
kubectl delete pod pod_xxx
# 删除所有pod O(∩_∩)O
kubectl delete pod --all
其他
# 查看副本数,默认都是一个
kubectl get deployments
# 设置副本数量,增加到3个
kubectl scale deployments/xxx --replicas=3
# 重新缩减到一个
kubectl scale deployments/xxx --replicas=1
# ……
参考链接
关于kubectl相关有博主总结的很好,若想查看更多请移步:
Kubernetes之kubectl常用命令:https://blog.csdn.net/xingwangc2014/article/details/51204224
Windows下安装kubectl及Node和Pod操作常用命令的更多相关文章
- windows下安装Mongodb_4.0.6最新版及常用命令
今天下载了最新版Mongodb进行安装,发现相比较于以前,方便了很多,直接下载: 一.下载地址:https://www.mongodb.com/download-center/enterprise 二 ...
- windows下安装mongodb以及node.js连接mongodb
一.MongoDB 下载 下载地址 https://www.mongodb.com/download-center#community 选择windows版下载,然后安装. 二.安装完毕后创建数据 ...
- 20200221_python虚拟环境在Windows下安装配置_virtualenv不是内部或外部命令也不是可运行的程序或批处理文件
1. 使用管理员启动命令行; 2. 安装虚拟环境 a) .\pip install virtualenv -i https://pypi.douban.com/simple/ b) ...
- Ubuntu下安装Docker,及Docker的一些常用命令操作
1.什么是 Docker Docker 是一个开源项目,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC ...
- Windows下安装node
1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...
- Windows 下安装 Node.js
搭建博客系列的 Node.js 环境安装.Windows 下面安装可以通过图形化界面进行安装,非常方面. 1.打开 Node.js 官网,下载对应版本的安装包(msi 后缀的) 2.双击运行下载的程序 ...
- windows下安装node【转】
windows下安装node报错2503.2502 windows下命令行安装,首先使用管理员权限获取cmd msiexec /package node-v10.16.0-x64.msi 根据提示一步 ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
随机推荐
- OCR横向评测 -- 软工案例分析
目录 第一部分 调研&评测 使用感受 1. 使用门槛 2. 界面设计 3. 数据标注 4. 模型训练 5. 模型预测 6. 体验评价与改进建议 好的方面: 可能需要改进的方面: 7. BUG反 ...
- 17.继承 and18.接口和多态 内部类 匿名内部类,Lambda表达式
1. 继承 1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 ...
- Linux进阶之Linux中的标准输入输出
Linux中的标准输入输出 标准输入0 从键盘获得输入 /proc/self/fd/0 标准输出1 输出到屏幕(即控制台) /proc/self/fd/1 错误输出2 输出到屏幕(即 ...
- 关于STM32的可编程电压检测器的使用方法
关于STM32的可编程电压检测器的使用方法 思维导图总览: 代码: 1 #include "sys.h" 2 #include "delay.h" 3 #inc ...
- 5.1-5 uname、hostname、dmesg、stat、du
5.1 uname:显示系统信息 uname命令用于显示系统相关信息,比如内核版本号.硬件架构等. -a 显示系统所有相关信息 -v 显示内核版本 -m 显示计算机硬件架构 ...
- [论文阅读笔记] Structural Deep Network Embedding
[论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...
- GO学习-(16) Go语言基础之文件操作
Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open( ...
- MongoDB学习笔记:MongoDB 数据库的命名、设计规范
MongoDB学习笔记:MongoDB 数据库的命名.设计规范 第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...
- Step By Step(Lua数据结构)
Step By Step(Lua数据结构) Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础.如数组.记录.线性表.队列和集合等,在Lua中都可以通过table来表示. ...
- Manjaro Linux安装singularity-container
技术背景 容器化技术在各种生产领域已经得到了广泛的应用,这得益于容器的轻量化(相比于虚拟机而言),安全性(隔离弱于虚拟机,但是权限控制得当的情况下也可以认为是安全隔离的)以及系统级虚拟化带来的高可用性 ...