Openshift中Elasticsearch索引自动清理工具:Curator
发表于|更新于
|浏览量:
Openshift 3.11版本
Openshift 3.10版本
参考文档
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐
2020-05-20
OpenShift解决Route-Https--Http无法跳转的问题
问题现象通过Route创建的edge类型的HTTPS,后端应用使用的是HTTP服务。但在某些情况下,后端应用使用Location时,Location地址为HTTP地址。这时浏览器将因为无法访问HTTP服务而无法实现跳转。 原理Haproxy在返回客户端时,检查返回Head,将Location地址中的HTTP替换为HTTPS,从而让浏览器获取正确的跳转链接。 解决办法更新haproxy-config.template,为edge请求的应用添加标注判断haproxy.router.openshift.io/location-scheme,如果它为https,则将Location请求中的http替换为https。具体配置如下:搜索 ssl_fc_alpn -i h2在其后添加如下配置 1234{{- if eq "https" (index $cfg.Annotaions "haproxy.router.openshift.io/location-scheme")}} acl check_locatio...
2020-05-20
Openshift之服务网格Istio
什么是服务网格?服务网络就是指构成应用程序的微服务网络以及应用之间的交互。随着规模和复杂性的增长,服务网格越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如 A/B 测试、金丝雀发布、限流、访问控制和端到端认证等。 Istio是什么?Istio 是一个用来连接、管理和保护微服务的开放平台。Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。想要让服务支持 Istio,只需要在您的环境中部署一个特殊的 sidecar,使用 Istio 控制平面功能配置和管理代理,拦截微服务之间的所有网络通信。 Istio能做什么?Istio 提供了一个完整的解决方案,通过为整个服务网格提供行为洞察和操作控制来满足微服务应用程序的多样化需求。它在服务网络中统一提供了许多关键功能: 流量管理。控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮。 服务身份和安全。为网格中的服务提供可验证身份,并提供保护服务流量的能力,使...
2020-05-20
玩转Openshift中Pod调度
大部分情况下,Openshift中的Pod只是容器的载体,通过Deployment、DaemonSet、RC、Job、Cronjob等对象来完成一组Pod的调度与自动控制功能。Pod调度也是由Scheduler组件完成的。 Deployment/RC:全自动调度 Deployment/RC主要是自动部署应用的多个副本,并持续监控,以维持副本的数量。默认是使用系统Master的Scheduler经过一系列算法计算来调度,用户无法干预调度过程与结果。 12345678910111213141516171819202122apiVersion: apps/v1kind: Deploymentmetadata: name: nginx labels: app: nginxspec: replicas: 1 template: metadata: name: nginx labels: app: nginx spec: containers: - name: nginx ...
2020-05-20
如何在Openshift中让Router-Pod独占Router节点
概念 什么是Router Pod? Router Pod是Openshift中管理外部流量访问集群服务的重要的入口,它是通过一个haproxy的Pod实现的。由于Router Pod的独特性,几乎所有的流量都过Router中的Pod代理到真正的服务,所以它是一个非常非常重要的服务。 什么是Router节点 因为集群中的Router Pod数量是有限的,外部流量通过负载均衡器到达Router的Pod,所以对于Router Pod必须固定在负载均衡器下的节点上。这些运行Router Pod的节点,我们叫做Router节点。它有两个特点: 运行default/router的pod; 被外部负载均衡器监听 为什么需要让Router Pod独占Router节点上几乎所有的外部访问集群服务的流量都通过Router Pod代理,所以它是非常重要。在正式使用时,需要对它进行保护。让它独占节点,防止其它Pod抢占Router Pod的资源,以确保集群下服务的可用性。 具体实施Router Pod独占绑定Router节点 Router节点上添加label 1oc label...

2020-05-20
镜像命名规范与Dockerfile编写规范
镜像命名规范镜像地址:镜像仓库/项目名/镜像名:标签名 项目名,公共项目使用名称:base,并设置为公开;其它项目使用英文小写项目名,设置为私有。 镜像名中应该包含使用的组件名称及版本信息,使用-连接。 基础镜像命名规则基础镜像命名应按照操作系统大版本:版本号-构建版本的格式命名,例如:base/rehl7:7.6-1 公共镜像全名规则公共镜像命名应按照服务名-中间件-上级中间件:服务版本号-中间件版本号-上级中间件版本号-构建版本的格式命名,中间件名称可以包含大版本号,例如:base/tomcat8-openjdk8:8.5.23-jre8u212-1 应用命名规则使用格式:系统-模块:系统版本-模块版本-构建版本,例如:sys/sys-rs:1.1-1.1-1 同一应用镜像在以上标签的规则下,还可以根据发布流程设置多个标签,以满足部署时版本依赖的管理要求。例如sys/sys-rs:v1代表v1.x的最新版本。 镜像制作规范 关键字使用大写 FROM镜像,指定明确的Tag,不要使用latest 发布向后兼容的镜像可以使用同一个Tag号,否则使用新的T...
2020-05-20
OpenShift节点kubelet证书过期异常的解决步骤
环境:OpenShift 3.10 or 3.11问题: 重新部署了新的CA,节点不再处于就绪状态。 如何手动强制创建新证书。 节点无法更新其证书,并出现以下错误: 123atomic-openshift-node[3715]: I0313 11:40:48.864375 3715 bootstrap.go:56] Using bootstrap kubeconfig to generate TLS client cert, key and kubeconfig fileatomic-openshift-node[3715]: I0313 11:40:48.865525 3715 bootstrap.go:86] No valid private key and/or certificate found, reusing existing private key or creating a new oneatomic-openshift-node[3715]: F0313 11:40:48.893737 3715 server.go:262] failed...
