Harbor

总结:被MySQL UTF8编码坑的惨痛教训...

旧城冷巷雨未停 提交于 2021-02-17 04:30:30
最近遇到几个项目被MySQL的utf8编码坑,想起之前编码问题被坑的惨痛教训,记录一下,警示自己。 曾几何时,每次建库都选utf8,觉得自己比那些用乱七八糟编码的人不知道酷到哪里去了。直到好多年前的某次课程设计做项目的时候,愉快的建了个用户表: CREATE TABLE `test_user` ( `id` int ( 11 ) unsigned NOT NULL AUTO_INCREMENT, `name` varchar ( 32 ) DEFAULT NULL , PRIMARY KEY ( `id` ) ) ENGINE = InnoDB DEFAULT CHARSET =utf8; 然后愉快的新增用户:INSERT INTO test_user(name) VALUES("我是😁"),接着愉快的反思人生: Incorrect string value : '\xF0\x9F\x98\x81' for column 'name' at row 1 我是谁?我来自哪里?我在干嘛?难道是我代码里面的字符集用错了?不对啊我所有地方都用的utf8啊…… # MySQL 的UTF8编码是什么? 首先来看官方文档: The character set named utf8 uses a maximum of three bytes per character and contains

Docker 公司宣布把 Docker Distribution 捐献给了 CNCF

倖福魔咒の 提交于 2021-02-07 08:11:34
文章目录 1 什么是 Docker Distribution 2 为什么要把 Docker Distribution 捐献给 CNCF 3 关于 CNCF 2021年2月4日,负责维护 Docker 引擎的 Justin Cormack 在 Docker 官方博客宣布把 Docker 发行版(Docker Distribution)捐献给了 CNCF,全文如下:​ 我们很高兴地宣布,Docker 已经把 Docker 发行版(Docker Distribution)捐献给了 CNCF。Docker 致力于开源社区和我们许多项目的开放标准,这一举动将确保 Docker 发行版有一个广泛的团队来维护许多注册中心的基础。 如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号: iteblog_hadoop 什么是 Docker Distribution 发行版是开放源代码,它是容器仓库(container registry,Docker Hub 的一部分)和许多其他容器仓库的基础。它是容器仓库的参考实现,应用非常广泛,因此是容器生态系统的基础部分。这使得它在 CNCF 新家非常合适。 Docker Distribution 主要重写了用 Python 编写的原始 Registry 代码,这是一个比较早的设计,其中没有使用内容寻址存储。Docker

centos7_jdk镜像制作

狂风中的少年 提交于 2021-02-06 07:32:12
1、拉取centos7基础镜像 2、打入jdk文件并配置环境变量 创建dockerfile文件如下: 3、打包docker镜像 docker build -t centos7_jdk . 4、修改docker镜像 docker tag centos7_jdk:latest 10.0.0.181:10080/tools/centos7_jdk:latest 5、push 到harbor仓库 docker使用http方式登陆 docker login http://10.0.0.181:10080 username: password: docker push 镜像至仓库 docker push 10.0.0.181:10080/tools/centos7_jdk:latest 这样harbor中的centosjdk则可以做为基础镜再打入jar包,参数、启动命令即可。增加发版速度,节省时间。 来源: oschina 链接: https://my.oschina.net/u/4257871/blog/4947892

Docker从入门到上瘾,万字终极指南!

荒凉一梦 提交于 2021-02-02 14:33:07
容器简介 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。 容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。 更加详细地来说,请您假定您在开发一个应用。您使用的是一台笔记本电脑,而且您的开发环境具有特定的配置。其他开发人员身处的环境配置可能稍有不同。您正在开发的应用依赖于您当前的配置,还要依赖于某些特定文件。 与此同时,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 您希望尽可能多在本地模拟这些环境,而不产生重新创建服务器环境的开销。 因此,您要如何确保应用能够在这些环境中运行和通过质量检测,并且在部署过程中不出现令人头疼的问题,也无需重新编写代码和进行故障修复?答案就是使用容器。 容器可以确保您的应用拥有必需的配置和文件,使得这些应用能够在从开发到测试、再到生产的整个流程中顺利运行,而不出现任何不良问题。这样可以避免危机,做到皆大欢喜。 虽然这只是简化的示例,但在需要很高的可移植性、可配置性和隔离的情况下,我们可以利用 Linux 容器通过很多方式解决难题。 无论基础架构是在企业内部还是在云端,或者混合使用两者,容器都能满足您的需求。 容器不就是虚拟化吗 是,但也不竟然。我们用一种简单方式来思考一下:

Java后端技术学习体系——韩顺平

筅森魡賤 提交于 2021-02-02 11:57:43
文章目录 第一部分:Java基础 变量、控制结构、OOP(封装,继承,多态)、数组、Java API、异常和处理、集合、泛型、IO、反射、网络通信 第二部分:Java高级 1. Java多线程/高并发 1.1 并发基础 互斥同步、非阻塞同步、指令重排、synchronized、 volatile 1.2 线程 1.3 锁 自动锁、偏向锁、可重入锁 1.4 线程池 1.5 并发容器 1.6 JUC executor、collections、locks、alomic(原子类)、tools 2. 数据结构和算法 2.1 数据结构 数组(数组问题)、队列、栈、链表、树、散列、堆、图 2.2 算法 排序(8种)、查找、分治、动态规划(背包问题)、回溯(骑士周游问题)、贪心算法、KMP、Prim、kuskal、flovd-最短路径、(Dij...)最短路径 3. 设计模式(23种) 单例模式、观察者模式、工厂模式、适配器模式、装饰者模式、代理模式、模版模式、职责链模式、其他(组合模式、桥接模式...) 4. JVM JVM体系、类加载机制、双亲委派机制/沙箱安全机制、JMM(Java内存模型)、字节码执行过程、GC(垃圾回收算法)、JVM性能监控和故障定位、JVM调优 第三部分:Java web 1. 前端基础 html、css、JavaScript、ajax、jquery 2. 前端框架

Docker 私有仓库搭建

北战南征 提交于 2021-02-02 00:59:29
文章首发于公众号《程序员果果》 地址: https://mp.weixin.qq.com/s/tBh6kT4I5XniCoFEcn7W9A 一、简介 在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这一篇介绍registry、harbor两种私有仓库搭建。 二、registry 的搭建 1. 搭建 Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。 docker pull registry:2 docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2 Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。 浏览器访问 http://127.0

Kubernetes Jenkins动态创建Slave

非 Y 不嫁゛ 提交于 2021-01-25 03:16:37
[TOC] 0、前言 首先,我们考虑个问题,为何需要jenkins slave?其实在生产环境中,如果用单master,除非你单机器的配置特别高并且构建次数不多情况下,可以不考虑使用slave,但是,在构建次数上百次并且jenkins master运行在kubernetes环境中,借助kubernetes的灵活性,强烈推荐使用slave,master负责自动创建Slave Pod,然后将任务推送给Slave Pod,任务执行完毕后,Slave Pod会自动被回收/销毁。 创建slave流程图: 1、Jenkins部署 jenkins交付进kubernetes 1.准备镜像文件 $ docker pull jenkins/jenkins:2.204.1 $ docker tag a3f949e5ebfd harbor.od.com/infra/jenkins:v2.204.1 $ docker push harbor.od.com/infra/jenkins:v2.204.1 2.资源配置文件 rbac $ vi /data/k8s-yaml/jenkins_slave/rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: jenkins namespace: infra --- kind: ClusterRole

微众银行案例|容器化实践在金融行业落地面临的问题和挑战

邮差的信 提交于 2021-01-12 07:48:00
本文整理自 微众银行容器负责人陈广镇和李焕 在 Techo 开发者大会云原生专题的分享内容——微众容器化实践。本文主要和大家介绍微众的容器化实践,具体分为三个部分: 里程碑、实践之路,以及未来的规划 。 微众应用容器化项目始于2018年底,我们的生产环境在私有机房上,由于基础设施的差异,容器管理系统主要走自研路线,基于开源产品定制。 2019年1月,微众上线了第一个版本,主要实现多K8s集群管理、以及适配公司现有的基础架构。 2019年2月,微众系统接入TKE服务,用于快速构建开发测试环境,我们大部分业务都需要独立的测试环境,利用腾讯云强大的伸缩能力可以减少我们很多的环境维护工作。 2019年6月,平台优化了核心的调度逻辑,支持了多业务多DCN共享资源池,提升了私有云资源交付的效率。 2019年12月,微众研发了一套统一的通用的运维服务,这套服务收敛过去各式各样的运维工具,并且增加了金融级的安全管理,优化了K8s执行命令的性能问题。 2020年年初,启动了全量应用容器化项目,现在已经有超过一半的实例跑在了容器上。其中就包括我们的核心金融系统。 2020年年中,平台开始了2.0的迭代,包括定制化Harbor、应用画像、通用Operator API等特性。 未来微众在容器化上小小的积累通过开源的方式贡献给社区。 下面部分我们介绍一下容器化实践中遇到的问题和解决方案。 首先

龙芯平台harbor适配最新进展

南楼画角 提交于 2021-01-11 09:34:19
Harbor简介 Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、镜像复制等企业必需的功能,同时包含了对中文的支持。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全,提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。 2016年初发布后,最先得到中国社区用户的广泛使用。Harbor 在2018 年 7 月成为 CNCF 沙箱(sandbox)项目,同年11月晋升为孵化(incubation)级别,并于2020年6月成为云原生计算基金会 (CNCF)第11个毕业(graduate)项目。 龙芯平台harbor 虽然Harbor已经毕业,但是官方目前只支持主流CPU架构arm64和x86-64,对于mips64el并无支持,这对于mips64el用户创建私有镜像托管仓库始终是一个很大的遗憾。此外,2020年8 月 ,Docker 更新网站服务协议,禁止禁运国家和被列入美国「实体清单

Kubernetes生产架构详解

给你一囗甜甜゛ 提交于 2021-01-02 23:54:02
注意 本文,只是笔者针对Kubernetes生产环境运行的一些关于架构设计和实现方案的总结,内容很粗糙,后续会不断完善。 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境,如下图所示 在该架构中,我们可以将其分为四层,如下: Client层:即Kubernetes集群外部用户、客户端等; 服务访问层:即由Traefik ingress实现服务发现、负载均衡和路由规则定义等; 业务应用层:即基于Kubernetes平台构建和运行企业业务应用,如CI/CD持续集成、微服务项目、监控告警和日志管理、私有镜像仓库等服务; 基础设施层:即由Kubernetes容器管理平台和Ceph/NFS数据持久化存储等系统组成的基础设施服务。 下面,我们分别来谈谈各层的具体实现方案。 基础设施层 Kubernetes平台 部署管理:Kubernetes平台除了直接使用公有云如阿里云、AWS等云服务提供商的K8s服务外,我们还可以自己部署和管理等,如使用Kubespray工具。 网络通信:在容器和容器之间、容器和主机网络方面,可以使用 Calico 或Flannel等方案。 HA高可用:Kubernetes节点分为Master和Node两种类型节点,前者负责运行集群相关的控制管理服务,而后者负责运行Pod容器。在多Node节点模式下,由于Kubernetes