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

kubectl基础命令详解

管理名称空间资源

查看名称空间

[root@ceshi-130 conf]# kubectl get ns
[root@ceshi-130 conf]# kubectl get namespace
NAME              STATUS   AGE
default           Active   7d17h
kube-node-lease   Active   7d17h
kube-public       Active   7d17h
kube-system       Active   7d17h

查询default空间所有资源

[root@ceshi-130 conf]# kubectl get all -n default
[root@ceshi-130 conf]# kubectl get all  #默认default
pod资源
NAME                 READY   STATUS    RESTARTS   AGE
pod/nginx-ds-c7bnr   1/1     Running   1          18h
pod/nginx-ds-lkznc   1/1     Running   1          18hservice资源
NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   192.168.0.1   <none>        443/TCP   7d17hdaemonset控制器资源
NAME                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/nginx-ds   2         2         2       2            2           <none>          18h

创建名称空间

[root@ceshi-130 conf]# kubectl create ns ceshi
namespace/ceshi created
[root@ceshi-130 conf]# kubectl get ns
NAME              STATUS   AGE
ceshi             Active   44s

删除名称空间

[root@ceshi-130 conf]# kubectl delete ns ceshi
namespace "ceshi" deleted

管理Deployment资源

创建deployment

[root@ceshi-130 conf]# kubectl create deployment nginx-test --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public
[root@ceshi-130 conf]# kubectl get deployment -n kube-public
NAME         READY   UP-TO-DATE   AVAILABLE   AGE
nginx-test   1/1     1            1           17s
[root@ceshi-130 conf]# kubectl get pods -n kube-public
NAME                         READY   STATUS    RESTARTS   AGE
nginx-test-88bc69dd6-cgh8k   1/1     Running   0          41s

查看

[root@ceshi-130 conf]# kubectl get deployment -n kube-public
NAME         READY   UP-TO-DATE   AVAILABLE   AGE
nginx-test   1/1     1            1           9m13s
[root@ceshi-130 conf]# kubectl get deployment -n kube-public -o wide
NAME         READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                              SELECTOR
nginx-test   1/1     1            1           10m   nginx        harbor.od.com/public/nginx:v1.7.9   app=nginx-test

详细查看

[root@ceshi-130 conf]# kubectl describe deployment nginx-test -n kube-public
Name:                   nginx-test #名称
Namespace:              kube-public #名称空间
CreationTimestamp:      Tue, 03 Aug 2021 10:34:12 +0800 #创建时间
Labels:                 app=nginx-test #标签
Annotations:            deployment.kubernetes.io/revision: 1 #注解
Selector:               app=nginx-test #标签选择器
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
状态副本集			    	预期一个	  最新状态  	总共一个	   1个存在		 0个不存在	
StrategyType:           RollingUpdate #更新策略,默认滚动发布(蓝绿发布,灰度发布,滚动发布,金丝雀发布)
MinReadySeconds:        0 
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:Labels:  app=nginx-testContainers:nginx:Image:        harbor.od.com/public/nginx:v1.7.9Port:         <none>Host Port:    <none>Environment:  <none>Mounts:       <none>Volumes:        <none>
Conditions:Type           Status  Reason----           ------  ------Available      True    MinimumReplicasAvailableProgressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   nginx-test-88bc69dd6 (1/1 replicas created)
Events:Type    Reason             Age   From                   Message----    ------             ----  ----                   -------Normal  ScalingReplicaSet  12m   deployment-controller  Scaled up replica set nginx-test-88bc69dd6 to 1

pod资源

进入pod资源
[root@ceshi-130 conf]# kubectl exec -it nginx-test-88bc69dd6 bash -n kube-public配置端口
[root@ceshi-130 conf]# kubectl expose deployment nginx-test --port=80 -n kube-public
service/nginx-test exposed
[root@ceshi-130 conf]# kubectl get all -n kube-public
NAME                             READY   STATUS    RESTARTS   AGE
pod/nginx-test-88bc69dd6-cgh8k   1/1     Running   2          5h16m对外提供的唯一出口
NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/nginx-test   ClusterIP   192.168.37.172   <none>        80/TCP    25sNAME                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-test   1/1     1            1           5h16mNAME                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-test-88bc69dd6   1         1         1       5h16m查看LVS规则,上面的CLUSTER-IP代理172.7.200.1节点
[root@ceshi-131 certs]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.1:443 nq-> 10.1.74.22:6443              Masq    1      0          0         -> 10.1.74.23:6443              Masq    1      0          0         
TCP  192.168.37.172:80 nq-> 172.7.200.1:80               Masq    1      0          1 扩容节点 
[root@ceshi-130 conf]# kubectl scale deployment nginx-test --replicas=2 -n kube-public
deployment.extensions/nginx-test scaled[root@ceshi-130 conf]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.1:443 nq-> 10.1.74.22:6443              Masq    1      0          0         -> 10.1.74.23:6443              Masq    1      0          0         
TCP  192.168.37.172:80 nq-> 172.7.200.1:80               Masq    1      0          0         -> 172.7.200.3:80               Masq    1      0          0

删除deployment

查看
[root@ceshi-131 certs]# kubectl get deploy
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
nginx-ljx   1/1     1            1           42m
删除
[root@ceshi-131 certs]# kubectl delete deploy nginx-ljx
deployment.extensions "nginx-ljx" deleted[root@ceshi-131 certs]# kubectl get pods
NAME                         READY   STATUS        RESTARTS   AGE
nginx-ds-f82d2               1/1     Running       0          2m43s
nginx-ds-lkznc               1/1     Running       3          24h
nginx-ljx-669cc7d666-hj9qh   0/1     Terminating   0          73s

通过和本机8080 apiserver进行通信,将用户再命令行输入的命令,组织并转换为apiserver识别的信息,实现管理各种资源的一种有限途径


以yaml格式显示pod

 [root@ceshi-130 conf]# kubectl get pods nginx-test-88bc69dd6-4vk58 -o yaml -n kube-public

以yaml格式显示service

[root@ceshi-130 conf]# kubectl get svc nginx-test -o yaml -n kube-public

创建资源配置清单

[root@ceshi-130 ~]# cat nginx-ljx.yaml 
apiVersion: v1
kind: Service
metadata:name: nginx-ljxnamespace: defaultlabels:app: nginx-ljx
spec:ports:- port: 80protocol: TCPtargetPort: 80selector:type: ClusterIP
[root@ceshi-130 ~]# kubectl create -f nginx-ljx.yaml 
service/nginx-ljx created 
查看service
[root@ceshi-130 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   192.168.0.1      <none>        443/TCP   8d
nginx-ljx    ClusterIP   192.168.134.19   <none>        80/TCP    35s  离线修改并应用
[root@ceshi-130 ~]# kubectl apply -f nginx-ljx.yaml 在线修改并应用
[root@ceshi-130 ~]# kubectl edit svc nginx-ljx
service/nginx-ljx edited
[root@ceshi-130 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   192.168.0.1       <none>        443/TCP   8d
nginx-ljx    ClusterIP   192.168.129.159   <none>        888/TCP   3m5s陈述式删除(命令行)
[root@ceshi-130 ~]# kubectl delete svc nginx-ljx
service "nginx-ljx" deleted
声明式删除(yaml/json)
[root@ceshi-130 ~]# kubectl delete -f nginx-ljx.yaml 
http://www.lryc.cn/news/312092.html

相关文章:

  • collection的遍历方式
  • SpringBoot中@Async使用注意事项
  • IEEE 802.11 RTS/CTS/BA/Management
  • 【风格迁移】对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁
  • 【C++】贪心算法
  • 记一次dockerfile无法构建问题追溯
  • React使用 useImperativeHandle 自定义暴露给父组件的实例方法(包括依赖)
  • yolov5v7v8目标检测增加计数功能--免费源码
  • JPA常见异常 JPA可能抛出的异常
  • Dockerfile的艺术:构建高效容器镜像的指令详解与实战指南
  • 软件开发项目管理中各角色职责介绍
  • 将时间转换为 `刚刚`、`几秒前`、`几分钟前`、`几小时前`、`几天前`、几月前或按照传入格式显示
  • Oracle存储过程干货(二):PLSQL控制语句
  • 深入Gradle:初识构建自动化的魅力
  • cpp版ros2、opencv转换
  • 使用API接口竞品价格监控
  • Redis的BitMap的使用
  • 视频号带货究竟怎么做?老阳分享的项目怎么样?
  • AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案
  • vxe-table编辑单元格动态插槽slot的使用
  • 2024新鲜出炉阿里巴巴面试真题,如果不想35岁被淘汰这篇文章必看
  • 设计模式(含7大原则)面试题
  • claude3科普
  • 2024中国·北京预制菜产业博览会
  • 【Vue】vue3 在图片上渲染 OCR 识别后的文本框、可复制文本组件
  • Linux系统运维脚本:批量创建linux用户和密码(读取文件中的账号和密码来批量创建用户)
  • 重力坝廊道量水堰计与堰板安装技术指南
  • ButterKnife实现之Android注解处理器使用教程
  • 【哈希】Leetcode 128. 最长连续序列 【中等】
  • 回溯是怎么回事(算法村第十八关青铜挑战)