目录一、理论1.污点2.容忍3. Pod启动阶段4. 故障排除步骤5.对节点执行维护操作二、实验1.污点2.容忍三、问题1.pod上配置容忍生成资源报错四、总结一、理论1.污点(1)作用节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点。Taint则相反,它使节点能够排斥一类特定的PodTaint和Toleration相互配合,可以用来避免Pod被分配到不合适的节点上。每个节点上都可以应用一个或多个taint,这表示对于那些不能容忍这些taint的Pod,是不会被该节点接受的。如果将toleration应用于Pod上,则表示这些Pod可以(但不一定)被调度到具有
预知ingress实现https代理创建证书密钥secrets保存密钥信息,部署pod时把secrets挂载到pod[root@master01~]#opensslreq-x509-sha256-nodes-days365-newkeyrsa:2048-keyouttls.key-out.crt-subj"/CN=nginxzzr/O=nginxzzr"req:生成证书文件的请求x509:生成x.509自签名的证书-sha256:表示生成的密钥不加密-day365:证书有效期365天-newkeyrsa:2048:RSA密钥对,长度2048位。-keyouttls.key-out.crt:密钥
目录一、理论1.Kubectl插件2.kubens 3.krew二、实验1.kubectl插件2.kubens 3.krew一、理论1.kubectl插件(1)概念kubectl插件其实就是以kubectl-为前缀的任意可执行文件,比如执行:ln-s/bin/echo/usr/local/bin/kubectl-echo此时就相当于安装了个echo的kubectl插件,kubectl插件可以通过kubectl + 插件名执行,kubectlxxx其实就是相当于运行kubectl-xxx。2.kubens (1)概念k8s每次查看指定命名空间的资源都需要加-n命名空间来指定命名空间,我们可以通过
kubernetes部署redis数据库(单节点)redis简介Redis是我们常用的非关系型数据库,在项目开发、测试、部署到生成环境时,经常需要部署一套Redis来对数据进行缓存。这里介绍下如何在Kubernetes环境中部署用于开发、测试的环境的Redis数据库,当然,部署的是单节点模式,并非用于生产环境的主从、哨兵或集群模式。单节点的Redis部署简单,且配置存活探针,能保证快速检测Redis是否可用,当不可用时快速进行重启。redis参数配置在使用Kubernetes部署应用后,一般会习惯与将应用的配置文件外置,用ConfigMap存储,然后挂载进入镜像内部。这样,只要修改Config
将有状态的应用程序部署到Kubernetes是棘手的。StatefulSet使它变得容易得多,但是它们仍然不能解决所有问题。最大的挑战之一是如何缩小StatefulSet而不将数据留在断开连接的PersistentVolume成为孤立对象上。在这篇博客中,我将描述该问题和两种可能的解决方案。通过StatefulSet创建的每个Pod都有自己的PersistentVolumeClaim(PVC)和PersistentVolume(PV)。当按一个副本按比例缩小StatefulSet的大小时,其Pod之一将终止,但关联的PersistentVolumeClaim和绑定到其的PersistentVo
作者:王炜,CODINGDevOps后端开发工程师,拥有多年研发经验,云原生、DevOps、Kubernetes资深爱好者,Servicemesher服务网格中文社区成员。获得KubernetesCKA、CKAD认证。前言在Kubernetes上的应用实现灰度发布,最简单的方案是引入官方的Nginx-ingress来实现。我们通过部署两套deployment和services,分别代表灰度环境和生产环境,通过负载均衡算法,实现对两套环境的按照灰度比例进行分流,进而实现灰度发布。通常的做法是当项目打包新镜像后,通过修改yaml文件的镜像版本,执行kubectlapply的方式来更新服务。如果发布
在Kubernetes部署Istio【demo演示】可参考官方文档(https://istio.io/latest/zh/docs/setup/install/),以部署1.7.4版本作为演示,在Mac上安装基础环境cloud(ali)kubernetes(1.16.9)istio(1.7.4)安装配置#mkdiristio#cdistio#wgethttps://github.com/istio/istio/releases/download/1.7.4/istio-1.7.4-osx.tar.gz#lltotal94336-rw-r--r--1rootwheel45MNov909:54is
(1)版本配置系统版本:CentOSLinuxrelease7.9.2009(Core)内核版本:5.4.259-1.el7.elrepo.x86_64k8s版本:v1.15.1(2)报错原因分析在安装和配置Kubernetes(k8s)集群时,有时会遇到各种错误和问题。其中一个常见的问题是在初始化过程中出现"errorexecutionphasepreflight"错误。这个错误通常与交换空间(swap)的使用、Docker版本和kubeadm配置有关。(3)–experimental-upload-certs已被弃用报错初始化语句导致报错Flag--experimental-upload-
背景微服务是什么服务之间有轻量级的通讯机制,通常为RESTAPI去中心化的管理机制每个服务可以使用不同的编程语言实现,使用不同的数据存储技术应用按业务拆分成服务,一个大型应用系统可以由多个独立的服务组成各个服务均可独立部署,都有自己的业务逻辑服务可被多个应用共享,其他服务可复用一些公共的资源服务微服务的优势模块化开发,以单个服务为组件进行更新升级,提升系统整体异常稳定性模块化开发管理方便,单独团队开发维护,职责分明模块服用,公共服务模块可被其他业务模块使用系统架构更加分明结合CI/CD,实现DevOPS弹性伸缩,结合服务编排K8S动态HPA服务熔断/降级,避免但节点异常雪崩效应,分散故障节点微
kubernetes删除pod一直处理Terminating状态#kubectlgetpo-nmonNAMEREADYSTATUSRESTARTSAGEalertmanager-d6ccb787b-4bvhx1/1Running017hgrafana-64855ff589-8ttkt0/1Terminating017hgrafana-677c547cf8-gd5d41/1Running017hkube-state-metrics-6d7449fc78-5rpmn1/1Running019dnode-exporter-5zs2r1/1Running017hnode-exporter-wcct61