Kubernetes 配置私有镜像仓库时,没有权限访问的问题

使用 K8S 部署服务时,如果指定的镜像地址是内部镜像仓库,那么在下载镜像的时候可能会报权限错误。这是由于在 K8S 中部署服务时,K8S 需要到 Harbor 中进行一次验证,这个验证与节点中使用 docker login 登录 Harbor 是相互独立的。所以为了 K8S 可以验证成功,需要在部署服务的时候指定登录 Harbor 的 secret。例如创建如下 Secret:kubectl create secret docker-registry harbor-secret --namespace=
分类: 其他 发布时间: 03-19 10:03 阅读次数: 0

使用 k8s 搭建 confluence 6.10.x 版本

将公司中已有的 confluence 服务迁移到 k8s 集群中,需要保留当前已有的数据。整体需要分为如下几个步骤:备份 mysql 数据备份 confluence 安装目录备份 confluence 数据目录制作 mysql 镜像并导入数据制作 confluence 镜像一、MySQL 服务1. 制作 MySQL 镜像由于公司环境中的 confluence 服务使用的数据库版本是 5.6,所以首先下载官方 mysql 镜像:docker pull mysql:5.6将下载好的镜像
分类: 其他 发布时间: 03-19 10:03 阅读次数: 0

Kubernetes 搭建 ES 集群(存储使用 cephfs)

一、集群规划使用 cephfs 实现分布式存储和数据持久化ES 集群的 master 节点至少需要三个,防止脑裂。由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master 使用 StatefulSet 控制器node 节点需要固定的主机名和固定的物理节点以及物理节点上的本地PV,所以需要使用 StatefulSet。kibana为无状态服务,使用deployment。二、修改 elasticsearch 镜像为了实现 ES 各个节点将数据进行统一存储并且根据目录名称
分类: 其他 发布时间: 03-19 10:02 阅读次数: 0

Kubernetes 搭建 ES 集群(存储使用 local pv)

一、集群规划由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化。ES 集群的 master 节点至少需要三个,防止脑裂。由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master 使用 StatefulSet 控制器node 节点需要固定的主机名和固定的物理节点以及物理节点上的本地PV,所以需要使用 StatefulSet,配合 StorageClass 来固定。kibana为无状态服务,使用deployment。二、修改 elasticsea
分类: 其他 发布时间: 03-19 10:02 阅读次数: 0

使用阿里云镜像仓库构建国外 Docker 镜像

使用阿里云镜像仓库下载国外镜像在日常使用 Docker 或 K8S 的过程中,经常会需要到国外的网站中下载镜像,但是有些网站在国内是无法访问的。对于这个问题可以使用阿里云提供的镜像仓库进行下载,然后 pull 到本地并修改 tag 来实现。例如在使用 K8S 部署 Istio 时,需要下载 gcr.io/istio-testing/install-cni:1.5-dev 镜像,可以根据如下步骤在阿里云中进行构建和下载:一、配置 Github首先登录 Github 中创建一个用于构建镜像的 rep
分类: 其他 发布时间: 03-19 10:02 阅读次数: 0

使用 Filebeat 对多行日志进行处理(multiline)

Filebeat 收集日志的过程中,默认是按行收取的,也就是每一行都会默认是一个单独的事件并添加时间戳。但是在收集一些特殊日志的时候,往往一个事件包含有多行,例如 Java 的堆栈跟踪日志:20-09-25 09:09:01.866 ERROR - {"traceId":"","where":{"methodName":"doFilter","className":"com.sohu.smc.channel.news.filter.ResponseTimeFilter","lineNumber":47},
分类: 其他 发布时间: 03-19 10:01 阅读次数: 0

Gerrit 服务搭建和升级详解(包括 H2 数据库迁移 MySQL 步骤)

1. 安装Gerrit-2.9.5版本(Ubuntu)Gerrit版本:Gerrit-2.9.5.war操作系统:Ubuntu 16.04.3JAVA环境:java version “1.8.0_222”Gerrit下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-2.9.5.war(可修改对应的版本号进行下载)Gerrit插件下载地址:https://gerrit-ci.gerritforge.comGerrit可以使用
分类: 其他 发布时间: 03-19 10:01 阅读次数: 0

使用源码安装 PostgreSQL 12.5 主从集群

使用源码安装 PostgreSQL 12.5 主从集群Postgresql 版本:12.5操作系统版本:CentOS Linux release 7.6.1810 (Core)主节点 IP:10.211.55.11从节点 IP:10.211.55.12一、环境准备以下操作均在两台机器中执行。1. 下载源码包PostgreSQL 12.5 版本源码包下载地址:https://ftp.postgresql.org/pub/source/v12.5/postgresql-12.
分类: 其他 发布时间: 03-19 10:01 阅读次数: 0

搭建 Harbor 1.10.6 高可用集群

搭建 Harbor 1.10.6 高可用集群一、集群模式说明Harbor 支持如下几种集群模式:主从同步双主复制多 Harbor 实例共享后端存储1. 主从同步其中主从同步方式是 Harbor 官方提供的模式,只要向其中的主 Harbor 中 push 镜像,即可将镜像自动复制到多个从节点中。这种方式可以应用于镜像规模庞大,服务器节点较多,分布地域广泛的问题。对于主 Harbor 仓库单节点故障的问题,可以通过结合多 Harbor 实例共享后端存储的方式来解决。2. 双主复制双主复制就
分类: 其他 发布时间: 03-19 10:01 阅读次数: 0

Linux 使用 shell 脚本处理字符串

1. 截取字符串的前8位expr substr "$string" 1 8echo $string | awk '{print substr(,1,8)}'echo $string | cut -c1-8echo $string | dd bs=1 count=8 2>/dev/null2. 分割、替换字符串2.1 命令说明符号释义*通配符,用于匹配字符串将被删除的子串.分割符,可以为任意一个或多个字符%从右向左匹配#从左向右匹配
分类: 其他 发布时间: 03-19 10:01 阅读次数: 0

使用 JS 实现一个简单的日历

使用 JS 实现一个简易的日历功能,代码如下:<!DOCTYPE html><html><head> <title></title> <style type="text/css"> * { margin: 0; padding: 0; list-style: none; } #topNode {
分类: 其他 发布时间: 03-19 10:00 阅读次数: 0

使用 Shell 脚本实现安装进度指示器

一、安装过程中使用旋转线来表示进度#!/bin/bashfunction KILLPROC(){ echo $1 | xargs kill -9 &> /dev/null}function PROC_NAME(){ printf "%-45s" ${1} tput sc while true do for ROATE in '-' "\\" '|' '/' do tput rc &&
分类: 其他 发布时间: 03-19 10:00 阅读次数: 0

jQuery 学习-样式篇(一):如何引用 jQuery

引用 jQuery 有两种方式:引用外链引用本地文件一、引用外链引用外链的方式首先要到 jQuery 官网中,找到 jQuery 的 uncompressed 的版本,并复制弹出框中给出的内容至 HTML 中:<!DOCTYPE html><html><head> <title></title> <script src="http://code.jquery.com/jquery-1.12.4.js" integrity
分类: 其他 发布时间: 03-19 10:00 阅读次数: 0

jQuery 学习-样式篇(二):jQuery 对象与原生 DOM 对象

jQuery 对象和原生对象是有区别的。原生的对象不能使用 jQuery 的方法,jQuery 对象也不能使用原生的方法。如果要想将原生对象转换为 jQuery 对象,只需要使用 $() 。使用 $() 包含的对象就会变成 jQuery 对象。使用原生和 jQuery 方式来编写一个示例,首先是原生方式:<!DOCTYPE html><html><head> <title></title> <script type="text/
分类: 其他 发布时间: 03-19 10:00 阅读次数: 0

jQuery 学习-样式篇(三):jQuery 选择器类型详解

jQuery 选择器一、ID 选择器ID 选择器是最基本的选择器,jQuery 内部使用了 JavaScript 函数 document.getElementByID() 来处理 ID 的获取。ID 是唯一的,每个 ID 在每个页面中只能使用一次,如果多个元素分配了相同的 ID,将只匹配该 ID 选择集合的第一个 DOM 元素。在 jQuery 中,ID 选择器的命令是 $('#id'):<!DOCTYPE html><html><head> <ti
分类: 其他 发布时间: 03-19 09:59 阅读次数: 0

jQuery 学习-样式篇(四):jQuery 设置和删除元素的属性

一、设置、获取和修改属性及属性值1. 设置单个属性和属性值使用 $(‘DOM’).attr() 可以设置元素的属性和属性值:<!DOCTYPE html><html><head> <title></title> <script src="jquery-1.12.4.js"></script> <script type="text/javascript"> $(document).ready(f
分类: 其他 发布时间: 03-19 09:59 阅读次数: 0

jQuery 学习-样式篇(五):jQuery 设置元素的 html 结构或 text 内容

一、设置或返回元素的 html 内容使用 $('DOM').html() 方法可以设置或返回元素的 html 内容:<!DOCTYPE html><html><head> <title></title> <script src="jquery-1.12.4.js"></script> <script type="text/javascript"> $(document).ready(functi
分类: 其他 发布时间: 03-19 09:59 阅读次数: 0

jQuery 学习-样式篇(六):jQuery 获取和设置表单元素的值

jQuery 获取和设置表单元素的值jQuery 中可以使用 val() 方法处理表单元素的值,例如 input、select 和 textarea:<!DOCTYPE html><html><head> <title></title> <script src="jquery-1.12.4.js"></script> <script type="text/javascript"> $(docum
分类: 其他 发布时间: 03-19 09:59 阅读次数: 0

jQuery 学习-样式篇(七):jQuery 控制元素类属性

一、动态增加 class 类使用 addClass() 方法可以动态的为元素添加 class 属性(兼容低版本 IE):<!DOCTYPE html><html><head> <title></title> <style type="text/css"> .a { width: 200px; height: 200px; } .b { background: #ccc; } </st
分类: 其他 发布时间: 03-19 09:58 阅读次数: 0

jQuery 学习-样式篇(八):jQuery 设置元素的 CSS 样式

在 jQuery 中,使用 css 方法可以设置元素的 CSS 样式。一、获取元素的样式在原生的 JS 中,需要使用 getComputedStyle() 方法来获得元素的样式值,例如:<!DOCTYPE html><html><head> <title></title> <style type="text/css"> .a { width: 200px; height: 200px; transit
分类: 其他 发布时间: 03-19 09:58 阅读次数: 0
今日推荐