自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shida's blog

千里之行,始于足下

原创 Proxmox 的 LXC上跑 Docker

Proxmox VE 6.1 基于 LXC 容器环境运行 Docker,配置步骤: 1. LXC 容器不要开启特权模式,否则登陆可能会出现问题(测试时一直登陆失败); 2. 生成 LXC 容器化虚拟机后,需要修改 /etc/pve/xxx.conf,追加如下内容: ```sh lxc.a...

2020-05-13 15:06:24 202 0

原创 使用 U 盘 安装 Proxmox VE 6.1

Proxmox VE 是基于 QEMU/KVM 和 LXC 的开源服务器虚拟化管理解决方案,可以使用集成的、易于使用的 Web 接口或 CLI 管理虚拟机、容器、集群、存储和网络。PVE 有方便易用的 WEB 界面,用户可通过网页的方式来管理服务器上使用 kvm 以及 lxc 技术运行的虚拟机。 ...

2020-05-13 11:43:21 43 0

原创 CentOS 下使用 URLOS 快速部署 DzzOffice 企业办公套件

一、 背景简介 DzzOffice 是一套开源办公套件,适用于企业、团队搭建自己的 类似「Google企业应用套件」、「微软 Office365」的企业协同办公平台,本文介绍如何在 CentOS 上使用 URLOS 快速部署 DzzOffice 套件。 二、 部署步骤 2.1 安装 URLO...

2020-04-15 19:22:23 173 0

原创 kubeadm join: couldn't validate the identity of the API Server

执行 kubeadm join 报如下错误: error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers afte...

2020-03-26 16:58:46 462 0

原创 K8s 的 UUID 是如何生成的?

引言 不知道各位有没有注意到,在 K8s 系统中,每个实例对象都有自己的 UID(其实就是UUID),用于唯一标识自己,比如 Pod、ConfigMap 等对象的 metadata 内都有一个叫做 uid 的字段。为什么要有这个字段呢?因为仅靠 kind/namespace/name 是没办法确定...

2020-03-16 10:47:12 219 0

原创 ERROR: musl-1.1.24-r1: temporary error (try again later)

问题介绍 使用 alpine 作为基础镜像构建应用镜像时,执行到 RUN apk add musl-dev 时报错: ERROR: musl-1.1.24-r1: temporary error (try again later) 官方的解释请戳:https://github.com/glide...

2020-03-09 13:36:35 155 0

原创 Kube Proxy 工作模式对比分析

引言 Kube Proxy 是 Kubernetes 生态的核心组件之一,主要负责处理访问 Service 的流量(包括通过 Cluster IP 以及 Node Port),自动将 Client 对 Kubernetes Service 的请求代理到正确的 Pod 或 Node 后端。截止 1....

2020-03-03 10:58:45 159 0

原创 0.1 + 0.2 == 0.3 吗?

1. 背景 这要从一段 golang 代码讲起: func main() { var a float32 = 0.1 var b float32 = 0.2 var c float32 = 0.3 fmt.Println(a + b == c) // tr...

2020-03-01 23:53:05 76 0

原创 kube-proxy: Failed to load kernel module ip_vs with modprobe.

偶遇 kube-proxy ipvs 模式不能正常工作,报错如下: W0301 09:14:39.492670 1 proxier.go:498] Failed to load kernel module ip_vs with modprobe. You can ignore this...

2020-03-01 17:48:49 257 0

原创 ESXI 安装 DSM 6.2.2 教程

背景 Synology DSM 是一套不错的文档管理工具,很多公司都有使用。 本文介绍如何将 ESXI (实验版本为 6.5)虚拟机打造为一台功能齐全的文档服务器。 步骤 1. 软件准备 链接: https://pan.baidu.com/s/1Cc-ufMYxtOXNmGgDNoQN3g 提取码...

2020-02-28 17:39:41 2098 0

原创 使用 Docker 生成 gitbook pdf 文档

背景 不想在宿主机安装 gitbook 以及一大堆依赖就想使用 gitbook pdf 一键生成 pdf 电子书? 我们可以使用 docker 轻松做到! 步骤 1. 编译一个镜像: 该镜像打包用于生成 gitbook pdf 的全部依赖项 假设我们将 Dockerfile 放置到 ~/shid...

2020-02-27 20:23:00 89 0

原创 CentOS 安装 cri-o (yum install crio)

官方说明:https://github.com/cri-o/cri-o#installing-cri-o 实际验证: [root@test ~]# yum install crio Loaded plugins: fastestmirror, langpacks Loading mirror sp...

2020-02-26 20:53:27 520 4

原创 使用 crontab 进行程序保活

背景 为了保证系统运行可靠,有时候需要对程序进行监测,当程序异常挂掉的时候能够自动快速拉起。在一些对时效性要求不那么高的场景下,使用 crontab 定时检查也是一个可选方案,本文分享一个简单的程序保活的方法。 方法 1. 首先,编写一个 shell 脚本,执行检查存活和程序拉起的逻辑: 创建一个...

2020-02-22 23:59:42 64 0

原创 kubeadm 集群初始化参数 pod-network-cidr 有什么作用?

问题 kubeadm init 创建集群时有个参数,即 pod-network-cidr,在以往使用过程中,不设置该参数似乎创建的集群也能正常工作,那它究竟有什么作用呢? 影响范围 kubeadm 给出的参数释义是: --pod-network-cidr Specify range of IP a...

2020-02-16 12:35:00 2067 0

原创 配置 kube-proxy 基于 ipvs 模式工作

引言 kube-proxy 目前(v1.17)支持多种工作模式,如:userspace、iptables、ipvs,以及仅在 windows 环境可选的 kernelspace 等。在 linux 环境,未配置 kube-proxy 工作模式的情况下,将优先使用 iptables 模式运行,在不满...

2020-01-21 10:44:59 129 1

原创 修改 Docker Cgroup Driver 为 systemd

Docker 在默认情况下使用的 Cgroup Driver 为 cgroupfs: # docker info Client: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Im...

2020-01-20 17:21:58 985 0

原创 基于 Cluster API 管理集群

前言 Kubernetes Cluster API 提供了一种声明式的集群创建、配置、管理模式,能够对集群的全生命周期进行有效管理(https://cluster-api.sigs.k8s.io/introduction.html)本文提供简单试用记录。 准备 Kubernetes 集群(管理集群...

2020-01-15 19:29:52 382 0

原创 Go 源码编译笔记

本文介绍如何编译 Go 源码 1. 环境准备 要编译 Go 源码,首先要准备编译环境 鉴于 Go 目前也是通过 Go 语言编写的(自举),因此准备一个 Go 环境即可 以 Ubuntu 18.04 为例: # cd /tmp # wget https://studygolang.com/dl/g...

2019-10-30 11:25:03 221 0

原创 MountVolume.SetUp: couldn't propagate object cache: timed out waiting for the condition

问题描述 Kubernetes 集群某个节点无法正常启动 Pod,一直呈 ContainerCreating 状态 查看 Pod 状态,报类似如下错误: Warning FailedMount 39m kubelet, node1.example.com MountVolume.Se...

2019-10-24 18:58:31 654 0

原创 shell 获取随机字符串(可指定长度)

# 1. use head to read first 16 Bytes from /dev/urandom # 2. use od to display data in hexadecimal format (do not display address offset) # 3. use tr ...

2019-10-20 22:49:00 108 0

原创 dial tcp 10.96.0.1:443: connect: network is unreachable

今天,在部署 k8s 集群时,发现 CoreDNS 一直无法启动成功,报类似标题所示的错误,现记录下问题排查的主体过程: 1. 首先,正常情况下,所有 Node 应该都能够访问 10.96.0.1:443,到 CoreDNS Pod 所在节点,执行: # curl https://10.96...

2019-10-17 18:18:43 1252 0

原创 failed to decode cluster configuration data: no kind "ClusterConfiguration" is registered

kubeadm 执行 join 报如下错误: error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to decode cluster configuration data: n...

2019-09-02 14:32:09 828 0

原创 字节顺序:大端法与小端法

一、什么是大端法、小端法 假设变量 x 的类型为 int,位于地址 0x100 处,它的 16 进制值为 0x01234567,地址范围 0x100 ~ 0x103 的字节顺序依赖于机器的类型: 大端法,就是按照地址从低到高的顺序,先存储数据高位,再存储数据低位; 小端法,就是按照地址从低到高的顺...

2019-09-01 16:03:04 131 0

原创 runc 源码编译(基于 ubuntu 18.04)

一、基础环境 Ubuntu 18.06 go 1.12.5 二、编译步骤 # apt install pkg-config libseccomp-dev -y # git clone https://github.com/opencontainers/runc.git "$GOPAT...

2019-08-27 18:09:41 166 0

原创 proxy.golang.org: unexpected status 410 Gone

问题背景: 当我们设置了 GOPROXY=https://proxy.golang.org,使用 Go module 管理依赖, 有时会出现依赖找不到的情况(报错类似这样): go: github.com/golangci/ineffassign@v0.0.0-20180808204949-424...

2019-08-24 18:58:27 2601 2

原创 Kubelet 垃圾回收

Kubelet 垃圾回收(Garbage Collection)是一个非常有用的功能,它负责自动清理节点上的无用镜像和容器。Kubelet 每隔 1 分钟进行一次容器清理,每隔 5 分钟进行一次镜像清理(截止到 v1.15 版本,垃圾回收间隔时间还都是在源码中固化的,不可自定义配置)。如果节点上已...

2019-08-19 16:37:03 339 0

原创 /proc/sys/net/bridge/bridge-nf-call-iptables does not exist

ubuntu 18.04 kubeadm 初始化报错: [init] Using Kubernetes version: v1.15.2 [preflight] Running pre-flight checks [preflight] WARNING: Couldn't creat...

2019-08-14 15:09:48 1974 2

原创 [leetcode-in-go] 0149-Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 记录一种 n^2 解法: 掌握最大公约数的求法 小数是不准确的,难以作为 key,需要使用字符串...

2019-07-23 23:42:12 41 0

原创 [leetcode-in-go] 0151-Reverse Words in a String

Given an input string, reverse the string word by word. Example 1: Input: “the sky is blue” Output: “blue is sky the” Example 2: Input: " hello...

2019-07-21 23:26:16 45 0

原创 头条面试题-统计有序数组里平方和的数目

给你一个有序整数数组,数组中的数可以是正数、负数、零,请实现一个函数,这个函数返回一个整数:返回这个数组所有数的平方值中有多少种不同的取值。举例: nums = {-1,1,1,1}, 那么你应该返回的是:1。因为这个数组所有数的平方取值都是1,只有一种取值 nums = {-1,0,1,2,...

2019-07-21 12:12:02 148 0

原创 [leetcode-in-go] 0146-LRU Cache

Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) - Get th...

2019-07-21 11:05:15 41 0

原创 [leetcode-in-go] 0058-Length of Last Word

Given a string s consists of upper/lower-case alphabets and empty space characters ’ ', return the length of last word in the string. If the las...

2019-07-20 17:46:27 33 0

原创 [leetcode-in-go] 0057-Insert Interval

Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initi...

2019-07-20 17:29:06 40 0

原创 [leetcode-in-go] 0056-Merge Intervals

Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] E...

2019-07-20 15:30:48 43 0

原创 [leetcode-in-go] 0055-Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maxi...

2019-07-19 22:41:34 41 0

原创 [leetcode-in-go] 0054-Spiral Matrix

Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. Example 1: Input: [ [ 1, 2, 3 ], [ 4, 5, 6 ]...

2019-07-18 22:39:33 39 0

原创 vscode golang 开发环境搭建

下载安装 vscode 见官网:https://code.visualstudio.com/#alt-downloads 下载安装 golang 见官网:https://golang.google.cn/dl/ 安装配置 vs code golang 插件 ctrl + ...

2019-07-18 18:32:18 221 0

原创 [leetcode-in-go] 0053-Maximum Subarray

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Example: Inp...

2019-07-17 23:07:55 68 0

原创 [leetcode-in-go] 0052-N-Queens II

The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other. Given an integer n, return the...

2019-07-17 21:57:48 43 0

原创 [leetcode-in-go] 0051-N-Queens

The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other. Given an integer n, return all...

2019-07-16 23:51:49 79 0

提示
确定要删除当前文章?
取消 删除