kubernetes-kubectl操作实例

本文介绍kubectl的基本操作,包括创建、查看、删除资源对象等,并演示如何执行容器内的命令、查看容器日志、在线编辑运行中的资源对象等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建资源对象

根据YAML配置文件一次性创建Service和RC:

kubectl create -f my-service.yaml -f my-rc.yaml

根据目录下所有.yaml、.yml、.json文件的定义进行创建:

kubectl create -f <directory>

2.查看资源对象

查看所有的Pod列表:

kubectl get pods

查看RC和Service列表:

kubectl get rc,service

3.描述资源对象

显示Node的详细信息

kubectl describe nodes <node-name>

显示Pod的详细信息

kubectl describe pods/<pod-name>

显示由RC管理的Pod的信息

kubectl describe pods <rc-name>

4.删除资源对象

基于pod.yaml 定义的名称删除Pod

kubectl delete -f pod.yaml

删除所有包含某个Label的Pod和Service

kubectl delete pods,services -l name=<label-name>

删除所有Pod

kubctl delete pods --all

5.执行容器的命令

执行Pod的date命令,默认使用Pod中的第一个容器执行

kubectl exec <pod-name> date

指定Pod中的某个容器执行date命令:

kubectl exec <pod-name> -c <container-name> date

通过bash获得Pod中某个容器的TTY,相当于登录容器:

kubctl exec -it <pod-name> -c <container-name> /bin/bash

6.查看容器日志

查看容器输出到stdout的日志

kubectl logs <pod-name>

跟踪查看容器的日志,相当于tail -f命令的结果:

kubectl logs -f <pod-name> -c <container-name>

7.创建或者更新资源对象

用法和kubectl create类似,逻辑稍有差异:如果目标资源对象不存在,则进行创建;否则进行更新,例如:

kubectl apply -f app.yaml

8.在线编辑运行中的资源对象

可以使用kubectl edit命令编辑运行中的资源对象,例如使用下面的命令编辑运行中的一个Deployment:

kubectl edit deploy nginx

在命令执行之后,会通过YAML格式展示该对象的定义和状态,用户可以对代码进行编辑和保存,从而完成对在线资源的直接修改。

9. 将Pod的开放端口映射到本地

将集群上Pod的80端口映射到本地的8888端口,在浏览器

http://127.0.0.1:8888中就能够访问到容器提供的服务了:

kubectl port-forward --address 0.0.0.0 pod/nginx-6ddbbc-sfdcv 8888:80

10.在Pod和本地之间复制文件

把Pod上的/etc/fstab复制到本地的/tmp目录:

kubectl cp nginx-sdfdsdf-sfdcv:/etc/fstab /tmp

11.资源对象的标签设置

为default namespace设置testing=true标签:

kubectl label namespaces default testing=true

12.检查可用的API资源类型列表

该命令经常用于检查特定类型的资源是否已经定义,列出所有资源对象类型:

kubctl api-resources

13.使用命令行插件

为了扩展kubectl的功能,Kubernetes从1.8版本开始引入插件机制, 在1.14版本时达到稳定版。

用户自定义插件的可执行文件名需要以“kubectl-”开头,复制到

$PATH中的某个目录(如/usr/local/bin),然后就可以通过kubectl

运行自定义插件了。例如,实现一个名为hello的插件,其功能为在屏幕上输出字符串“hello world”:

新建名为kubectl-hello的可执行脚本文件,其内容为

echo "hello word"

复制kubectl-hello文件到/usr/local/bin/目录下,就完成了安装插件的工作。

然后在kubectl命令后带上插件名称就能使用这个插件了:

# kuectl hello
hello word

使用kubectl plugin list命令可以查看当前系统中已安装的插件列表:

kubectl plugin list

更完整的插件开发示例可以访问:插件plugin
https://github.com/kubernetes/sample- cli-plugin

### Kubernetes Dashboard 7.6.1 安装与使用 #### 下载与安装指南 对于版本7.6.1的Kubernetes仪表板,官方推荐通过kubectl命令行工具来部署。具体操作如下: ```bash # 创建服务账户并赋予集群管理员权限 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml # 部署Dashboard kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/alternative-7.6.1.yaml ``` 注意:上述链接中的`alternative-7.6.1.yaml`文件需根据实际需求调整路径或版本号[^1]。 为了访问仪表盘界面,还需要创建一个能够获取token的服务账号,并将其绑定到具有适当权限的角色上。这一步骤确保了安全性授权控制。 #### 使用文档概览 一旦成功安装,可以通过以下方式启动代理服务器以便本地浏览器可以连接至远程集群上的Dashbaord实例: ```bash kubectl proxy ``` 打开Web浏览器,在地址栏输入http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login即可进入登录页面。 用户可以选择令牌(Token)认证方式进行登陆。此时需要用到之前提到过的ServiceAccount所生成的秘密密钥作为凭证完成身份验证过程。 #### 进阶功能探索 除了基本的操作外,该版本还支持多种插件扩展其可视化管理能力;允许定制化主题满足不同用户的审美偏好;提供了API接口方便开发者集成第三方应用程序服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值