0%

如果想要在K8S环境上部署某软件的话,那么首先先要了解的是该软件在Bare Metal裸金属环境下的手动安装方式、如何配置,启动等等;然后再考虑如何将软件Docker化,怎么编写Dockerfile,Docker环境下如何配置、启动等。最后根据之前Docker的方式选用K8S的YAML资源来创建该服务,例如:Deployment、DaemonSet、Service,ConfigMap,Secret。最后,建议做成Helm Chart的方式,来发布,部署,管理。

按照这个步骤,我们之前已经了解了手动安装Nacos集群的方式,参考:手动安装Nacos集群,那么这里我们先了解一下Docker化的Nacos,以及如何部署在K8S环境中。

阅读全文 »

因最近要上微服务,采用spring-cloud-alibaba,组件如下:

https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。

Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

阅读全文 »

之前搭建的测试环境的Kubernetes一直没有StorageClass动态存储提供,导致很多的实验都是用emptyDir的方式,测试还是OK了,但是在企业中使用的话还是需要有永久的存储的,这里先以nfs-client-provisioner的方式,通过NFS Server来创建StorageClass,来响应k8s中pvc的创建需求。

本文环境:

  • Kubernetes 1.15.5
  • nfs-client-provisioner chart version:1.2.8,app version:3.1.0
  • Helm 3
  • Amazon Linux 2 AMI,基于CentOS 7

有用链接:

nfs-client-provisioner GitHub:

阅读全文 »

在之前的文章中我们分享了安装Elasticsearch 7.4集群(开启集群Auth + Transport SSL)以及 Kibana & Keystore中,我们已经安装了安全的Elasticsearch,可以在实际的生产环境进行部署了,但是我们可能需要体验一下白金版的其他的特性(LDAP统一认证等)怎么办呢,推荐去官网申请Licence,有效期三十天进行测试,测试符合你的要求后再去购买对应的版本,版本对比

这里呢我们介绍另外一种方式,去除Elastic的License认证,当然仅仅用于研究测试,生产使用请购买License

环境说明:

  • Amazon Linux 2 AMI
  • Windows 10
  • Elasticsearch 7.4.2
  • Luyten v0.5.4 GitHub
  • WinRAR
阅读全文 »

因为最近要测试Kubernetes日志收集这块,所以先要了解一下Elasticsearch 集群的手动搭建方式,这里记录一下在虚拟机上安装Elasticsearch Cluster 7.4的方式,并开启Auth认证以及Transport SSL。

官网 下载 Docs

本文采用的环境以及版本:

  • 一台EC2主机Amazon Linux 2 AMI,本身是基于CentOS 7的。
  • 通过tar包安装
  • Elasticsearch 7.4.2,默认集成JDK(Openjdk 13.0.1);这里简称ES
  • Kibana 7.4.2

Elastic Stack License

在新版的Elastic中,基础版(免费)的已经提供了基础的核心安全功能,可以在生产中部署,不再需要Nginx + Basic Auth代理了。

阅读全文 »

在上篇文章中,Prometheus-Operator 手动入门实战,已经手动安装了Prometheus-Operator并且手动安装了Prometheus、Alertmanager、ServiceMonitor、PrometheusRule这些资源,明白的运行原理,但是实际生产中,需要监控的有很多包括Kubernetes集群本身,以及跑在Kubernetes集群之上的应用,都需要我们手动的去添加监控非常的麻烦,所以这篇文章主要记录使用Helm3安装prometheus-operator,来减轻手动的繁琐步骤。

本文采用的环境以及版本:

  • Kubernetes 1.15.5 + Calico v3.6.5
  • Helm v3.0.0
  • InfluxDB Chart Version:3.0.1,对应的InfluxDB版本:1.7.6
  • Prometheus-Operator Chart Version:8.2.2 对应的是 Prometheus-Operator版本: v0.34.0
  • 所有的都安装到monitoring 命名空间中
阅读全文 »

prometheus operator 手动入门实战

虽然生产中我们大部分都是通过Helm的方式来安装Prometheus-Operator,但是我们也是需要明白Prometheus Operator的原理,以及其中5个CRD的YAML定义方式,这里我们以手动的方式来安装部署Prometheus Operator以及Prometheus Server、Alertmanager集群,配置我们需要监控的对象。

Prometheus Operator GitHub

本文采用的环境以及版本:

  • Kubernetes 1.15.5 + Calico v3.6.5
  • Prometheus-Operator v0.34.0
阅读全文 »

Helm3 今天stable了,所以今天先抢先试用一下Helm3。

Helm

官网:

https://helm.sh/

GitHub:

https://github.com/helm/helm

Docs:

https://helm.sh/docs

[toc]

相对于Helm2,Helm3的改进如下:

  • 移除了Tiller组件,Helm的权限通过 kubeconfig文件 来确定;
  • 改进了upgrade升级策略;
  • Helm2 中release的默认被安装到了Tiller所在的namespace,在Helm3中默认是Context中指定的名称空间;
  • Helm2 将数据信息存储在了Configmap上,Helm3中存储在了Secret上;
  • 如果指定安装到新的namespace上,Helm3默认自动创建这个不存在的namespace;
  • local or stable repositories默认已经被移除;
  • 迁移Helm2 –> Helm3,请参考:官方BlogGitHub
  • 其他详尽的变化请参考官方
阅读全文 »

安装Kubernetes默认的image源是:k8s.gcr.io,中国区安装极为痛苦,不FQ就拉取不下来,类似的还有Red Head的quay.io,虽然能下载,但是速度非常的慢。

解决办法来了:

中国区有了以上的docker registry镜像源了:

中科大镜像 https://github.com/ustclug/mirrorrequest

Azure中国镜像 https://github.com/Azure/container-service-for-azure-china

先上总结,方便直接查阅:

总结

鉴于中科大的源经常的出现not fount的错误,所以这里使用Azure的镜像源。

docker.io

阅读全文 »

有的时候我们需要快速的安装kubernetes环境来方便我们测试,而不需要类似生产的高可用环境。

这里介绍快速安装kubernetes集群,单台master,2台worker。

环境介绍

本机所有机器都在AWS,使用默认的Amazon Linux 2 AMI镜像(基于CentOS7),采用 m4.xlarge(4C 16G)。

AWS 环境有两点需要注意:

注意1:安全组需要添加一条允许当前安全组访问组内EC2的规则。

注意2:需要关闭“源/目标检查“,路径:EC2设置–联网–源/目标检查:如下图,选择“是,请禁用”

阅读全文 »