losergzr's blog


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 公益404

JVM内存布局和参数

发表于 2019-05-04 | 分类于 Java

内存布局

JDK8 的 JVM 内存布局如下:

JVM内存布局

阅读全文 »

JVM系列-类的加载

发表于 2019-04-26 | 分类于 Java

类加载

从class文件到内存中的类,按先后顺序需要经过加载、链接、初始化三个步骤,内存中的类没有经过初始化是不能使用的。

加载过程

加载的过程就是查找字节流的过程,对于数组类来说没有对应的字节流,是由Java虚拟机直接生成的,对于其他类来说则需要借助类加载器完成查找字节流的过程。

阅读全文 »

k8s系列-存储-ConfigMap和Secret

发表于 2019-04-16 | 分类于 DevOps

K8S-ConfigMap和Secret

ConfigMap和Secret性质上比较类似,K8S中都通常用来存储一些配置信息,Secret一般用来保存密码、token、密钥等敏感数据的配置问题,定义声明式文件的时候可以用volume或者环境变量方式引用,ConfigMap通常用来存一些没那么敏感的数据。

阅读全文 »

k8s系列-StatefulSet-存储状态

发表于 2019-04-16 | 分类于 DevOps

K8S-StatefulSet

存储状态

StatefulSet 对存储状态的管理机制,主要通过使用 Persistent Volume Claim 的功能。

Pod 中需要将容器内部的存储进行挂载出来,只要在 Pod 中使用 Volume,定义一个具体类型的 Volume 就可以了。

比如下面这种最简单的 hostPath

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
apiVersion: v1
kind: Pod
metadata:
name: nginx-volume
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: nginx-storage1
volumes:
- name: nginx-storage1
hostPath:
path: /home/html
阅读全文 »

k8s系列-StatefulSet-拓扑状态

发表于 2019-04-07 | 分类于 DevOps

K8S-StatefulSet

引入

Deployment不足以满足所有的应用编排问题,造成这个问题的根本原因,因为Deployment对应用做了一个简单的假设,一个应用的所有Pod是完全一样的,它们之间没有顺序,也无所谓到底运行在哪一台宿主机上,需要的时候Deployment可以根据Pod模板创建新的Pod,不需要的时候Deployment就可以杀掉任意一个Pod。

这样的话并不能满足我们的所有场景,多个实例之间可能存在依赖关系,比如主从关系、主备关系。还有一些自身实例中自己带有一些缓存数据的,实例一旦被杀掉虽然能够重建出来但是数据已经丢了。

这种实例之间有不对等关系,以及实例对外部数据有依赖的,称为有状态应用,Deployment适合用来部署无状态应用,容器技术对于有状态应用来说,困难程度直线上升,一开始有状态应用几乎成了容器技术圈子的忌讳,不过Kubernetes还是成为了第一个吃螃蟹的人,这个吃螃蟹的工具就是StatefulSet。

阅读全文 »

k8s系列-Deployment

发表于 2019-04-05 | 分类于 DevOps

K8S-Deployment

介绍

Kubernetes最核心的功能:编排
Pod本质上是对容器进一步的抽象和封装,容器就好像我们平时了解到的集装箱一样,集装箱虽然好用,但是四面光秃秃的,吊车怎么来吊集装箱并且把它摆好呢?Pod对象就好像是加装了吊环的集装箱,让吊车(Kubernetes)能够能够更好的操作它,Kubernetes怎么操作它呢,就是由控制器(Controller),最常用的控制器Deployment。

阅读全文 »

k8s系列-Pod

发表于 2019-03-26 | 分类于 DevOps

K8S-Pod

基本概念

Pod是kubernetes中最重要的概念,Pod不是容器,是kubernetes中最小的编排单位,这个设计落实到API对象上,容器Container变成了Pod的一个属性,Pod扮演的是传统部署中的“虚拟机”的角色,这样设计是为了让用户从传统虚拟机环境迁移到kubernetes更加顺畅。

Pod就好比现在的虚拟机,Container就是虚拟机里面的进程,比如:存储、网络、调度的Pod。

阅读全文 »

k8s系列-k8s基础

发表于 2019-03-25 | 分类于 DevOps

K8S-基础组件

集群容器编排经过Swarm,Mesos,K8S的竞争,最终kubernetes以大优势胜出。Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。K8S提供完善的管理工具,涵盖开发、部署测试、运维监控各个环节。比如集成日志组件和监控组件等。K8S支持5000个节点。

阅读全文 »

k8s系列-使用kubeadm部署k8s集群

发表于 2019-03-17 | 分类于 DevOps

K8S-部署

一.kubeadm简介

K8S基础相关概念后续介绍,先使用kubeadm搭建k8s集群

由于原生K8S部署方式过于复杂,被广大k8s用户用户诟病,所以推动了像kubeadm、kops、kubespray等等,虽然原生k8s部署复杂,所以先使用kubeadm进行k8s部署

kubeadm介绍

Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践

阅读全文 »

ElasticSearch学习笔记

发表于 2018-10-29

一.ElasticSearch简介

ES是目前全文搜索引擎首选,可以快速存储、搜索和分析海量数据,维基百科、Stack Overflow、Github都采用它。ES底层是开源库Lucene,ES是Lucene的封装,提供REST API的操作接口,开箱即用。

二.ES安装

安装较为简单,需要先安装JAVA8,通过官网下载,下载地址。解压到目录下,输入下面命令启动ES

阅读全文 »
123
ggzr

ggzr

一只咸鱼的博客

24 日志
2 分类
15 标签
© 2020 ggzr
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4