当前位置: 首页 > news >正文

Kubernetes 安装 kubectl

安装 kubectl

在 Ubuntu 上安装 kubectl(Kubernetes 命令行工具)

1. 安装依赖包

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

2. 下载二进制文件手动安装的方式(非 APT 的方式)

获取最新kubectl的版本号:https://dl.k8s.io/release/stable.txt

官方kubectl二进制下载地址:https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

使用 uname -m 命令,查询系统是 x86_64 还是 ARM64

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

可以在 win 上下载完成后,把文件上传到ubuntu系统上,也可以使用curl直接在ubuntu系统上下载

3. 把kubectl进行授权

chmod +x kubectl

4. 把kubectl移动到系统命令目录

sudo mv kubectl /usr/local/bin/

安装完成。

5. 验证kubectl是否安装成功

kubectl version --client

kubectl 常用命令

集群信息

查看客户端和服务器版本:kubectl version

查看集群信息:kubectl cluster-info

查看节点状态:kubectl get nodes

查看节点详细信息:kubectl describe node <node> 

资源管理类(查看)

查看所有 pod:kubectl get pods         

查看所有命名空间的 pod:kubectl get pods -A      

查看服务(service):kubectl get svc          

查看部署:kubectl get deployments  

查看所有资源(pod、svc、deploy等):kubectl get all          

查看命名空间:kubectl get namespaces   

详细信息和排查

查看 pod 详细信息:kubectl describe pod <pod名>         

查看 pod 日志(单容器):kubectl logs <pod名>                 

查看 pod 中指定容器日志:kubectl logs <pod名> -c <容器名>     

进入 pod 容器交互:kubectl exec -it <pod名> -- /bin/bash

部署管理

部署或更新资源:kubectl apply -f xxx.yaml                         

创建资源:kubectl create -f xxx.yaml                        

删除资源:kubectl delete -f xxx.yaml                        

删除单个 pod:kubectl delete pod <pod名>                        

修改副本数:kubectl scale deployment <deploy名> --replicas=3

滚动重启:kubectl rollout restart deployment <name>    

命名空间操作

查看指定命名空间 pod:kubectl get pods -n <namespace>

创建命名空间:kubectl create namespace <name>

删除命名空间:kubectl delete namespace <name>

配置管理

查看所有上下文:kubectl config get-contexts       

切换上下文(多集群用):kubectl config use-context <name> 

当前上下文:kubectl config current-context    

调试 & 测试

临时启动一个 nginx 容器用于测试,并进入 bash:kubectl run test-pod --image=nginx --restart=Never -it --rm -- bash

相关文章:

  • profile软件开发中的性能剖析与内存分析
  • 牛客周赛91 D题(数组4.0) 题解
  • RPG8.增加武器
  • 什么是右值引用和移动语义?大白话解释
  • Vue 虚拟DOM和DIff算法
  • 学习Linux的第一天
  • 初试C++报错并解决记录
  • 栈Stack
  • Javascript学习笔记1——数据类型
  • 第20节:深度学习基础-反向传播算法详解
  • Linux的时间同步服务器
  • Python 中的 collections 库:高效数据结构的利器
  • node核心学习
  • dpm_sysfs_add
  • 构建良好的 AI 文化:解锁未来的密钥
  • C++日志系统实现(二)
  • 李沐《动手学深度学习》 | Softmax回归 - 分类问题
  • 牛客周赛90 C题- Tk的构造数组 题解
  • 2023年第十四届蓝桥杯省赛B组Java题解【 简洁易懂】
  • Python变量作用域陷阱:为什么函数内赋值会引发_局部变量未定义
  • 立夏的野火饭
  • 伊朗公布新型弹道导弹,“萨德”系统无法拦截
  • 《开始推理吧3》:演员没包袱,推理更共情
  • 中央气象台:未来三天北方地区有大风沙尘,江南等地有强降水
  • 重庆市大渡口区区长黄红已任九龙坡区政协党组书记
  • 过去24小时中美是否就关税问题进行过接触?外交部:没有