5 富士康质检员张全蛋

尚未进行身份认证

我要认证

人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。

等级
TA的排名 4k+

kubernetes 深入学习持久化存储PV和PVC

volume支持多种不同的内置驱动,使用volumes需要知道后端驱动的细节,使用起来不方便,因此社区提出了PV概念,即通过管理员定义好PV,通过PVC使用PV;随着PV数量的不断增加,管理员需要频繁定义PV,因此提出了动态存储StorageClass,通过PVC中调用StorageClass动态创建PV,接下来介绍高级进阶PV/PVC。1. PV与PVC存储1.1 PV概念介绍PV即PersistentVolume持久化存储,是管理员定义的一块存储空间,能抽象化底层存储细节,和node类.

2020-10-23 17:34:03

Tomcat 系统架构(上): 连接器是如何设计的?

在面试时我们可能经常被问到:你做的 XX 项目的架构是如何设计的,请讲一下实现的思路。对于面试官来说,可以通过你对复杂系统设计的理解,了解你的技术水平以及处理复杂问题的思路。今天咱们就来一步一步分析 Tomcat 的设计思路,看看 Tomcat 的设计者们当时是怎么回答这个问题的。一方面我们可以学到 Tomcat 的总体架构,学会从宏观上怎么去设计一个复杂系统,怎么设计顶层模块,以及模块之间的关系;另一方面也为我们深入学习 Tomcat 的工作原理打下基础。Tomcat 总体架构我们...

2020-10-23 10:00:54

Kubernetes kubectl config 对集群做配置

在开启了 TLS 的集群中,每当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书) 和 token 两种认证方式是最简单也最通用的认证方式。以kubectl为例介绍kubeconfig的配置。kubectl只是个go编写的可执行程序,只要为kubectl配置合适的kubeconfig,就可以在集群中的任意节点使用。kubectl默认会从$HOME/.kube目录下查找文件名为config的文件,也可以通过设置环境变量KUBECONFIG或者通过设置--kubeconfig...

2020-10-22 20:27:20

Kubernetes 集群安全 - 鉴权 实战rolebinding和clusterrole

创建用户[root@k8s-master ~]# useradd devuser[root@k8s-master ~]# passwd devuserChanging password for user devuser.New password: BAD PASSWORD: The password is shorter than 8 charactersRetype new password: passwd: all authentication tokens updated succ.

2020-10-22 17:31:39

Linux操作系统,为什么需要内核空间和用户空间?

本文以 32 位系统为例介绍内核空间(kernel space)和用户空间(user space)。内核空间和用户空间对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作内核。具体的实现方式基本都是由操作系统将虚拟地址空.

2020-10-22 09:26:09

Redis 高性能IO模型:为什么单线程Redis能那么快?

今天,我们来探讨一个很多人都很关心的问题:“为什么单线程的 Redis 能那么快?”首先,我要和你厘清一个事实,我们通常说,Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。所以,严格来说,Redis 并不是单线程,但是我们一般把 Redis 称为单线程高性能,这样显得“酷”些。接下来,我也会把 Redis 称...

2020-10-21 20:36:18

Kubernetes 集群安全 鉴权

当认证通过以后,并不意味着你有访问资源可能。因为需要鉴权,这样才有访问具体对象的权限。Authorization上面认证过程,只是确认通信的双方都确认了对方是可信的,可以相互通信。而鉴权是确定请求方有哪些资源的权限(具体对资源有哪些资源的权限就需要鉴权)。API Server 目前支持以下几种授权策略(通过 API Server 的启动参数 “--authorization-mode” 设置)AlwaysDeny:表示拒绝所有的请求,一般用于测试 AlwaysAllow:允许接收所有请求.

2020-10-21 17:35:00

Tomcat 连接器executor优化

tomcat自身优化Tomcat 的自身参数的优化,修改配置文件中的配置信息,调整连接数,超时等。1.Connector 连接器的配置Tomcat连接器的三种方式:bio、nio 和 apr,三种方式性能差别很大,apr 的性能最优, bio 的性能最差。而Tomcat 7 使用的Connector 默认就启用的 Apr 协议,但需要系统安装 Apr 库,否则就会使用 bio 方式。2.配置文件优化配置文件优化就是对server.xml进行优化,可以大大提升tomcat请求处理...

2020-10-21 11:10:47

Kubernetes 持久化存储 PV&PVC

Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume 已经提前创建,并且知道确切的 volume-id。 Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护。开发人员要获得上面的信息: 要么询问管理员。 要么自己就是管理员。 这样就带来一个管理上的问题:应用..

2020-10-20 16:18:48

Kubernetes 集群安全机制说明和认证

机制说明Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。Kubernetes 使用了认证(Authentication)、鉴权(Authorization)、准入控制(AdmissionControl)三步来保证API Server的安全。当用户或者pod访问apiserver的时候来镜像身份的识别,这

2020-10-20 15:54:50

Redis 论程序的健壮性 ——就看Redis

“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”。多年的IT生涯,一直希望自己写的程序能够有很强的健壮性,也一直希望能找到一个高可用的标杆程序去借鉴学习,不畏惧内存溢出、磁盘满了、断网、断电、机器重启等等情况。但意想不到的是,这个标杆程序竟然就是从一开始就在使用的分布式缓存——Redis。Redis(Remote Dictionary Server ),即远程字典服务,是 C 语言开发的一个开源的高性能键值对(key-value)的内存数据库。由于它是基于内存的所以它要比基于磁盘读写的数据库效率更

2020-10-20 12:00:57

Tomcat 连接器Connector 的三种运行模式 Bio、Nio、Apr

一、Connector在Tomcat架构中,Connector主要负责处理与客户端的通信。Connector的实例用于监听端口,接受来自客户端的请求并将请求转交给Engine处理。同时将来自Engine的答复返回给客户端。Connector的种类Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector分为以下几类:Http Connector, 基于HTTP协议,负责建立HTTP连接。它又分为BIO Http Connector与NIO..

2020-10-20 11:08:31

Docker 的两类存储资源

Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层。 Data Volume。 我们会详细讨论它们的原理和特性。storage driver在前面镜像章节我们学习到 Docker 镜像的分层结构,简单回顾一下。容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是 Copy-on-Write: 新数据会直接存放在最上面的容器层。 修改现有数据会先从镜

2020-10-19 22:00:36

Kubernetes 中配置基于NFS的持久卷

建议将Pod的数据放入某个持久卷中,以便即使Pod终止后也可以使用这些数据。在Kubernetes(k8s)中,可以在Pod中使用基于NFS的持久卷。在本文中,我们将学习如配置持久卷和持久卷声明,然后我们将讨论如何通过k8s pod中的声明名称使用持久卷。我假设我们有一个功能正常的k8s集群和NFS Server。以下是设置的详细信息: NFS服务器IP = 192.168.179.102 NFS共享目录 = /opt/k8s-pods/data K8s群集 = 一个主节...

2020-10-19 17:21:17

Ansible tags 的用法

这篇文章会介绍playbook中tags的用法。你写了一个很长的playbook,其中有很多的任务,这并没有什么问题,不过在实际使用这个剧本时,你可能只是想要执行其中的一部分任务而已,或者,你只想要执行其中一类任务而已,而并非想要执行整个剧本中的全部任务,这个时候我们该怎么办呢?我们可以借助tags实现这个需求。见名知义,tags可以帮助我们对任务进行'打标签'的操作,当任务存在标签以后,我们就可以在执行playbook时,借助标签,指定执行哪些任务,或者指定不执行哪些任务了,这样说可能不够...

2020-10-19 11:42:40

Tomcat catalina.properties

catalina.properties[root@www conf]# ll catalina.properties-rw------- 1 root root 7125 Nov 9 2016 catalina.properties这个是对jar包的一些控制每个 tomcat服务器都要有自己的类加载器。因为一个服务器需要解决下面几个问题∶1.部署在同一服务器上的不同项目的类应该相互隔离。2.部署在同一个服务器上的两个项目应该可以共享一些 java类库。3.服务应该保证自己的安..

2020-10-19 10:09:55

Linux 内存机制以及手动释放swap和buffer和cache

本文介绍linux内存机制、虚拟内存swap、buffer/cache释放等原理及实操。什么是linux的内存机制? linux什么时候开始使用虚拟内存(swap)? 怎么释放内存? 怎么释放swap?一、什么是linux的内存机制?我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还...

2020-10-19 09:23:25

Linux 为什么我的磁盘I/O延迟很高?

上一节,我们研究了一个狂打日志引发 I/O 性能问题的案例,先来简单回顾一下。日志,是了解应用程序内部运行情况,最常用也是最有效的工具。日志一般会分为调试、信息、警告、错误等多个不同级别。通常,生产环境只用开启警告级别的日志,这一般不会导致 I/O 问题。但在偶尔排查问题时,可能需要我们开启调试日志。调试结束后,很可能忘了把日志级别调回去。这时,大量的调试日志就可能会引发 I/O 性能问题。你可以用 iostat ,确认是否有 I/O 性能瓶颈。再用 strace 和 lsof ,来定位应用程序

2020-10-19 08:52:49

Kubernetes 外部 Storage Provider

如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block Store 的例子:要在 Pod 中使用 ESB volume,必须先在 AWS 中创建,然后通过 volume-id 引用。其他云硬盘的使用方法可参考各公有云厂商的官方文档。Kubernetes Volume 也可以使用主流的分布式存,比如 Ceph、GlusterFS 等,下面是 Ceph 的例子:...

2020-10-18 18:39:03

Kubernetes hostPath Volume Mysql 部署

hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器。大部分应用都不会使用 hostPath Volume,因为这实际上增加了 Pod 与节点的耦合,限制了 Pod 的使用。不过那些需要访问 Kubernetes 或 Docker 内部数据(配置文件和二进制库)的应用则需要使用 hostPath。[root@k8s-master ~]# cat mysql-deploy.yml apiVersion: apps/v1kind:

2020-10-16 17:16:30

查看更多

勋章 我的勋章
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。