Linux云计算 |【第五阶段】CLOUD-DAY7

主要内容:

在kubernetes平台上理解掌握各种控制器的用法:掌握kubectl管理命令、掌握POD原理、掌握集群调度的规则、熟悉控制器资源文件;

一、kubectl 常用命令

Kubectl是用于控制Kubernetes集群的命令行工具;

  • - 格式:kubectl [command] [TYPE] [NAME] [flags]

Command:子命令,如create、get、describe、delete;

TYPE:资源类型,可以表示为单数,复数或缩写形式;

Name:资源的名称,如果省略,则显示所有资源信息;

Flags:指定可选标志,或附加的参数;

1、Kubectl基础命令

命令格式

命令说明

kubectl run 资源名称 -参数 --image=镜像名称:标签

创建资源对象,常用参数-i交互,-t终端

kubectl exec -it 容器id  执行的命令

同 docker exec 指令,进入容器内  

kubectl attach 容器id

同 docker attach 指令,连接容器

kubectl get 查询资源 [可选参数-o wide 显示主机信息]

[可选参数-o yaml 显示YAML信息]

常用查询资源 node | deployment | pod | namespace

kubectl describe 资源类型 资源名称

查询资源的详细信息

kubectl logs 容器id

查看容器控制台的标准输出(正常显示为空)

kubectl delete 资源类型 资源名称

删除指定的资源

kubectl create | apply | delete -f 资源文件

执行指定的资源文件


示例1:Kubectl get 查询资源

常用资源类型:node | deployment | pod | namespace

1)查询node资源
  • 格式:kubectl get node [节点主机名]   //查询节点状态
  • 格式:kubectl get node -o wide [节点主机名]   //查询节点状态和显示主机信息
  • 格式:kubectl get node -o yaml [节点主机名]   //查询节点状态和显示YAML信息

例如:查看集群的节点状态

[root@master ~]# kubectl get node
NAME        STATUS   ROLES    AGE   VERSION
master      Ready    master   21h   v1.17.6
node-0001   Ready    <none>   17h   v1.17.6
node-0002   Ready    <none>   17h   v1.17.6
node-0003   Ready    <none>   17h   v1.17.6

例如:查看集群的节点状态和显示主机信息

[root@master ~]# kubectl get node -o wide master
NAME     STATUS   ROLES    AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
master   Ready    master   45h   v1.17.6   192.168.1.21   <none>        CentOS Linux 7 (Core)   3.10.0-1160.15.2.el7.x86_64   docker://18.6.3

例如:查询节点状态和显示YAML信息

[root@master ~]# kubectl get node -o yaml

2)查询pod资源
  • 格式:kubectl get pod     //查询pod容器资源
  • 格式:kubectl get namespace    //查询系统命名空间

补充:系统的命名空间

① default,默认的命名空间,不声明命名空间的POD默认保存在default;

② kube-node-lease,为高可用提供心跳监视的命名空间;

③ kube-public,公共数据,所有用户都可以读取;

④ kube-system,系统服务对象所使用的命名空间;

例如:查询Pod容器资源

[root@master ~]# kubectl get pod
No resources found in default namespace.    //一般查看的是默认命名空间内容
[root@master ~]# kubectl get namespaces     //查看所有的命名空间
NAME              STATUS   AGE
default           Active   21h
kube-node-lease   Active   21h
kube-public       Active   21h
kube-system       Active   21h

由于默认的命名空间没有Pod容器资源,所以在kube-system系统命名空间查询;

[root@master ~]# kubectl -n kube-system get pod  //[-n]指定命名空间查询Pod容器资源
NAME                             READY   STATUS    RESTARTS   AGE
coredns-f6bfd8d46-b5lkt          1/1     Running   0          21h
coredns-f6bfd8d46-h4c2v          1/1     Running   0          21h
etcd-master                      1/1     Running   0          21h
kube-apiserver-master            1/1     Running   0          21h
kube-controller-manager-master   1/1     Running   0          21h
kube-flannel-ds-amd64-kcm7p      1/1     Running   0          16h
kube-flannel-ds-amd64-qmbcq      1/1     Running   0          16h
kube-flannel-ds-amd64-qst8m      1/1     Running   1          16h
kube-flannel-ds-amd64-rq8qb      1/1     Running   0          16h
kube-proxy-56dh5                 1/1     Running   1          17h
kube-proxy-jwc9b                 1/1     Running   1          21h
kube-proxy-nzchw                 1/1     Running   1          17h
kube-proxy-sb588                 1/1     Running   1          17h
kube-scheduler-master            1/1     Running   0          21h

解释:

- NAME表示POD资源的容器名;

- READY表示当前就绪状态(m/n,n表示需要几个,m表示当前运行几个);

- STATUS表示当前容器的状态;

- RESTARTS表示重启次数,重启次数阈值过高,需要排查是否有问题;(当容器有控制器,控制器会在容器死亡时依据策略对容器进行重启)

- AGE表示启动服务容器运行的时间;

3)查询deployment资源控制器
  • 格式:kubectl get deployment.apps    //查询资源控制器
[root@master ~]# kubectl -n kube-system get deployments.apps   //查询资源控制器名称
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
coredns   2/2     2            2           46h


示例2:常用排错的三个命令(get、describe、logs)

排错流程:Kubernetes排错比较困难,需要了解整个集群的相关配置信息,一般排错是综合利用get、describe、logs来完成;

kubectl get(查询POD容器资源,容器的STATUS状态信息)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小安运维日记

Hey~ 感谢您的充电支持!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值