摘要: Aspect Injector 库地址:https://github.com/pamidur/aspect-injector AOP在java spring框架中已经集成得非常好了,但是可惜NET却用的人很少,有空在git找了一下AOP的库,目前发现Aspect Injector 算是比较不错的了, 阅读全文
posted @ 2020-05-07 17:01 谭洪军 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 官网 http://automapper.org/ githup https://github.com/AutoMapper/AutoMapper 相信在项目中,以下代码示例应该很多人都用过吧,在一个控制器里面,将接收的参数一个个绑定到实体对象,那么,有没有什么简单的办法让我们少写这种重复代码呢?a 阅读全文
posted @ 2020-02-25 19:47 谭洪军 阅读(1682) 评论(0) 推荐(2) 编辑
摘要: Net core 汉化包是微软官方提供的语言包,目前支持多种语言。先上图,对比前后差异。 汉化前: 汉化后: 先决条件 .NET Core 3.0 SDK或更高版本。 Visual Studio 2019版本16.3或更高版本。 下载并安装本地化的IntelliSense文件? 从微软官方网站地址, 阅读全文
posted @ 2020-02-24 14:53 谭洪军 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 注释形式统一 在整个解决方案中,使用一致的标点和结构的样式来构造注释,是架起团队成员沟通的桥梁既可以提高程序开发效率,也可以保证程序的可维护性。但是请不要试图使用这个标准来破坏旧解决方案的注释规范。一个解决方案的规范标准一致性才是最重要的。 命名规范 解决方案:名称采用驼峰命名法(lowerCame 阅读全文
posted @ 2020-02-20 12:31 谭洪军 阅读(1563) 评论(0) 推荐(0) 编辑
摘要: 一个良好的版本号的结构和改动规则,向用户传达了我们软件改动的影响级别。版本号标准依据Semantic Versioning 2.0.0,适用于APP,API,代码分支归档等。 Semantic Versioning 规范 版本号必须使用x.y.z格式,且均为正数。版本号的每个元素必须以正整数递增。 阅读全文
posted @ 2020-02-19 16:57 谭洪军 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 阿里云仓库地址 https://repomanage.rdc.aliyun.com/my/helm-repos/namespaces 添加Helm仓库 $ export NAMESPACE=自定义命名空间 $ helm repo add $NAMESPACE https://repomanage.r 阅读全文
posted @ 2020-02-15 21:06 谭洪军 阅读(5163) 评论(0) 推荐(0) 编辑
摘要: Helm 简介 我们可以将helm看作Kubernetes下的yum(centos 下负责安装包管理的工具)。helm是一个用于Kubernetes包管理器,每一个包称为chart,一个chart是一个目录(一般会打包为name-version.tgz包,便于传输管理)。 helm提供应用部署、删除 阅读全文
posted @ 2020-02-15 20:53 谭洪军 阅读(1671) 评论(0) 推荐(0) 编辑
摘要: Kubernetes监控指标 集群监控 节点资源利用率(了解每个节点的资源利用率,节点工作负载) 节点数(可用节点数、不可用节点数) 运行Pods (考虑节点中断一部分后的集群冗余是否满足需求) Pod监控 Kubernetes指标(pod实例数量,预期数量) 容器指标(每个pod内存、cpu、网络 阅读全文
posted @ 2020-02-08 15:19 谭洪军 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 官方链接 https://kubernetes.io/zh/docs/concepts/storage/ 容器中的磁盘文件是临时存放的,如果容器销毁、停止数据也将丢失。同时在一个pod运行多个容器的时候,常常需要在容器之间共享数据。kubernetes抽象出voleme对象来解决这2个问题。 Vol 阅读全文
posted @ 2020-02-07 14:20 谭洪军 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 官方文档 https://kubernetes.io/zh/docs/concepts/services-networking/ingress/ Ingress是什么? 之前我们了解到NodePort、LoadBalancer两种方法可以让pod暴露给外部访问,并且通过NodePort我们需要提前规 阅读全文
posted @ 2020-02-06 18:17 谭洪军 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/concepts/services-networking/service/ service是将一组运行Pods上的应用程序公开为网络服务的抽象方法 为什么要有service pod具有不停销毁、创建的特征,每个Pod又有自己分配的 阅读全文
posted @ 2020-02-06 10:50 谭洪军 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/ kubernetes提供的控制器列表 ReplicaSet 确保任何时间都有指定的数量Pod副本在运行(Deployment已经包含该功能)。 阅读全文
posted @ 2020-02-04 13:45 谭洪军 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/names/ 在部署和管理pod中,只有先理解这些概念,才能更好的去进行控制器的学习和管理。 名称 kubernetes rest api所有的对象都是 阅读全文
posted @ 2020-02-03 19:59 谭洪军 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/concepts/workloads/pods/ 理解pod 基础知识 pod是kubernetes最基本的执行单元(最小、最简单的单元),pod表示在集群上运行的进程。 pod封装了应用程序容器(某些情况下多个容器),存储资源、 阅读全文
posted @ 2020-02-03 13:19 谭洪军 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/tutorials/stateless-application/ 创建 创建deployment kubectl run nginx --replicas=2 --image=nginx:1.14 --port=80 run ng 阅读全文
posted @ 2020-01-31 21:34 谭洪军 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/zh/docs/reference/kubectl/overview/#%e8%af%ad%e6%b3%95 概述:kubectl是一个命令行接口,用于对kubernetes集群运行命令。 kubect命令行 语法结构 kubetctl [com 阅读全文
posted @ 2020-01-31 12:39 谭洪军 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/coredns 用途:为service提供dns解析,部署后可以通过service名称访问该service,service会转发到pod,如果不部 阅读全文
posted @ 2020-01-30 11:31 谭洪军 阅读(2942) 评论(0) 推荐(0) 编辑
摘要: 官网链接 https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ 一、在master安装 kubectl apply -f https://raw.githubusercontent.com/kube 阅读全文
posted @ 2020-01-29 18:10 谭洪军 阅读(478) 评论(0) 推荐(0) 编辑
摘要: cni是k8s的一个接口,如果需要对接k8s就需要遵循cni接口标准,部署cni主要是为了接通第三方网络; 关于第三方网络插件实现 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster 阅读全文
posted @ 2020-01-29 17:23 谭洪军 阅读(2405) 评论(0) 推荐(0) 编辑
摘要: Node组件为:kubelet 、Kube-proxy 一、在master节点下载二进制包 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#v1161 二、选择kubernetes-server-linux 阅读全文
posted @ 2020-01-29 16:06 谭洪军 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 一、下载docker二进制文件 官网链接 https://download.docker.com/linux/static/stable/x86_64/ 进去选择想要安装的版本 wget https://download.docker.com/linux/static/stable/x86_64/d 阅读全文
posted @ 2020-01-28 20:36 谭洪军 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一、在master节点下载二进制包 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#v1161 二、选择kubernetes-server-linux-amd64.tar.gz下载 wget https:/ 阅读全文
posted @ 2020-01-28 17:58 谭洪军 阅读(672) 评论(0) 推荐(0) 编辑
摘要: APIserver是整个集群的入口,只有它启动了,别的组件才可以启动;我们基于https访问,所以需要自签证书; 一、查看脚本 cd TLS/k8s 得到以下5个文件 ca-config.json ca-csr.json generate_k8s_cert.sh kube-proxy-csr.jso 阅读全文
posted @ 2020-01-27 17:07 谭洪军 阅读(1073) 评论(0) 推荐(0) 编辑
摘要: Systemd指令 介绍: 是为系统的启动和管理提供一套完整的解决方案。 systemd不是一个命令,而是一组命令,涉及到系统管理的方方面面。 指令 查看版本信息 systemctl --version systemctl 是systemd的主命令,用于管理系统 重启系统 systemctl reb 阅读全文
posted @ 2020-01-25 11:36 谭洪军 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 用户和用户组 用户和用户组对应以下4种关系: 一对一:一个用户可以存在一个用户组中,是组中的唯一成员。 一对多:一个用户可以存在多个用户组中,此用户具有多个组的权限。 多对一:多个用户在一个组中,具有相同的组权限。 多对对 命令 添加用户 useradd [选项] 用户名 -g 手动指定用户的初始组 阅读全文
posted @ 2020-01-24 14:34 谭洪军 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 目录 bin 可执行二进制的目录,存放着常用命令,ls,tar等 boot 存放系统启动时候的核心文件,自己安装的别放这里,建议单独分区,100M大小左右即可; dev 存放设备文件,访问该目录下的某个文件,相当于访问某个设备; etc 系统配置文件存放目录,不建议在此文件下存放可执行文件; hom 阅读全文
posted @ 2020-01-22 19:20 谭洪军 阅读(331) 评论(0) 推荐(0) 编辑
摘要: etcd是qos开源的一个key/value系统,主要用于服务的注册发现,共享配置。etcd现在也作为kubernetes的存储。 3,5,7节点是推荐配置;3个冗余1个节点故障,6个冗余2个节点故障,以此类推。会自动选举一个leader,数据会写入leader,同步到从节点;如果少于3是无法自动选 阅读全文
posted @ 2020-01-19 16:57 谭洪军 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 证书 自签证书 (内网可以用) 权威机构颁发 生成证书常用的2种工具、openssl、cfssl cfssl安装证书 githup https://github.com/cloudflare/cfssl 官网地址: https://pkg.cfssl.org/参考地址:liuzhengwei521 阅读全文
posted @ 2020-01-19 12:00 谭洪军 阅读(1213) 评论(1) 推荐(0) 编辑
摘要: 一、关闭防火墙: # systemctl stop firewalld #关闭防火墙 # systemctl disable firewalld #开机不启动 关闭防火墙的目的: 初学期间利于顺利进行,熟练后实际不关闭打开对应的端口也是可以的; 一般集群服务器不暴露在外网,所以关闭影响不大; 二、关 阅读全文
posted @ 2020-01-18 16:02 谭洪军 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Kubernetes部署的三种方式 Minikube 是一个工具,可以在本地快速运行一个单点的Kubernetes,仅用于日常尝试或者开发 部署地址 https://kubernetes.io/docs/setup/minikube/ Kubeadm 也是一个工具,提供Kubeadm init和ku 阅读全文
posted @ 2020-01-18 15:31 谭洪军 阅读(978) 评论(0) 推荐(0) 编辑
摘要: 单Master集群 多Master集群 硬件配置 测试环境单master,生产环境多master。避免单点故障。工作节点的服务器配置要求相对较高,用于运行实际业务。 单Master集群 集群架构图 多Master集群 集群架构图 多Master集群 集群架构图 集群机器规划图 硬件配置 生产环境最低 阅读全文
posted @ 2020-01-18 15:12 谭洪军 阅读(1443) 评论(0) 推荐(0) 编辑
摘要: Pod 最小部署单元 一组容器的集合 一个Pod的容器共享网络命名空间 Pod是短暂的 Controller ReplicatSet 确保预期的Pod副本数量 Deployment 无状态应用部署(不考虑应用状态如web) StatefulSet 有状态部署(考虑应用存储,网络ID的唯一,例如:my 阅读全文
posted @ 2020-01-18 14:17 谭洪军 阅读(238) 评论(0) 推荐(0) 编辑
摘要: Kubernetes组件 架构图1 架构图2 Master组件 提供集群的控制,对组件进行全局决策,并检测影响集群事件;Master组件可以在集群的任何节点运行,为了简单起见,通常会在一台机器上启用所有组件,并且不会在这个机器上运行用户容器; Kube-apiserver 主节点上负责提供Kuber 阅读全文
posted @ 2020-01-15 15:43 谭洪军 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Migration 常用命令 Add-Migration Init --其中Init是你的版本名称 update-database Init --更新数据库操作 init为版本名称 Add-Migration EditPwdLength --同上,不在解释 update-database EditP 阅读全文
posted @ 2020-01-05 14:32 谭洪军 阅读(5849) 评论(0) 推荐(2) 编辑
摘要: 最近Core3.1的更新让大家开始逐渐使用多起来了,但是坑还是不少,网上相关资料却也很少,这里给大家分享一下使用MqSql的一个常见问题。 错误内容:Method 'get_Info' in type 'MySql.Data.EntityFrameworkCore.Infraestructure.M 阅读全文
posted @ 2020-01-05 14:21 谭洪军 阅读(2180) 评论(3) 推荐(0) 编辑
摘要: 通用设计原则 分离关注点 构建应用程序应该将核心业务行为与基础结构及用户界面逻辑分开,理想情况下业务规则和逻辑应单独位于一个项目中,且不依赖于应用程序中的其他项目。 通用设计原则 分离关注点 封装 应用程序中的不同部分应该通过封装与应用程序中的其他部分隔离开。只要不违反外部协定,应用程序组件和层能在 阅读全文
posted @ 2020-01-03 10:44 谭洪军 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 使用Postman请求示例: 一、在Headers要声明请求类型Content-Type 二、body提交要使用raw,且声明为json格式传输 三、如果有authorization验证还需要带上(如果没有直接忽略) 关于Postman提交请求,Controller无法获取对象的原因分析: 1、先贴 阅读全文
posted @ 2020-01-03 10:18 谭洪军 阅读(1190) 评论(0) 推荐(2) 编辑