自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 kube-flannel.yml

---apiVersion: policy/v1beta1kind: PodSecurityPolicymetadata: name: psp.flannel.unprivileged annotations: seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default seccomp.security.alpha.kubernetes.io/defaultProfileName: docke

2020-11-19 09:29:18 331 1

原创 在k8s集群部署(Java)项目

一、容器交付流程开发代码 - 持续交付/集成 - 应用部署 - 运维二、k8s部署Java项目流程制作镜像 - 推送到镜像仓库 - 控制器部署镜像 - 对外暴露应用 - 运维1、准备java项目,把java进行打包(jar包或者war包)(1)需要使用两个依赖环境java环境 - jdkmaven环境(2)把java项目(springboot)打成war包重要事情 :编写dockerfile//dockerfileFROM openjdk:8-jdk-alpineVOL

2020-11-19 09:28:15 1415 1

原创 搭建高可用(多master)集群

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >1. 安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:一台或多台机器,操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2

2020-11-18 09:51:31 473

原创 k8s-集群资源监控

一、监控指标1、集群监控(1)节点资源利用率(2)节点数(3)运行pods2、Pod监控(1)容器指标(2)应用程序二、监控平台搭建方案 prometheus + grafana1、prometheus开源的监控、报警、数据库以HTTP协议周期性的抓取被监控组件的状态不需要复杂的集成过程,使用http接口接入既可以了2、grafana开源的数据分析和可视化工具支持多种数据源三、搭建监控平台1、部署promethues#1、创建一个文件夹用于存放以下yaml文件

2020-11-18 09:48:44 527

原创 k8s-数据持久化存储

一、nfs 网络存储pod重启,数据依然存在1、找一台服务器作为nfs服务端(1)安装nfsyum install -y nfs-utils(2)设置挂载路径vi /etc/exports/data/nfs *(rw,no_root_squash)(3)设置的挂载路径首先保证有这个路径,没有则创建mkdir datamkdir nfs2、在k8s集群node节点上安装nfsyum install -y nfs-utils3、在nfs服务器启动nfs服务systemct

2020-11-18 09:47:15 475

原创 k8s-Helm

一、引入1、之前方式部署应用基本过程//编写yaml文件//创建一个deployment类型的nginx应用,yaml文件kubectl create deployment nginx --image=nginx -o yaml//创建一个service,类型为 NodePort(对外提供访问)//对外暴露端口kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort//查看创建的podkubec

2020-11-18 09:46:02 303

原创 k8s-Ingress

1、把端口号对外进行暴露,通过ip+端口号进行访问使用service里面的NodePort实现2、NodePort缺陷在每个节点上都会启用端口,在访问的时候通过任何节点,通过节点ip+暴露端口就可以实现访问意味着每个端口只能使用一次,并且一个端口对应一个应用实际操作的访问都是用域名进行访问,根据不同的域名跳转到不同端口的服务中去3、Ingress和pod关系pod和ingress通过service进行关联ingress作为统一入口,由service关联一组pod4、使用Ingr

2020-11-18 09:43:46 534

原创 k8s-集群安全机制

1、概述(1)访问k8s集群时候,需要经过三个步骤完成具体操作认证鉴权(授权)准入控制(2)进行访问时候,过程中都需要经过apiserver,apiserver做统一协调,比如门卫。访问过程中需要证书、token、或者用户名+密码如果访问pod需要serviceAccount第一步 认证 传输安全传输安全:对外不暴露8080端口,只能内部访问,对外使用端口6443认证客户端身份认证常用方式:HTTPS证书认证,基于ca证书http token认证,通过token识别

2020-11-18 09:43:09 175

原创 k8s-配置管理

Secret作用:加密数据存在etcd中,让Pod容器以变量或者Volume方式挂载到容器中场景:凭证//将admin进行base64编码echo -n "admin" | base64//1.创建Secret加密数据//Secret.yamlapiVersion: v1kind: Secretmetadata: name: mysecrettype: Opaquedata: username: YWRtaW4 password: MWYy2DF1MmU2N2Rm

2020-11-18 09:42:24 148

原创 Controller(Job和CronJob)

job(一次性任务)//计算圆周率apiVersion: batch/v1kind: Jobmetadata: name: pispec: template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "wle", "print bpi(2000)"] restartPolicy: Never backoff

2020-11-18 09:41:33 115

原创 Controller(DaemonSet)

使用DaemonSet方式部署守护进程在每个node上运行一个pod,新加入的node也同样运行在一个pod里面在每个node节点上安装数据采集工具apiVersion: apps/v1kind: DaemonSetmetadata: name: ds-test labels: app: filebeatspec: selector: matchLabels: app: filebeat template: metadata:

2020-11-18 09:37:39 95

原创 Controller(StatefulSet)

1、无状态和有状态(1)无状态认为Pod都是一样的没有顺序要求不用考虑在哪个node上运行随意进行伸缩和扩展(2)有状态上面因素都要考虑到让每个Pod都独立的,保持Pod启动顺序和唯一性唯一的网络标识符,持久存储有序,比如mysql主从2、使用StatefulSet(有状态)方式部署应用无头service :<ClusterIP: none>//无头serviceapiVersion: v1kind: Servicemetadata: name:

2020-11-18 09:36:34 94

原创 k8s-Controller

1、Controller概述在集群上管理和运行容器对象2、Pod和Controller关系Pod是通过controller实现应用的维护:弹性伸缩、滚动升级等Pod和Controller之间建立关系的方式?spec: replicas: 1 selector: matchLabels: app: web strategy: {} template: metadata: creationTimestamp: null labels

2020-11-17 19:30:25 176

原创 k8s-namespace

1、namespace概述你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!2、“default” Namespace大多数的Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:[root@master01 ~]# kubectl get namespaceNAME ST

2020-11-17 19:29:30 120

原创 k8s-Service

1、Service概述Service 是 Kubernetes 最核心概念,通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上2、Service存在意义防止Pod失联(服务发现)定义一组Pod访问策略(负载均衡)3、Pod和Service关系spec: replicas: 1 selector: matchLabels: app: web strategy: {} template:

2020-11-17 19:28:42 76

原创 k8s-Pod

1、Pod概述Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象,其他的资源对象都是用来支 撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者 Ingress 资源对象是用来暴露 Pod 引用对象的,PersistentVolume 资源对象是用来为 Pod 提供存储等等,k8s 不会直接处理容器,而是 Pod,Pod 是由一个或多个 container组成Pod

2020-11-17 19:27:46 128

原创 初识k8s

k8s基础了解IaaS(infrastructure as aservice) 基础设施级服务 -阿里云PaaS(platform as aservice) 平台级服务 -新浪云、dockerSaaS(software as a service) 软件设施级服务 -office365mesos Apache的开源协议 分布式资源管理框架 2019-5 Twitter转向k8sdocker swarm

2020-11-17 19:26:31 294

原创 初识docker

docker学习JavaEE java springmvc、springboot、mybatis…docker Go k8s、Jenkins…docker是什么一次封装,到处运行解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术docker三要素:镜像、容器、仓库docker能干嘛虚拟机缺点:资源占用多冗余步骤多启动慢docker和传统虚拟化方式的不同之处:传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行

2020-11-17 19:25:32 138

原创 k8s-kubectl命令行工具

kubectl命令行工具用法详解kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行操作kubectl用法概述:$ kubectl [command] [TYPE] [NAME] [flags](1)command:子命令,用于操作Kubernetes集群资源对象的命令,例如create、delete、describe、get、apply等。(2)TYPE:资源对象的类型,区分大小写,能以单数形式、复数形式或者简写形式表示。例如以下3种TYPE是等价

2020-11-17 19:24:09 347

原创 k8s集群资源编排(yaml文件)

1、YAML 文件概述k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署。2、YAML 文件书写格式(1)YAML 介绍YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。 YAML 是一个可读性高,用来表达数据序列的格式。(2)YAML 基本语法使用

2020-11-17 19:23:10 1738

原创 搭建k8s集群

搭建方式方式一、kubeadmkubeadm是一个k8s部署工具,提供kubeadm init和kubeadm join,用于快速部署k8s集群1、部署方式介绍1、创建一个master节点 kubeadm init2、将node节点加入到当前集群中 kubeadm join <master节点的IP和端口>2、安装要求1、一台或多台机器,操作系统为centos72、硬件配置:2GB或者更多RAM,两个CPU或更多CPU,硬盘30GB或者更多3、集群中所有机器之间网络互通

2020-11-17 19:19:19 153 1

原创 Docker和k8s的区别与介绍

Docker和k8s的区别与介绍https://www.cnblogs.com/misswangxing/p/10669444.htmlDocker技术的三大核心概念,分别是:镜像(Image)容器(Container)仓库(Repository)对Docker镜像进行管理的,是Docker Registry服务最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的Registry,并拥有大量的高质量的官方镜像。K8S,就是基于容器的集群管理平台,它的全称,是ku

2020-11-17 19:17:03 4500 2

原创 微信小程序初识

微信小程序代码的构成json :配置文件,以json格式存储- -些配置.wxml :模板文件,描述页面结构,相当于HTML.WXSS :样式文件,调整页面样式,相当于css.js :脚本逻辑文件,页面和用户的交互逻辑json文件project.config.json :项目配置app.json :全局配置page.json :页面配置WXMLWXML全称是WeiXin Markup Language ,是小程序框架设计的一套标签语言,结合小程序的基础组件、事件系统,可

2020-09-15 15:24:45 450

原创 prometheus常用函数

prometheus常用函数1、rate函数rate() 函数则表示某段时间内数据的平均值rate() 函数是专门搭配counter数据类型使用函数功能是取counter在这个时间段中平均每秒的增量数例如:1) (用于监控主机上所有网卡每分钟的流量)rate(node_network_receive_bytes[1m])1 > 比如累积量从 440011229804456 --> 440011229805456,1分钟内增加了 1000bytes (假设)···加入

2020-09-12 18:47:39 1899

原创 使用 Prometheus-Operator 监控 Calico(网络监控)

使用 Prometheus-Operator 监控 Calico(网络监控)Calico 中最核心的组件就是 Felix,它负责设置路由表和 ACL 规则等,以便为该主机上的 endpoints 资源正常运行提供所需的网络连接。同时它还负责提供有关网络健康状况的数据(例如,报告配置其主机时发生的错误和问题),这些数据会被写入 etcd,以使其对网络中的其他组件和操作人员可见。一、配置 Calico 以启用指标默认情况下 Felix 的指标是被禁用的,必须通过命令行管理工具 calicoctl 手动更

2020-09-09 14:48:51 1327

原创 felix-dashboard.json

{ "annotations":{ "list":[ { "builtIn":1, "datasource":"-- Grafana --", "enable":true, "hide":true, "iconColor":"rgba(0, 211, 255, 1)",

2020-09-09 14:47:17 308

原创 Calico相关知识

Calico相关知识1、基本概念Calico 是纯三层的 SDN 实现,它基于 BPG 协议和 Linux 自己的路由转发机制,不依赖特殊硬件,没有使用 NAT 或 Tunnel 等技术。能够方便的部署在物理服务器, 虚拟机(如 OpenStack)或者容器环境下。同时它自带的基于 Iptables 的 ACL 管理组件非常灵活,能够满足比较复杂的安全隔离需求。除了为 OpenStack VMs 提供网络之外,Calico 还为 Docker 环境的容器提供网络。每个容器有自己的 IP 和细粒

2020-09-09 14:09:44 243

原创 Grafana相关知识

Grafana相关知识1、基本概念:Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。 官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQL和OpenTSDB等。每个数据源的查询语言和能力都是不同的。你可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源,它就属于一个特定的组织。DashBoard:仪表盘,

2020-09-09 13:59:38 886

原创 Prometheus相关知识

prometheus相关知识监控的目的google指出,监控分为白盒监控和黑盒监控之分。白盒监控:通过监控内部的运行状态及指标判断可能会发生的问题,从而做出预判或对其进行优化。黑盒监控:监控系统或服务,在发生异常时做出相应措施。– 监控的目的如下 –1)、根据历史监控数据,对为了做出预测2)、发生异常时,即使报警,或做出相应措施3)、根据监控报警及时定位问题根源4)、通过可视化图表展示,便于直观获取信息    1、特点:Prometheus 属于一站式监控告警平台,依

2020-09-09 13:47:14 200 2

原创 springcloud相关知识

springcloud相关知识一、单体架构-在软件设计的时候经常提到和使用经典的3层模型,即表现层,业务逻辑层,数据访问层。虽然在软件设计中划分了3层模型,但是对业务场景没有划分,一个典型的单体架构就是将所有的业务场景的表现层,业务逻辑层,数据访问层放在一个工程中最终经过编译,打包,部署在一台服务器上。此时服务架构图单体架构不足之处:-在小型应用的初期,访问量小的时候这种架构的性价比还是比较高的,开发速度快,成本低,但是随着业务的发展,逻辑越来越复杂,代码量越来越大,代码得可读性和可维护性越来越

2020-09-09 11:33:22 110

原创 SVN在eclipse中的安装与使用

SVN安装到eclipse的方式一、在eclipse里下载subclipse插件在eclipse中打开Help–>Eclipse Marketplace–>在Find中输入subclipse搜索 --> 找到subclipse点击install注意:可能打开Eclipse Marketplace会报错,解决方式:(1)打开eclipse安装目录的配置文件eclipse.ini,输入下边四句话如图:重启eclipse,继续上边操作,如果不行的话看(2)-Dorg.eclipse.

2020-09-09 11:13:18 383

原创 git合并分支代码的两种方式

合并分支代码的两种方式方式一、git命令1、进入要合并的分支(如开发分支合并到master,则进入master目录)git checkout master2、拉取最新代码git pull 3、查看所有分支是否都pull下来git branch -a4、使用merge合并开发分支git merge 分支名5、查看合并后的状态git status6、有冲突的话,通过IDEA或者eclipse解决冲突7、解决冲突之后,将冲突文件提交暂存区git add 冲突文件8、提交m

2020-09-09 10:50:16 11773

原创 docker-registry相关知识

私有仓库docker-registry一、关于registry:官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继

2020-09-07 17:38:29 1096

原创 demo部署到docker+mysql+Tomcat+jdk

demo部署到docker+mysql+Tomcat+jdk环境:Windows10、虚拟机VirtualBox、Linux系统CentOS7、开发运维软件FinalShell、容器Docker下载文件:apache-tomcat-8.5.57.tar jdk-8u251-linux-x64.tar过程:一、先在virtualBox的centos7系统上进行获取MySQL镜像生成容器操作,并将本地数据库上传到虚拟机的服务器数据库1、#查找MySQL镜像的版本信息#

2020-09-07 10:39:22 435

原创 本地项目做成docker镜像并生成容器启动运行

本地项目做成docker镜像并生成容器启动运行环境:Windows10、虚拟机VirtualBox、Linux系统CentOS7、开发运维软件FinalShell、容器Docker过程:一、把jdk,tomcat,Dockfile还有war包放在同一目录下二、编辑Dockfile文件1、#依赖镜像名称和ID#FROM centos:72、#指定镜像创建者信息#MAINTAINER dongxh_csd<dongxh_csd@si-tech.com.cn>3、#添加j

2020-09-04 09:58:46 2407

原创 本地项目部署到docker的Tomcat容器启动运行

本地项目部署到docker的Tomcat容器启动运行环境:Windows10、虚拟机VirtualBox、Linux系统CentOS7、开发运维软件FinalShell、容器Docker过程: 一、在主机上安装了virtualBox虚拟机 二、在virtualBox上安装Linux系统centos7 三、安装开发运维软件finalshell,用来连接centos7,进行命令行操作 四、在centos7上安装docke

2020-09-03 11:20:14 661

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除