kubernetes(k8s)基础

一、Nodes

一个Pod总是在一个(Node)节点上运行,Node是Kubernetes中的工作节点,可以是虚拟机或物理机。每个Node由 Master管理,Node上可以有多个pod,Kubernetes Master会自动处理群集中Node的pod调度,同时Master的自动调度会考虑每个Node上的可用资源。

每个Kubernetes Node上至少运行着:

Kubelet,管理Kubernetes Master和Node之间的通信; 管理机器上运行的Pods和containers容器。

container runtime(如Docker,rkt)。

 

1、获取cluster中所有的nodes展示

kubectl get nodes

2、kubectl describe node

获取所有node信息

kubectl describe node <node name>

获取单个node信息

如:kubectl describe node cn-hangzhou.i-bp12oivb2duhh8jk1ohj

 

二、Namespace 

Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。

1、获取所有的namespace

kubectl get namespace

可以简写成:kubectl get ns

 

2、获取具体某个namespace里的pods

kubectl get pods --namespace dev

或简写成:kubectl get po -n dev

3、获取某个命名空间内具体pods

比如:kubectl get pods alipay-5c57d446f-gngrd -n dev

三、Pods

Kubernetes Pod:

是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源。这些资源包括:共享存储,如 Volumes 卷网络,唯一的集群IP地址每个容器运,行的信息,例如:容器镜像版本

Pod是Kubernetes中的最小单位

1、查看某一个namespace的pods,上一个里面有:kubectl get pods -n dev

2、进入pods:

kubectl exec -i -t <pod name> /bin/bash -n dev

暂时无演示图片,k8s是alias写的脚本

3、查看log

cd log

tail -f production.log

base.log 出错和错误信息

Production.log 正常的rails输出,请求路由,sql执行

主要查看这两个log帮开发debug错误原因,提升工作效率

4、获取pod的信息详情

kubectl describe pod leads-app-657f47647b-qpb6x -n dev

可以看到在哪个节点上(IP地址)----跳板机

 

查看pods的log

kubectl logs -f leads-app-mq-57cb48c8c-xdkzn -n dev

⚠️:演示期间一直在重启,可能会出现问不对图的情况

 一些常用的k8s alias

alias k8s='function _a(){ NAME=$(kubectl get pods -n dev | grep ^$1 | awk "NR==1{print \$1}"); kubectl exec -it $NAME /bin/bash -n dev; }; _a'

alias k8sdel='function _a(){ NAME=$(kubectl get pods -n dev | grep ^$1 | awk "NR==1{print \$1}"); kubectl delete pods $NAME -n dev; }; _a'

alias k8sfind='function _a(){ NAME=$(kubectl get pods -n dev | grep ^$1 | awk "NR==1{print \$1}"); kubectl describe pods $NAME -n dev |grep Node |head -n 1|awk "{print $2}"|awk -F "/" "{print $2}"; }; _a'

alias k8shelp='/bin/bash /opt/script/k8shelp.sh'

alias k8slist='function _a(){ kubectl get pods -n dev | grep ^$1 ; }; _a'

alias k8slog='function _a(){ NAME=$(kubectl get pods -n dev | grep ^$1 | awk "NR==1{print \$1}"); kubectl logs -f $NAME --tail=1000 -n dev; }; _a'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值