Posts by Year

2022

kube-prometheus 部署

7 minute read

概览 Prometheus Prometheus 是一个开源的系统监控和警报工具包,最初在 SoundCloud 建立。自2012年成立以来,许多公司和组织都采用了 Prometheus,该项目有一个非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并明确项目的治...

es 索引生命周期管理

less than 1 minute read

使用 Elasticsearch 中的索引生命周期管理(ILM)功能来管理索引。Configure a lifecycle policy | Elastic 创建生命周期策略 创建索引生命周期策略 test_policy PUT _ilm/policy/test_policy { "policy": {...

在 Kubernetes 上部署 Harbor

1 minute read

本文使用 helm 在 kubernetes 中快速安装 harbor 官方文档:Deploying Harbor with High Availability via Helm 下载 Chart 下载 Harbor helm chart: $ helm repo add harbor https://h...

使用 kubeadm 创建高可用 k8s 集群

17 minute read

00、准备开始 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存) 2 CPU 核或更多 集群中...

安装 Hugo

less than 1 minute read

Hugo 简介 Hugo 是一个用 Go 编写的快速、现代的静态网站生成器,旨在让网站创建再次变得有趣。 Hugo 是一个通用的网站框架。从技术上讲,Hugo 是一个静态站点生成器。与根据每个访问者请求动态构建页面的系统不同,Hugo 在您创建或更新内容时构建页面。由于网站的浏览频率远高于编辑频率,因此 Hu...

CentOS 7 内核升级

less than 1 minute read

Step 1:查看当前内核版本 $ uname -sr Linux 3.10.0-957.el7.x86_64 Step 2:启用 ELRepo 仓库 # 导入公钥 $ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 安装 ELRe...

minikube start

1 minute read

minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。 您只需要 Docker(或类似兼容的)容器或虚拟机环境,只需一个命令即可使用 Kubernetes:minikube start 环境准备 2 个 CPU 或更多 2GB 可用内存 20GB 可用...

Kubernetes Metrics Server

1 minute read

Metrics Server 是 Kubernetes 内置自动缩放管道的可扩展、高效的容器资源指标来源。 Metrics Server 从 Kubelets 收集资源指标,并通过 Metrics API 在 Kubernetes apiserver 中公开它们,供 Horizontal Pod Autosca...

Github Container registry

1 minute read

您可以在使用包命名空间 https://ghcr.io 的容器注册表中存储和管理 Docker 和 OCI 映像。

Install Calico

1 minute read

Get Calico up and running in your Kubernetes cluster.

About Networking

1 minute read

本指南简要介绍了一些关键的基本网络概念,供任何不熟悉它们的人使用。

docker-elastic-logs

10 minute read

使用 Docker 和 Docker Compose 运行最新版本的 Elastic stack

Kubernetes 标准化术语表

9 minute read

本词汇表旨在成为 Kubernetes 术语的全面、标准化列表。它包括特定于 Kubernetes 的技术术语,以及提供有用上下文的更一般的术语。

NGINX Ingress Controller

3 minute read

ingress-nginx 是 Kubernetes 的入口控制器,使用 NGINX 作为反向代理和负载均衡器。

使用 StatefulSet 部署 MySQL 集群

8 minute read

本文展示如何使用 StatefulSet 控制器部署 MySQL 集群。此例是多副本的 MySQL 数据库。 示例应用的拓扑结构有一个主服务器和多个副本,使用异步的基于行(Row-Based) 的数据复制。

Docker Desktop WSL 2 backend

1 minute read

适用于 Linux 的 Windows 子系统 (WSL) 2 引入了重大的体系结构更改,因为它是由 Microsoft 构建的完整 Linux 内核,允许 Linux 发行版运行而无需管理虚拟机。借助在 WSL 2 上运行的 Docker Desktop,用户可以利用 Linux 工作区,而不必同时维护 Lin...

WSL 导入任何 Linux 发行版

1 minute read

通过使用 tar 文件导入任何 Linux 发行版,可在适用于 Linux 的 Windows 子系统 (WSL) 中使用该发行版(即使它不在 Microsoft Store 中提供)。

Jenkins Install

less than 1 minute read

Jenkins Redhat Packages To use this repository, run the following command: $ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stabl...

kubectl 备忘单

10 minute read

本文记录了常用的 “kubectl” 命令和标志 Kubectl 自动补全 BASH # 检查 bash-completion 是否已安装 $ type _init_completion # 安装并加载 bash-completion $ yum install bash-completion -y $ ...

K8S 集群添加或删除节点

less than 1 minute read

Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置。 每个节点包含运行 Pods 所需的服务; 这些节点由控制面负责管理。 通常集群中会有若干个节点;而在一个学习用或者资源受限的环境中,你的集群中也可能 只有一个...

Back to Top ↑

2021

Linux 合并两块磁盘 (>2TB) 并挂载到同一目录

6 minute read

本文总体解决方案: 对第一块磁盘设备进行分区(parted) 基于第一块磁盘得到的分区创建 PV(PV Name:/dev/sdb1) 创建 VG 来管理刚刚创建的 PV(VG Name:vgdata) 基于创建的 VG 创建 LV(LV Name:lvData) LV 的格式化及挂载(设...

Kubernetes yaml 模板与示例

11 minute read

一、Pod 实际生产环境中很少直接创建 pod 资源,基本都是通过资源控制器对 pod 进行管理。 yaml 模板 apiVersion: v1 # 必填,版本号 kind: Pod # 必填,资源类型 metadata: ...

Helm Quickstart

4 minute read

Helm 致力于成为 k8s 集群的应用包管理工具,希望像 linux 系统的 RPM DPKG 那样成功;确实在 k8s 上部署复杂一点的应用很麻烦,需要管理很多 yaml 文件(configmap,controller,service,rbac,pv,pvc等等),而 helm 能够整齐管理这些文档:版本控制...

Harbor Quickstart

1 minute read

Harbor 简介 Harbor 是一个用于存储和分发 Docker 镜像的企业级私有 Registry 服务器。Habor 是由 VMWare 中国团队开源的企业级容器镜像仓库。特性包括:友好的用户界面,基于角色的访问控制,水平扩展,同步复制,AD/LDAP 集成以及审计日志等。 gohar...

Linux 搭建 NFS 服务

5 minute read

NFS 协议 NFS 服务工作在 TCP 的 2049 端口,UDP 的 2049 端口。 NFS 是 Network File System 的缩写,即网络文件系统,是一种使用于分散式文件系统的协定。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于...

GitBook 安装使用

1 minute read

安装 Node.js yum 方式安装 node.js 1) 安装 EPEL yum install epel-release -y 2) 安装 node.js 和 npm yum install nodejs npm --enablerepo=epel 3) 安装 node.js 管理工具 n...

Kubectl 命令行管理工具

less than 1 minute read

类型 命令 描述 基础命令 create 通过文件名或标准输入创建资源   expose 将一个资源公开为一个新的Service ...

alpine-pkg-glibc

1 minute read

A glibc compatibility layer package for Alpine Linux.

Docker 容器之最小 JDK 基础镜像

less than 1 minute read

使用的是 Oracle 的 JRE 不是 openjdk 因为 java 依赖 glibc,所以基础镜像使用的是 alpine-glibc 而非 alpine,alpine-glibc 大概是11.1 M 1、下载 jre 下载地址:https://www.java.com/en/download/manu...

Back to Top ↑

2020

在 Kubernetes 上部署 Jekyll

1 minute read

Overview 了解如何使用 Docker 对 Jekyll 静态内容网站进行容器化,并将其部署在 Kubernetes 集群上。 拥有大部分静态内容的网站不应该有运行和维护 CMS 和数据库后台的昂贵开销。相反,使用静态内容生成器(如Jekyll)来生成 HTML、CSS 和 JavaScript 文件提...

rabbitmq install

less than 1 minute read

Tip: 本次部署规划将 rabbitmq 部署到 /usr/local 目录下。 ​ 本次部署版本:RabbitMQ 3.6.10, Erlang 20.0。 安装 erlang $ cd /usr/local $ wget http://erlang.org/download/otp_s...

Docker 命令大全

10 minute read

容器生命周期管理 run docker run :创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin :指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR ...

Back to Top ↑

2018

inode

3 minute read

inode 是什么 理解 inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组...

Ansible-getting-started-FAST!

5 minute read

概述 红帽 Ansible 自动化是一种无代理的人类可读自动化工具,它使用 SSH 在平面或多层环境中协调配置管理、应用程序部署和供应。它基于开源的 Ansible 技术,该技术已成为世界上最流行的开源 IT 自动化技术之一。 这篇博文将帮助您了解 Ansible 的基础知识,以及如何在您作为系统管理员的角色...

Back to Top ↑

2017

MySQL5.7 主主复制配置

1 minute read

先安装、配置好两台 MySQL 服务器 Server1 IP:192.168.22.17 server2 IP:192.168.22.18 1. 修改 my.cnf 配置文件 my.cnf 配置文件关于复制部分的配置 ###replication setting...

Centos7 二进制安装 MySQL5.7

4 minute read

1、卸载系统自带的 mariadb 数据库及删除 mysql 用户 查询是否有安装的 mariadb 文件 $ rpm -qa | grep mariadb mariadb-5.5.56-2.el7.x86_64 mariadb-server-5.5.56-2.el7.x86_64 mariadb-libs-...

Back to Top ↑

2016

Pod 对象在 Kubernetes 中的生命周期变化

less than 1 minute read

Pod 生命周期的变化,主要体现在 Pod API 对象的 Status 部分,这是它除了 Metadata 和 Spec 之外的第三个重要字段。其中,pod.status.phase ,就是 Pod 的当前状态,它有如下几种可能的情况: Pending。这个状态意味着,Pod 的 YAML 文...

Linux 根目录动态扩容

less than 1 minute read

动态扩容 Linux 根目录,解决 /dev/mapper/centos-root 占用过高的问题。 首先,必须确保其他分区有足够的空间用来分给根目录 / 。可以使用以下命令查看: $ sudo df -h Filesystem Size Used Avail Use% Moun...

CentOS7 根目录分区扩容

6 minute read

Step1. 查看现有磁盘信息,可以看出根分区有45G $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos_mb--centos7-root 45G 9.8G ...

Back to Top ↑