本地部署kubernetes.io官方网站

本地部署kubernetes.io官方网站

在公司办公网访问kubernetes.io官方网站非常慢,为方便工作与学习,可以将其在本地进行部署,快速阅读。kubernetes.io项目git地址: https://github.com/kubernetes/website 。 许多开源技术文档均采用Markdown编写,docker、kubernetes也不例外,之后再采用网站生成器Hugo生成静态html进

Java互斥锁ReentrantLock实现原理

了解AQS实现原理之后,再来分析ReentrantLock代码就非常简单了,在学习互斥锁之前很有必要搞清楚可重入锁、公平锁、非公平锁几个概念。 什么是可重入锁?线程成功获取锁之后,可以多次进入临界区访问资源,ReentrantLock就是一种可重入锁,其可重入的实现依赖于AQS的父类AOS,

Java同步器框架AQS与锁实现原理

JUC是Java中并发控制的核心包,其中AQS是并发的基础核心类,类名全称AbstractQueuedSynchronizer,其父类是AbstractOwnableSynchronizer(AOS), 用于存取获得独占锁的线程。Java中的ReentrantLock、CountDownLa
Helm架构与中心化部署解决方案

Helm架构与中心化部署解决方案

随着Google容器调度平台Kubernetes的开源,很多社区与项目逐渐涌现,Helm就是其中之一。Helm可以理解成是Kubernetes的包管理工具, 类似rpm与CentOS、dpkg与Debian的关系。在Helm中,安装包被称为Chart,Helm定义了包的文件结构以及语法规范,
使用Golang部署gRPC服务

使用Golang部署gRPC服务

gRPC与大多数RPC框架一样,通过定义一个服务Service,然后明确指定能够被远程调用的方法。gRPC默认使用Protocol Buffers作为接口定义语言以及消息传输格式, 当然也可以使用其它可替代的协议,关于Protocol Buffers的介绍请参考gRPC协议Protocol Buf

gRPC协议Protocol Buffers

Protocol Buffers是一种灵活、高效、自动序列化结构数据的协议,当前有两个版本,分别是proto2与proto3,两个版本的协议不能完全兼容。 proto3简化了协议使用,生成的协议使用代码支持更多的编程语言,如Java、C++、Python、Java、Lite、Ruby、JavaScript、
CURL探索Kubernetes API Server

CURL探索Kubernetes API Server

在Kubernetes集群中,API Server是集群管理API的入口,由运行在Master节点上的一个名为kube-apiserver的进程提供的服务。 用户进入API可以通过kubectl、客户端库或者http rest,User 或者 Service Account可以被授权进入API。当一个请求到达AP

Harbor镜像构建流程优化

以Harbor v1.4~v1.6之间的版本为例,详细分析其构建离线包的整个流程,然后结合当前的环境以及目标,去优化这个构建流程。 在Harbor的整个构建流程中,涉及的技术知识点包括Shell、Python、Make(Makefile)、Go、Docker等,不要求对这些技术熟练精通, 能看懂
开源Harbor功能结构

开源Harbor功能结构

在了解Harbor之前,有必要先了解一下Docker开源的Docker Registry,Registry就是用来存储管理Docker镜像的服务, 客户端可以向Registry发起镜像的上传、下拉等请求操作。Docker Registry服务早期是由Docker官方下的docker/regist

Docker Login登录凭证安全存储

Docker利用docker login命令来校验用户镜像仓库的登录凭证,实际并不是真正意义上的登录(Web Login),仅仅是一种登录凭证的试探校验,如果用户名密码正确,Docker则会把用户名、密码 以及仓库域名等信息进行base64编码保存在Docker的配置文件中,在Linux中文件路