Kubectl基础命令的使用

本文介绍了Kubectl的基础命令及其使用方法,包括编辑资源、动态扩展、自动扩展等操作,并提供了详细的实例说明。

Kubectl基础命令的使用

kubernetes基本概念

Pod:k8s最小部署单元,一组容器的集合

Deployment:最常见的控制器,用于更高级别部署和管理Pod

Service:为一组Pod提供负载均衡,对外提供统一访问入口

Label:标签,附加到某个资源上,用于关联对象、查询和筛选

Namespaces∶命名空间。将对象逻辑上隔离,也利于权限控制

edit(编辑资源)

#编辑一个资源
# 运行一个pod类型的nginx,名字叫nginx,定义的标签是app=nginx
[root@master ~]# kubectl run nginx --image=nginx --labels="app=nginx"
pod/nginx created
[root@master ~]# kubectl get pod
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          12s

# 使用edit命令编辑
[root@master ~]# kubectl edit pods/nginx
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2021-12-20T09:26:53Z"
  labels:
    app: test  # 把原本app:nginx改为app:test
  name: nginx
  namespace: default

# 查看是否更改成功
[root@master ~]# kubectl describe pods/nginx
Name:         nginx
Namespace:    default
Priority:     0
Node:         node2.example.com/192.168.240.60
Start Time:   Mon, 20 Dec 2021 04:26:53 -0500
Labels:       app=test
Annotations:  <none>
Status:       Running
IP:           10.244.1.25

scale(动态扩展)

#创建一个deployment类型的nginx2的pod
[root@master ~]# kubectl create deployment nginx2 --image=nginx
deployment.apps/nginx2 created
[root@master ~]# kubectl get pods
NAME                      READY   STATUS    RESTARTS   AGE
nginx                     1/1     Running   0          7m38s
nginx2-85bf7b8976-n9vcl   1/1     Running   0          13s

# 使用scale扩展
[root@master ~]# kubectl scale --replicas 4 deployment/nginx2
deployment.apps/nginx2 scaled
# 扩展后查看多了几个相同类型的pod
[root@master ~]# kubectl get pods
NAME                      READY   STATUS              RESTARTS   AGE
nginx                     1/1     Running             0          8m55s
nginx2-85bf7b8976-bmcq4   0/1     ContainerCreating   0          11s
nginx2-85bf7b8976-n9vcl   1/1     Running             0          90s
nginx2-85bf7b8976-qzfhz   0/1     ContainerCreating   0          11s
nginx2-85bf7b8976-xk594   0/1     ContainerCreating   0          11s

# 如果只需要2个deployment类型的nginx的pod
[root@master ~]#  kubectl scale --replicas 2 deployment/nginx2
deployment.apps/nginx2 scaled
[root@master ~]#  kubectl get pods
NAME                      READY   STATUS    RESTARTS   AGE
nginx2-85bf7b8976-4dm2h   1/1     Running   0          39s
nginx2-85bf7b8976-fwj55   1/1     Running   0          49s

autoscale(自动扩展)

自动扩展,给定一个范围,自动根据业务的访问量增加或减少

[root@master ~]# kubectl autoscale --min=2 --max=7 --cpu-percent=60 deployment/nginx2
horizontalpodautoscaler.autoscaling/nginx2 autoscaled
[root@master ~]# kubectl get hpa
NAME     REFERENCE           TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
nginx    Deployment/nginx    <unknown>/80%   1         3         3          29m
nginx2   Deployment/nginx2   <unknown>/60%   2         7         0          10s

cluster-info(显示集群信息)

[root@master ~]# kubectl cluster-info
Kubernetes control 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值