前言 在企业落地 K8S 的过程中,私有镜像库 (专用镜像库) 必不可少,特别是在 Docker Hub 开始对免费用户限流之后, 越发的体现了搭建私有镜像库的重要性. 私有镜像库不但可以加速镜像的拉取还可以避免因特有的"网络问题"导致镜像拉取失败尴尬. 当然部署了私有镜像库之后也需要对镜像库设置一些安全策略,大部分私有镜像库采用 IP访问策略+认证 (非公开项目) 的方式对镜像库进行安全保护. 那么对于含有认证限制的镜像库,在 K8S 中该如何优雅的集成呢? 下文就总结了在 K8S…
公司的网络实在是太差了, 想着自己搭建一个私有的镜像库进行使用测试使用.... docker pull registry.docker-cn.com/library/registry docker tag xxxx registry docker run -d -p 5000:5000 -v /registry:/var/lib/registry registry 修改docker的参数文件: 1. 修改/etc/sysconfig下的 docker 文件 增加配置信息 OPTIONS='--i…
如何在ES6中管理类的私有数据?本文为你介绍四种方法: 在类的构造函数作用域中处理私有数据成员 遵照命名约定(例如前置下划线)标记私有属性 将私有数据保存在WeakMap中 使用Symbol作为私有属性的键 对构造函数来说,前两种方法在 ES5 中已经很常见了,后两种方法是 ES6 中新出现的.现在我们在同一个案例上分别用这四种方法来实践一下: 1. 在类的构造函数作用域中处理私有数据成员 我们要演示的这段代码是一个名为 Countdown 的类在 counter(初始值为 counter)变成…
问题 在编码过程中,经常会遇到用某个数值来表示某种状态.类型或者阶段的情况,比如有这样一个枚举:   public enum ComputerState { OPEN(10), //开启 CLOSE(11), //关闭 OFF_LINE(12), //离线 FAULT(200), //故障 UNKNOWN(255); //未知 private int code; ComputerState(int code) { this.code = code; } } 通常我们希望将表示状态的数值存入数据库…
如何在 Swoole 中优雅的实现 MySQL 连接池 一.为什么需要连接池 ? 数据库连接池指的是程序和数据库之间保持一定数量的连接不断开, 并且各个请求的连接可以相互复用, 减少重复连接数据库带来的资源消耗, 一定程度上提高了程序的并发性能. 二.连接池实现要点 协程:使用 MySQL 协程客户端. 使用 MySQL 协程客户端,是为了能在一个 Worker 阻塞的时候, 让出 CPU 时间片去处理其他的请求,提高整个 Worker 的并发能力. 连接池存储介质:使用 \swoole\cor…
创建harbor私有镜像库 一.部署准备: harbor软件包   在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下   tar zxvf harbor-offline-installer-v1.4.0.tgz [root@cicd kubernetes]# cd harbor [root@cicd harbor]# ls common docker-compose.notary.yml ha harbor.v1.4.0.tar.gz LI dock…
    一.部署准备: 1.准备harbor软件包       在部署节点上:       2.挂载一个磁盘,专门存储harbor镜像和文件     3.进入到/etc/docker/harbor/目录,修改如下配置文件 找到如下参数,并修为如下配置: hostname = reg.yunwei.edu ui_url_protocol = https ssl_cert = /data/harbor/cert/harbor.crt ssl_cert_key = /data/harbor/cert/…
1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成,非常方便 国内专属加速器,一个人的专属通道,国外需要FQ下载的镜像,在这里统统可以搞定 阿里云端构建,不需要占用本地资源.全球网络直达,有墙?不存在的,可以 直接选海外机构建 免费~!免费~!免费~! 不限空间~!不限空间~!不限空间~! 2. 注册使用 打开  https://dev.aliyun…
docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://harbor.op.xxxx.com/v2/: x509: certificate signed by unknown authority 环境centos7+docker 1.17 解决方法:1. 添加https证书,方法自己搜下2. 加--insecure-registry参数 配置文件位置/usr/lib/systemd/system/docker.servi…
1. 什么是防抖节流 防抖:防止重复点击触发事件 首先啥是抖? 抖就是一哆嗦!原本点一下,现在点了3下!不知道老铁脑子是不是很有画面感!哈哈哈哈哈哈 典型应用就是防止用户多次重复点击请求数据. 代码实现要点:设置一个定时器,通过闭包,抓住定时器变量,控制定时器的添加和清除 直接上代码 function debounce(fn, time) { let _arguments = arguments let timeout = null return function () { if (timeou…
拉取镜像 docker pull registry:2.6.2   生成账号密码文件,这里采用htpasswd方式认证 docker run --rm --entrypoint htpasswd registry:2.6.2 -Bbn admin 123456 > /data/k8s/registry/auth/htpasswd 备注:该账号密码是在登录私库和访问api接口的时候也需要,上述就是生成一个带账号为admin,密码为123456的加密htpasswd文件   配置文件 cat <&…
一.harbor介绍 在实际生产运维中,往往需要把镜像发布到几十.上百台或更多的节点上.这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的,我们需要一个像Git仓库一样系统来统一管理镜像.这里介绍的是一个企业级镜像仓库Harbor,将作为我们容器云平台的镜像仓库中心. Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性…
阅读目录 在Swift中使用JSON的问题 开始 基础用法 枚举(Enumeration) 下标(Subscripts) 打印 调试与错误处理 后记   因为Swift对于类型有非常严格的控制,它在处理JSON时是挺麻烦的,因为它天生就是隐式类型.SwiftyJSON是一个能帮助我们在Swift中使用JSON的开源类库.开始之前,让我们先看一下在Swift中处理JSON是多么痛苦. 在Swift中使用JSON的问题 以Twitter API为例.使用Swift,从tweet中取得一个用户的“na…
1.准备工作   安装有python和php环境的电脑一台. 2.书写程序. php程序如下 我们也可以将exec('python test.py') 换成 system('python test.py') 区别是  system 有返回结果,exec没有返回结果 ps: 后记,如果是python 中有中文字符串,在php程序中要做编码转换处理. iconv('gbk', 'utf-8', $output);…
前言 在Postman中可以编写和执行自动化测试,使用 JavaScript 编写基本的 API 测试,自由编写任何用于自动化测试的测试方案. 在POSTMAN中读取Cookie值 1. 我们需要向" /doLogin"Web API 发送请求以接收用户详细信息以登入系统,但我们不能直接发送请求. 2. 我们需要发送一个登录请求(具有有效的凭据)以接收令牌作为 Cookie 值 ,然后将其设置为"环境变量". 3. 最后,我们将在请求标头中使用"环境变量&…
这是我在内部部署Docker Registry时记录下来的笔记,操作环境是Centos 7.Docker 18.06.1-ce 1.运行registry 我当前所使用的主机的IP是192.168.1.249,工作目录在:/data/docker/registry, # docker run -d -p 5000:5000 --restart always --name registry \ -v /data/docker/registry/data:/var/lib/registry regis…
安装和配置数据存储仓库MySQL 1.MySQL简介 2.MySQL特点 3.安装和配置MySQL 4.在MySQL数据库导入数据 5.对MySQL数据库进行授权 1.MySQL简介 MySQL 是一款安全.跨平台.高效的,并与PHP.Java等主流编程语言紧密结合的数据库系统.该数据库系统是由瑞典的MySQL AB公司开发.发布并支持,由 MySQL的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的.MySQL 的象征符号是一只名…
不乱于心,不困于情,不畏将来,不念过往,如此安好 --<不宠无惊过一生>丰子恺 概述 关于在 k8s 中安装 jenkins 和 sornarqube 可以查看下面的文章: 在 k8s 中安装 jenkins 使用 helm 在 k8s 中安装 sonarqube 本文主要记录一下如何在 k8s 中的 jenkins 集成 sonarqube 实现代码质量检查,本文内容主要参考下面的官方文档. https://docs.sonarqube.org/latest/analysis/scan/so…
不使用pvc的方式在K8S中部署apisix-gateway 简介 我的apisix使用etcd作为数据存储服务器,官方的使用pvc方式或者docker-compose的方式,对于新手不太友好,本篇是从etcd的安装到apisix的打通都会涉及. 部署etcd etcd 是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供访问.通过分布式锁,leader选举和写屏障(write barriers)来实现可靠的分布式协作.etcd集群是为高可用,持久性数据存储和检索而准备. ubuntu…
不使用pvc的方式在K8S中部署apisix-gateway 简介 因为公司项目准备重构,现在做技术储备,之前公司项目使用的ocelot做网关,ocelot是.net平台下的一个网关,也是很不错,但是在选型的时候需要考虑到性能问题,所以在这次重构中抛弃了ocelot,看了apisix和kong,kong也是一个很不错的网关,不过因为对kong不太了解,刚好有朋友在用apisix所以就选了apisix来做新的网关,避免了重复掉到坑里面.不单单是部署,后面还要使用apisix进行身份认证等一系列的插…
1. 部署准备 准备harbor软件包 在部署节点上: mv harbor-offline-installer-v1.4.0.tgz /opt/ && cd /opt tar zxvf harbor-offline-installer-v1.4.0.tgz cd harbor 2. 修改配置文件 harbor.cfg docker-compose.clair.yml 准备ca证书tar包,并解压移动到/data/harbor/cert目录下 找到如下参数,并修为如下配置: hostname…
一.部署准备: 准备harbor软件包 在部署节点上: #mv harbor-offline-installer-v1.4.0.tgz /opt/ && cd /opt #tar zxvf harbor-offline-installer-v1.4.0.tgz #cd harbor 二.修改配置文件: harbor.cfg docker-compose.clair.yml 准备ca证书tar包,并解压移动到/data/harbor/cert(自己创建)目录下     找到如下参数,并修为如…
如何在NodeJS项目中优雅的使用ES6 NodeJs最近的版本都开始支持ES6(ES2015)的新特性了,设置已经支持了async/await这样的更高级的特性.只是在使用的时候需要在node后面加上参数:--harmony.但是,即使如此node也还是没有支持全部的ES6特性.所以这个时候就需要用到Babel了. 现在开始Babel 在开始使用Babel之前,假设 你已经安装了nodejs,并且已经熟悉了Js. 你也可以使用npm安装各种依赖包. 而且你也对ES6(后来改为ES2015)有一…
docker私有仓库建立 环境说明我们选取192.168.5.2做私有仓库地址yum install docker -y1.启动docker仓库端口服务 docker run -d -p 5000:5000 --privileged=true -v /data/history:/data/registry registry [root@Control docker_dw_images]# docker imagesREPOSITORY           TAG                 …
前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知道每个API做什么? 可能,有人会在内部形成一份word文档.pdf:有人会建立一个单独的站点,然后将API的地址,参数等信息列在上面:有人会借助第三方的工具来生成一份文档等. 当然,这基本是取决于不同公司的规范. 说起API文档,就想到前段时间做的微信小程序,由于那个不完善的接口文档,从而导致浪费…
问题 在工作中常会遇到将数据分组排序的问题,如在考试成绩中,找出每个班级的前五名等. 在orcale等数据库中可以使用partition语句来解决,但在mysql中就比较麻烦了.这次翻译的文章就是专门解决这个问题的 原文地址: How to select the first/least/max row per group in SQL 翻译 在使用SQL的过程中,我们经常遇到这样一类问题:如何找出每个程序最近的日志条目?如何找出每个用户的最高分?在每个分类中最受欢迎的商品是什么?通常这类"找出每…
对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识,包括物理端口和软件端口.由于 Linux 操作系统是一个软件,因此本文只讨论软件端口.软件端口始终与主机的 IP 地址和相关的通信协议相关联,因此端口常用于区分应用程序.大部分涉及到网络的服务都必须打开一个套接字来监听传入的网络请求,而每个服务都使用一个独立的套接字. 推荐阅读: 在 Linux 上…
本篇内容: 如何在Android中创建多进程?查看进程的三种方式有哪些? 多进程模式的运行机制?- 演示了多进程出现问题中的两种情况: 静态成员失效 Application多次创建 IPC基础概念介绍 1.如何在Android中创建多进程? AndroidManifes.xml <!-- Chapter 2 IPC机制 --> <activity android:name=".Chapter2.Chapter2"></activity> <ac…
2016-01-25更新 上篇文章总结k8s中搭建hbase时,遇到Pod中hostname的DNS解析问题,本篇将通过修改kube2sky源码来解决这个问题. 1 前言 kube2sky在Github上的项目(戳这里)一直在更新,放在DockerHub平台上的镜像滞后较多,有重新构建的必要.虽然新版kube2sky加入了对Pod的DNS解析,域名格式为<pod-ip-address>.<namespace>.pod.<cluster-name>,并不能直接通过host…