Kubernetes 配置私有镜像仓库时,没有权限访问的问题
使用 K8S 部署服务时,如果指定的镜像地址是内部镜像仓库,那么在下载镜像的时候可能会报权限错误。这是由于在 K8S 中部署服务时,K8S 需要到 Harbor 中进行一次验证,这个验证与节点中使用 docker login 登录 Harbor 是相互独立的。所以为了 K8S 可以验证成功,需要在部署服务的时候指定登录 Harbor 的 secret。例如创建如下 Secret:kubectl create secret docker-registry harbor-secret --namespace=
使用 k8s 搭建 confluence 6.10.x 版本
将公司中已有的 confluence 服务迁移到 k8s 集群中,需要保留当前已有的数据。整体需要分为如下几个步骤:备份 mysql 数据备份 confluence 安装目录备份 confluence 数据目录制作 mysql 镜像并导入数据制作 confluence 镜像一、MySQL 服务1. 制作 MySQL 镜像由于公司环境中的 confluence 服务使用的数据库版本是 5.6,所以首先下载官方 mysql 镜像:docker pull mysql:5.6将下载好的镜像
Kubernetes 搭建 ES 集群(存储使用 cephfs)
一、集群规划使用 cephfs 实现分布式存储和数据持久化ES 集群的 master 节点至少需要三个,防止脑裂。由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master 使用 StatefulSet 控制器node 节点需要固定的主机名和固定的物理节点以及物理节点上的本地PV,所以需要使用 StatefulSet。kibana为无状态服务,使用deployment。二、修改 elasticsearch 镜像为了实现 ES 各个节点将数据进行统一存储并且根据目录名称
Kubernetes 搭建 ES 集群(存储使用 local pv)
一、集群规划由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化。ES 集群的 master 节点至少需要三个,防止脑裂。由于 master 在配置过程中需要保证主机名固定和唯一,所以搭建 master 使用 StatefulSet 控制器node 节点需要固定的主机名和固定的物理节点以及物理节点上的本地PV,所以需要使用 StatefulSet,配合 StorageClass 来固定。kibana为无状态服务,使用deployment。二、修改 elasticsea
使用阿里云镜像仓库构建国外 Docker 镜像
使用阿里云镜像仓库下载国外镜像在日常使用 Docker 或 K8S 的过程中,经常会需要到国外的网站中下载镜像,但是有些网站在国内是无法访问的。对于这个问题可以使用阿里云提供的镜像仓库进行下载,然后 pull 到本地并修改 tag 来实现。例如在使用 K8S 部署 Istio 时,需要下载 gcr.io/istio-testing/install-cni:1.5-dev 镜像,可以根据如下步骤在阿里云中进行构建和下载:一、配置 Github首先登录 Github 中创建一个用于构建镜像的 rep
使用 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},
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可以使用
使用源码安装 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.
搭建 Harbor 1.10.6 高可用集群
搭建 Harbor 1.10.6 高可用集群一、集群模式说明Harbor 支持如下几种集群模式:主从同步双主复制多 Harbor 实例共享后端存储1. 主从同步其中主从同步方式是 Harbor 官方提供的模式,只要向其中的主 Harbor 中 push 镜像,即可将镜像自动复制到多个从节点中。这种方式可以应用于镜像规模庞大,服务器节点较多,分布地域广泛的问题。对于主 Harbor 仓库单节点故障的问题,可以通过结合多 Harbor 实例共享后端存储的方式来解决。2. 双主复制双主复制就
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 命令说明符号释义*通配符,用于匹配字符串将被删除的子串.分割符,可以为任意一个或多个字符%从右向左匹配#从左向右匹配
使用 JS 实现一个简单的日历
使用 JS 实现一个简易的日历功能,代码如下:<!DOCTYPE html><html><head> <title></title> <style type="text/css"> * { margin: 0; padding: 0; list-style: none; } #topNode {
使用 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 &&
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
jQuery 学习-样式篇(二):jQuery 对象与原生 DOM 对象
jQuery 对象和原生对象是有区别的。原生的对象不能使用 jQuery 的方法,jQuery 对象也不能使用原生的方法。如果要想将原生对象转换为 jQuery 对象,只需要使用 $() 。使用 $() 包含的对象就会变成 jQuery 对象。使用原生和 jQuery 方式来编写一个示例,首先是原生方式:<!DOCTYPE html><html><head> <title></title> <script type="text/
jQuery 学习-样式篇(三):jQuery 选择器类型详解
jQuery 选择器一、ID 选择器ID 选择器是最基本的选择器,jQuery 内部使用了 JavaScript 函数 document.getElementByID() 来处理 ID 的获取。ID 是唯一的,每个 ID 在每个页面中只能使用一次,如果多个元素分配了相同的 ID,将只匹配该 ID 选择集合的第一个 DOM 元素。在 jQuery 中,ID 选择器的命令是 $('#id'):<!DOCTYPE html><html><head> <ti
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
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
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
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
jQuery 学习-样式篇(八):jQuery 设置元素的 CSS 样式
在 jQuery 中,使用 css 方法可以设置元素的 CSS 样式。一、获取元素的样式在原生的 JS 中,需要使用 getComputedStyle() 方法来获得元素的样式值,例如:<!DOCTYPE html><html><head> <title></title> <style type="text/css"> .a { width: 200px; height: 200px; transit
今日推荐
周排行