kubernetes——kubectl命令管理


  • 一、kubectl基本命令
  • 1、创建命令
  • 2、查看
  • 3、删除
  • 4、发布资源
  • 5、查看kubectl简写
  • 二、项目周期的创建
  • 1、创建nginx
  • 2、发布服务
  • 3、查看关联后的节点
  • 4、查看网络状态详细信息
  • 5、服务暴露端口
  • 6、验证负载均衡
  • 7、查看日志
  • 8、更新nginx版本
  • 9、回滚nginx
  • 10、查看nginx的资源信息
  • 11、进入pod
  • 12、删除nginx
  • 13、删除服务svc


一、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

kubectl创建nginx案例 kubectl run create_ide

#查看创建状态

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

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

[root@master1 opt]# kubectl get all

kubectl创建nginx案例 kubectl run create_回滚_02

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

kubectl创建nginx案例 kubectl run create_kubectl创建nginx案例_03

2、发布服务

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

3、查看关联后的节点

[root@master1 ~]# kubectl get endpoints

kubectl创建nginx案例 kubectl run create_回滚_04

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

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

kubectl创建nginx案例 kubectl run create_nginx_05

5、服务暴露端口

[root@master1 ~]# kubectl get svc

kubectl创建nginx案例 kubectl run create_nginx_06

6、验证负载均衡

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

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

kubectl创建nginx案例 kubectl run create_回滚_07

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

kubectl创建nginx案例 kubectl run create_nginx_08

#执行回滚

[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

kubectl创建nginx案例 kubectl run create_ide_09

11、进入pod

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

root@nginx-7697996758-7lx9w:/#

kubectl创建nginx案例 kubectl run create_回滚_10

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