单pod里多prometheus exporter端口监控

一、背景

一同事遇到客户在使用华为云CCE时,在一个pod里运行有多个进程,分别需要使用对应的prometheus exporter监控对应的数据。如:pod里同时运行的有nginx、mysql、php,三者都需要配置prometheus监控,在ECS虚拟机上部署是比较简单的,直接运行多个exporter程序,并在prometheus端进行配置就行了,不过k8s里会略有一些变化。

实现思路:有两种实现方法。

  1. 再运行一个进程或sidecar容器,该容器会将所有的exporter进行聚合处理。如 exporter-merger
  2. 另外一种就是硬编码在 prometheus 的 annotat[……]

    Read more

企业容器化改造方式1:大单体

企业应用容器化改造方式 中提到了企业容器化改造的三种方式。其中最理想化的肯定是第三种,先微服务化改造,再容器化。不过这种方式改动较大,实现起来比较费时。一般会先通过第一步,先把应用做成容器大单体。因为后面要为公司内部写《云原生最佳实践》,所以这里就先弄一个简单的例子搞一个大单体的示例。这里就以 Cloud Foundry的Spring Music应用为例。

一、应用的简单使用

Spring Music是一个在Cloud Foundry上的使用数据库的样例应用,它使用Spring框架,基于Spring Boot开发。应用启动非常简单。

1. 环境准备

yum -y install j[......]

Read more

容器化运行oracle

在容器化交付成为主流的云时代,oracle这种传统数据库巨无霸也开始适应潮流,将oracle软件也支持容器化部署。通过 https://container-registry.oracle.com/ 站点可以下载官方编译好的oracle镜像,不过前提是先要通过oracle的镜像仓库的授权。不过也可以不使用官方镜像仓库,可以通过官方提供的脚本文件,自已编译镜像。本篇就通过自编译镜像完成一个oracle的容器化部署。

一、编译镜像

  1. 安装最新版docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
systemct[......]

Read more

使用华为云API创建相应的云服务

一、华为云IAM认证鉴权及服务API调用

《定时开关华为公有云虚拟机方法总结》篇幅中有提过,通过apiexplorer可以很方便的进行应用创建调用。不过有些云服务还没有上线apiexplorer,这时候就需要通过原始的API进行调用了。
比如在香港站点Functiongraph开通LTS日志,就可以通过API进行调用开通,具体shell指令如下:

token=`curl -X POST -H 'Content-Type:application/json' -d '{"auth":{"identity":{"methods":["password"],"password":{"user":[......]

Read more

企业应用容器化改造方式

应公司要求,我把企业容器化的方式在medium上进行了发布。这里列下最初的原始中文版。
应用容器化改造,一般有以下三种方式:

  • 方式一:单体应用整体容器化,应用代码和架构不做任何改动。
  • 方式二:将应用中升级频繁,或对弹性伸缩要求高的组件拆分出来,将这部分组件容器化。
  • 方式三:将应用做全面的微服务架构改造,再单独容器化。

具体见下表:

表1 应用容器化改造方式

应用容器化改造方式

优点

缺点

方式一:

单体应用整体容器化

  • 业务0修改:应用架构和代码不需要做任何改动。
  • 提升部署和升级效率:应用可构建为容器镜像,确保应用环境一致性,提升部署效率。
  • 降低资源成本:容器对系统资源利用率高。[……]

    Read more