kubernetes——kubectl命令管理

一、kubectl基本命令

kubectl是管理k8s集群的命令行工具,通过生成的json格式传递给apiserver进行创建、查看、管理的操作

命令描述
create创建资源
expose把资源提供出去呗外部直接访问
run在集群中运行一个指定的镜像
set为objects设置一个指定的特征
explain查看资源的文档
get显示一个或更多资源
edit在服务器上编辑一个资源
delete删除
rollout回滚(更新一个资源,出现了问题或不兼容,需要还原原本的状态)
scale设置一个新的副本数量
autooscale自动调整副本数量
certificate修改certificate资源(证书授权时使用)
cluster-info显示集群信息
top显示资源的基本信息
cordon标记node为污点(污点表示不分配任务给这个节点)
uncordon取消node污点
drain删除node节点
taint更新一个或者多个node上的污点
describe显示一个指定资源的详情
logs输出容器在pod中的日志
attach附加到一个运行中的容器
exec在一个容器中执行一个命令
port-forward为pod转发一个或多个
proxy运行一个代理到kubernetes API Server
cp复制文件或目录到容器里或者从容其中复制文件和目录
auth检查授权
1、创建命令

#格式

kubectl run NAME --image=image [-env=“key=value”] [-port=port] [-replicas=replicas] [-dry-run=bool] [-overrides=inline-json] [-command] - [COMMAND] [args…] [options]

NAME:资源名称

–image:指向镜像

–env:指定参数,变量

–port:指定端口

–replicas:指定副本集数量

–dry-run:试运行

–overrides:是否在线

–command:参数质量

例如:创建nginx多副本

[root@master1 opt]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3

#资源名称:nginx-deployment、镜像:nginx、port端口80、副本replicas3个

2、查看

#查看pod资源

[root@master1 opt]# kubectl get pods

在这里插入图片描述

#查看创建状态

[root@master1 opt]# kubectl get pdos -w

#查看全部资源信息,包括service的资源信息(提供对外资源),deployment控制器的资源,replicaset副本集资源

[root@master1 opt]# kubectl get all

在这里插入图片描述

3、删除

#删除一个资源

[root@master1 ~]# kubectl delete deploy/nginx

#删除多个资源

[root@master1 ~]# kubectl delete deploy/nginx-deployment

4、发布资源

kubectl expose (-f FILENAME | TYPE NAME) [–port=port] [–protocol=TCP|UDP|SCTP]
[–target-port=number-or-name] [–name=name] [–external-ip=external-ip-of-service] [–type=type]
[options]

#expose:发布

-f:指定文件

–port:对外提供端口

-target-port:目标端口

–name:资源名称

5、查看kubectl简写

[root@master1 ~]# kubectl api-resources

二、项目周期的创建

1、创建nginx

[root@master1 ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3

#查看资源

[root@master1 ~]# kubectl get pods

在这里插入图片描述

2、发布服务

[root@master1 ~]# kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort

3、查看关联后的节点

[root@master1 ~]# kubectl get endpoints

在这里插入图片描述

4、查看网络状态详细信息

[root@master1 ~]# kubectl get pods -o wide

在这里插入图片描述

5、服务暴露端口

[root@master1 ~]# kubectl get svc

在这里插入图片描述

6、验证负载均衡

#node节点安装ipvs服务进行验证

[root@node1 ~]# ipvsadm -L -n

在这里插入图片描述

7、查看日志

#在master上进行查看

[root@master1 ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE
nginx-7697996758-lx4mt 1/1 Running 1 74m
nginx-7697996758-sbmhl 1/1 Running 1 74m
nginx-7697996758-zcgtm 1/1 Running 1 74m

[root@master1 ~]# kubectl logs nginx-7697996758-lx4mt

8、更新nginx版本

#查看当前版本号

进入网页——开发者工具——Network——找到访问的记录——Header——找到Server看到当前版本

#修改版本

[root@master1 ~]# kubectl set image deployment/nginx nginx=nginx:1.14

9、回滚nginx

#查看回滚信息

[root@master1 ~]# kubectl get all

在这里插入图片描述

#执行回滚

[root@master1 ~]# kubectl rollout undo deployment.apps/nginx

#查看回滚状态

[root@master1 ~]# kubectl rollout status deployment.apps/nginx

deployment “nginx” successfully rolled out

10、查看nginx的资源信息

[root@master1 ~]# kubectl describe deployment.apps/nginx

在这里插入图片描述

11、进入pod

[root@master1 ~]# kubectl exec -it nginx-7697996758-7lx9w bash

root@nginx-7697996758-7lx9w:/#

在这里插入图片描述

12、删除nginx

[root@master1 ~]# kubectl delete deployment.apps/nginx

#检查是否删除

[root@master1 ~]# kubectl get pods
No resources found.

13、删除服务svc

[root@master1 ~]# kubectl delete svc/nginx-service

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值