背景k8s可以使用Deployment生成并管理多个pod,如果需要查看某个多pod实例的应用日志,一个一个pod依次排查过去未免太麻烦,需要有一种更高效的方式。实现使用如下命令即可查看一个Deployment的所有pod日志:kubectllogsdeployment/deployment的名字一些可选的命令参数如下(其实就是kubectllogs命令的参数,这里列举一下常用的):-f实时查看日志--previous=true可以查看被中断的pod的日志,如果需要查看崩溃的容器日志,这个参数有用--all-containers=true查看pod中所有容器的日志(适合一个pod内有多个容器的
背景k8s可以使用Deployment生成并管理多个pod,如果需要查看某个多pod实例的应用日志,一个一个pod依次排查过去未免太麻烦,需要有一种更高效的方式。实现使用如下命令即可查看一个Deployment的所有pod日志:kubectllogsdeployment/deployment的名字一些可选的命令参数如下(其实就是kubectllogs命令的参数,这里列举一下常用的):-f实时查看日志--previous=true可以查看被中断的pod的日志,如果需要查看崩溃的容器日志,这个参数有用--all-containers=true查看pod中所有容器的日志(适合一个pod内有多个容器的
在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes目前提供了以下几种方案:NodePortLoadBalancerIngress为了解决外部访问k8s内服务及负载均衡问题,这里介绍如何安装ingress-nginx-controller与metallb两个应用。ingress-nginx-controller:解决服务暴露与负载均衡问题metallb:为k8s集群的service提供LoadBalancer类型的支持github安装脚本安装ingress-nginx-controlle
1.什么是k8s服务账号?工作流程是怎么样的?服务账号是相对于用户账号而言,服务账号是给到在Pod中运行的进程用的。通常用于Pod的进程通过KubernetesAPI访问k8s集群来使用,比如在pod进程中查询整个集群的负载情况。服务账号工作的整个流程:1).创建ServiceAccount:用户通过kubectl创建serviceaccount,请求会发到controllermanager,controllermanager启动参数中配置的--service-account-private-key-file对serviceaccount对应的用户(这里其实是虚拟用户,可能是CN或者一个随机数
目录一、环境准备二、安装docker(所有机器——是指所有的节点包含master和node,后面也一样单独装的会说明)三、设置k8s环境准备条件(所有机器)四、安装与配置k8s 1 安装kubeletkubeadmkubectl(master上执行) 2 部署master (master上执行)(1)首先查看kubeadmconfig依赖的images有哪些:(2)然后从国内镜像拉取这些镜像(有些是可以直接拉取的,比如k8s.gcr.io/coredns/coredns:v1.8.6) (3)然后根据(1)中的依赖对这些镜像进行重命名(这里要注意重命名的版本号有的是带v的,
文章目录污点和容忍污点(Taints)查看污点:设置污点删除污点容忍(toleratints)Pod设置容忍设置容忍时间容忍示例节点自污染,pod应对节点故障污点和容忍在Kubernetes中,节点亲和性NodeAffinity是Pod上定义的一种属性,能够使Pod按我们的要求调度到某个节点上,而Taints(污点)则恰恰相反,它是Node上的一个属性,可以让Pod不能调度到带污点的节点上,甚至会对带污点节点上已有的Pod进行驱逐。当然,对应的Kubernetes可以给Pod设置Tolerations(容忍)属性来让Pod能够容忍节点上设置的污点,这样在调度时就会忽略节点上设置的污点,将Pod
目录1.搭建Docker镜像仓库:1.创建docker镜像仓库2.Docker镜像仓库访问:3.配置外网访问:4.设置允许http方式访问:5.重启docker服务:6.访问dockerhub:7.Docker镜像仓库中删除镜像:8.删除本地镜像(节省存储空间):2.生成镜像:3.华为云创建Pod:1.打开云容器引擎CCE编辑2.体验新版:编辑3.打开我们的k8s集群:4.配置项与秘钥:编辑5.工作负载->命名空间 6.镜像创建(其实就是创建Pod)7.服务注册与发现--service:4.关于Ingress:1.问题及答案:2.华为云前后端打通:3.安装nginxingresscont
背景注:背景有点啰嗦,讲讲一路走来研发本地调试的变化,嫌烦的可以直接跳过,不影响阅读。2019年我在的公司当时是个什么情况,只有两个Java应用,还都跑在一个TomcatServlet容器。当时是如何本地调试?都是研发自己电脑装个Mysql,装个Tomcat,自己电脑运行调试,好处嘛就是后端研发互不干扰,想怎么改就怎么改,APP端研发就直连后端的笔记本调试。上线部署嘛就是一个研发手动编译个Jar包丢到云服务器上面,大体就是个草台班子,能干活,但是也就那样。2020年到了2020年,公司买了一台服务器,Centos的系统,给装上了Mysql、Tomcat,用上了Redis缓存,RabbitMQ消
文章目录一、概述二、CephRook介绍三、通过Rook在k8s中部署Ceph1)下载部署包2)部署RookOperator3)创建RookCeph集群4)部署RookCeph工具5)部署CephDashboard6)检查6)通过ceph-tool工具pod查看ceph集群状态四、测试验证1)块存储(RBD)测试1、创建StorageClass2、部署WordPress2)文件系统(CephFS)测试1、创建StorageClass2、部署应用3)对象存储(RGW)测试1、创建对象存储2、创建对象存储user3、获取accesskeysecretkey4、部署rgwnodeport5、通过ap
这个搞了一天,记录一下,腾讯云EC2,2核2G,上面通过minikube部署了一个单节点K8S。想传日志,内存不太够,不可能在同一台服务器上搭ELK或者EFK了,只能用daemonset来装个filebeat,上面连接很全了,不过有几点需要改动,1.我传的不是kafka,而是ES,2.type:container,这里我开始改成了log,并不好用,改回container就好了。果然是需要container来搜集容器的日志。。。另外下面的xpack和ilm也是坑,写上吧。。。apiVersion:v1kind:ConfigMapmetadata:namespace:kube-systemname