微服务和基于Istio架构的服务网格介绍

微服务会将应用程序分解为多个较小的服务组件。与传统的一体化(Monolithic)架构相比,微服务架构将每个微服务视为独立的实体与模块,从根本上有助于简化代码和相关基础架构的维护。应用程序的每个微服务都可以编写在不同的技术堆栈中,并且可以进一步独立地部署、优化和管理。从理论上讲,微服务体系结构特别有利于复杂的大型应用程序的构建,但实际上,它也被广泛用于小型应用程序的构建。微服务架构的好处可以通过不同的技术堆栈开发和部署应用程序中的各个微服务。每个微服务都可以独立优化、部署或扩展。更好的故障处理和错误检测。微服务架构的组件在微服务架构上运行的现代云原生应用...

阅读全文

蓝绿发布和灰度发布

在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。为了解决这些问题,下面我们介绍以下两种发布策略蓝绿发布所谓蓝绿发布,是指同时运行两个版本的应用,如上图所示,蓝绿部署的时候,并不停止掉老版本,而是直接部署一套新版本,等新版本运行起来后,再将流量切换到新版本上。但是蓝绿部署要求在升级过程中,同时运行两套程序,对硬件的要求就是日常所需的...

阅读全文

python中argparse用法介绍

argparse模块是python的内置模块,不需要单独安装,主要用于执行脚本的时候增加参数,使整个脚本看起来更加规范,参数更加整洁有序我们先来看看argparse常见的方法和应用首先创建一个解析对象,description就是这个命令操作的整体描述parser = argparse.ArgumentParser(description = "help !")add_argument方法就是往对象中添加你需要的参数,我这里是-n,help是这个参数的描述parser.add_argum...

阅读全文

python获取harbor镜像列表的方法

harbor是基于Bearer的认证,我们只需要两步即可获取harbor的镜像列表首先获取token#!/usr/bin/python33#coding:utf-8import requestsimport jsonr = requests.get("http://192.168.31.180/service/token?account=admin&service=harbor-registry&scope=registry:catalog:*",&nbs...

阅读全文

Windowns系统原版安装及序列号

由于经常要用,记录下windows原版下载地址和安装过程,还有序列号windows商业版下载地址:ed2k://|file|cn_windows_10_business_editions_version_1909_x86_dvd_09290f8c.iso|3781249024|7C60A943AE1D8AE6B5F72743D2E74EE2|/其它版本或者相关软件下载地址:https://msdn.itellyou.cn/?wcfahk=ornjg安装windows10过程中可能遇到安装win10无法创建新的分区的情况,可以使用以下方法解决可以先装载wi...

阅读全文

k8s部署Mysql

在Kubernetes上部署数据库时,需要使用持久性存储卷为Pod提供存储。首先创建pv和pvc,然后再将两者绑定,PersistentVolume和PersistentVolumeClaim,主要是管理服务持久化的存储资源Volume创建持久卷mysql_pv.yamlapiVersion: v1kind: PersistentVolumemetadata:  name: mysql-pv  labels:    ...

阅读全文

k8s集群获取token的方法

在k8s安装过程中,kubeadm初始生成的token有效期只有24小时,但是集群在后期扩容会逐渐扩大,新增节点的时候需要重新生成token,具体操作如下kubeadm token create --print-join-command#返回W1119 10:40:21.639789   10340 configset.go:202] WARNING: kubeadm cannot validate component...

阅读全文

centos7部署k8s集群环境

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。安装要求:内存2GB或更多,CPU2核或更多,硬盘30GB或更多集群中的所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区系统约定k8s-master 192.168.90.220 Centos7k8s-node1 192.168.90.221 Centos7k8s-node2&...

阅读全文

kubernetes集群联邦

集群联邦Federation的目的是实现单一集群统一管理多个kubernetes集群的机制。这些集群可以是跨地域的,跨云厂商的或者是用户内部自建集群。一旦集群建立联邦后,就可以使用集群FederationAPI来管理多个集群的kubernetesAPI资源。kubernetes集群联邦主要是实现以下目标1)简化管理多个联邦集群的KubernetesAPI资源2)在多个集群之间分散工作负载(容器),以提升应用(服务)的可靠性3)在不同集群中,能更快速更容易地迁移应用(服务)4)跨集群的服务发现,服务可以就近访问,以降低延迟5)实...

阅读全文

k8s发布应用的过程

k8s发布应用几本有以下6个过程1.制作镜像2.控制器管理podDeployment:无状态部署,例如Web,微服务,APIStatefulSet:有状态部署,例如数据库,ZK,ETCDDaemonSet:守护进程部署,例如监控Agent、日志AgentJob & CronJob:批处理,例如数据库备份,邮件通知3.pod数据持久化容器部署过程中一般有以下三种数据:1)启动时需要的初始数据,可以是配置文件2)启动过程中产生的临时数据,该临时数据需要多个容器间共享3)启动过程中产生的业务数据4.暴露应用使用Servi...

阅读全文