搭建npm私有镜像仓库,天下苦于npm build久矣
前言当你的研发团队越来越大,或是你无法忍受node超慢的构建时你可以考虑继续读下去,给大家推荐一个基于Verdaccio相对较完整的解决方案。 由于环境的原因,我们直接去 npmjs.org 下载就不要考虑了,可以将npm config set registry=https://registry.npm.taobao.org 可以缓解一部分, 但是如果你有些自己公司定制的npm包如何在公司内分享
【Kubernetes系列】第10篇 网络原理解析(下篇)
03 覆盖网络覆盖⽹络(overlay network)是将TCP数据包装在另⼀种⽹络包⾥⾯进⾏路由转发和通信的技术。Overlay⽹络不是默认必须的,但是它们在特定场景下⾮常有⽤。⽐如当我们没有⾜够的IP空间,或者⽹络⽆法处理额外路由,抑或当我们需要Overlay提供的某些额外管理特性。⼀个常⻅的场景是当云提供商的路由表能处理的路由数是有限制时,例如AWS路由表最多⽀持50条路由才不⾄于影响⽹络
【Kubernetes系列】第9篇 网络原理解析(上篇)
1. Linux网络基础1.1 名词解释 Network Namespace(网络命名空间):Linux在网络栈中引入网络命名空间,将独立的网络协议栈隔离到不同的命令空间中,彼此间无法通信;docker利用这一特性,实现不容器间的网络隔离。Iptables/Netfilter:Netfilter负责在内核中执行各种挂接的规则(过滤、修改、丢弃等),运行在内核模式中;Iptables模式是在用户模
【Kubernetes系列】第8篇 CI/CD之全流程实践
前言 本实践中已经的示例代码及jenkins-agent镜像已经推送归档至github,—>传送门注意本实践中均为内网数据,你测试时一定要改为自己的环境的有效数据。由于本实践涉及组件较多,若有操作不明确的话,你可以后台留言,我们一起完善。具体操作时若有不清楚,或是错误可以留言,大家一起解决。 1. 准备基础数据 配置gitlab 创建项目上传示例代码 注: 本次示例使用的git
【Kubernetes系列】第7篇 CI/CD之组件部署
前言应对敏捷开发的需求,对CI(持续集成))/CD(持续交付)的提出了更高的标准,今天来讨论下,如何基于开源组件(gitlab/jenkins/harbor/kubernetes)使用CI/CD,赋能团队的开发、运维。 核心组件 组件名称 版本 备注 kubernetes v1.15.3 10.0.0.182:6443 jenkins 2.176.
【Kubernetes系列】第6篇 Ingress controller - nginx组件介绍
1. 概述在上一篇文章中我们介绍了如何通过helm进行安装部署traefik组件,文中还提到常用的ingress controller除了traefik还有Nginx、HAProxy、Kong等,在本篇文章中我们就介绍如何安装部署Nginx-ingress,只有在经过积累不同组件的使用经验之后,我们才能更好的比较其优劣,形成最佳实践。 2. nginx-ingress组件的安装部署2.1 通
【Kubernetes系列】第5篇 Ingress controller - traefik组件介绍
1. 概述为了能够让Ingress资源能够工作,在Kubernetes集群中必须至少有一个运行中的ingress controller组件。也就是说如果在kubernetes集群中没有一个ingress controller组件,只是定义了ingress资源,其实并不会实现http、https协议的请求转发、负载均衡等功能。常见的ingress controller组件如下: NginxTr
【Kubernetes系列】第4篇 Kubernetes包管理工具-helm介绍
01 概述Helm是kubernetes包管理工具,可以方便快捷的安装、管理、卸载kubernetes应用,类似于Linux操作系统中yum或apt-get软件的作用。其主要的设计目的:创建新的chart包将charts包文件打包压缩同chart仓库进行集成,获取charts文件安装及卸载charts到kubernetes集群管理通过helm安装的charts应用02 概念
无忌过招:手把手教你搭建自己的GitLab库
01 前言本文Gitlab的安装为主机方式, 获取其他安装方式请点击git.lug.ustc.edu.cn/help/instal…02 架构架构概述:Unicorn: Handles requests for the web interface and API, 一般gitlab站点,多数是因为这个服务有问题导致的Sidekiq: Background jobs processorRedis:
【Kubernetes系列】第3篇 Kubernetes集群安装部署
本文介绍了如何通过Kubespray来进行部署高可用k8s集群,k8s版本为1.12.5。1、部署手册代码仓库:github.com/kubernetes-…参考文档:kubespray.io/#/2、k8s master机器配置3、k8s 集群安装步骤step1: 设置主机间的免密登录由于kubespray是依赖于ansible,ansible通过ssh协议进行主机之间的访问,所以部署之前需要设
【Kubernetes系列】第2篇 基础概念介绍
1 Pod - 实例Pod是一组紧密关联的容器集合,支持多个容器在一个Pod里共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式完成服务,是Kubernetes调度的基本单位。Pod的设计理念是 每个Pod都有一个唯一的IP。Pod具有如下特征:包含多个共享IPC、Network和UTC namespace的容器,可直接通过localhost通信所有Pod内容器都可以访问共享的Vo
【Kubernetes系列】第1篇 架构及组件介绍
1. Kubernetes简介Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:基于容器的应用部署、维护和滚动升级负载均衡和服务发现跨机器和跨地区的集群调度自动伸缩无状态服务和有状态服务广泛的Volume支持插件机制保证扩展性Kubernetes发展非常迅速,已经成为容器编排领域的领导者。2. Kubernetes 架构及组件介
云原生技术之Docker入门
1. 为什么需要容器?下图是一个比较传统的软件架构:做过java的同学可能对上图的架构方式比较了解,我们通常会将一个应用程序生成一个war包,放到一个tomcat容器当中并在一台虚拟机(VM)中启动运行,然后配置nginx的负载均衡策略,将来自用户的请求转发到某个tomcat应用上,这种基于主机或虚拟机部署的应用会存在以下几个问题:可移植性差需要事先安装应用所需要的运行环境,比如java应用所需要