Jia 手游后端开发 一个喜欢折腾各种新东西的后端开发

更新vmware esxi ssl证书

esxi 的证书管理页面貌似有bug一直无法更新证书,这里直接ssh登陆服务器替换

开启SSH

vmware-exsi-enable-sshd

Let’s Encrypt 签发的证书目录如下

hitian :: ~ » ls -al .acme.sh/hitian.me/
total 36
drwxr-xr-x 2 tian tian 4096 Mar 20 14:59 .
drwx------ 8 tian tian 4096 May 27 15:41 ..
-rw-r--r-- 1 tian tian 1648 May 19 00:26 ca.cer
-rw-r--r-- 1 tian tian 3803 May 19 00:26 fullchain.cer
-rw-r--r-- 1 tian tian 2155 May 19 00:26 hitian.me.cer
-rw-r--r-- 1 tian tian  529 May 19 00:26 hitian.me.conf
-rw-r--r-- 1 tian tian  980 May 19 00:24 hitian.me.csr
-rw-r--r-- 1 tian tian  220 May 19 00:24 hitian.me.csr.conf
-rw-r--r-- 1 tian tian 1675 Mar 20 14:55 hitian.me.key

exsi 的配置目录如下

[root@localhost:/etc/vmware/ssl] ls -al
total 36
drwxr-xr-x    1 root     root           512 Jun  3 18:34 .
-r--r--r-T    1 root     root             0 Apr  3 21:24 .#castore.pem
-r-------T    1 root     root             0 Apr  3 21:24 .#rui.bak
-r--r--r-T    1 root     root             0 Apr  3 21:24 .#rui.crt
-r-------T    1 root     root             0 Apr  3 21:24 .#rui.key
drwxr-xr-x    1 root     root           512 Jul 12 00:28 ..
-rw-r--r--    1 root     root          1050 Jun  3 18:34 castore.pem
-rw-r--r--    1 root     root          3859 Jun  3 18:34 iofiltervp.pem
-r--r--r--    1 root     root           229 Apr  3 21:24 openssl.cnf
-r--------    1 root     root          5231 Jun  3 18:34 rui.bak
-rw-r--r--    1 root     root          3803 Jul 12 00:26 rui.crt
-rw-------    1 root     root          1675 Jul 12 00:27 rui.key
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_castore.pem
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_castore_old.pem
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_client.crt
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_client.key
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_client_old.crt
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsan_kms_client_old.key
-rw-r--r-T    1 root     root             0 Apr  3 21:50 vsanvp_castore.pem
  • 使用 fullchain.cer 覆盖 rui.crt
  • 使用 hitian.me.key 覆盖 rui.key

覆盖前先备份一下,防止发生意外

接下来需要重启UI让配置生效

/etc/init.d/hostd restart
/etc/init.d/vpxa restart

在Ubuntu Server上搭建Kubernetes cluster

准备Ubuntu Server

安装最新版本的 ubuntu server, 可以使用网易开源镜像站加速下载

http://mirrors.163.com/ubuntu-releases/18.04/ubuntu-18.04-live-server-amd64.iso

在3台主机上安装系统

物理机或者虚拟机都可以,要求互相之前可以直连,内存建议在2G以上, 如果不跑什么大型系统的话硬盘15G就差不多了

这里直接在VMware Esxi 上启动3个实例安装系统并指定IP地址

Kubernetes-vmware-exsi

主机 IP hostname 说明
c-1 192.168.5.191 c1 Master
c-2 192.168.5.192 c2 Node
c-3 192.168.5.193 c3 Node

准备环境

下面的步骤需要在3台主机上全部执行, 注意使用root用户

(可选) 更换apt的更新源为国内的地址,加速安装过程

sed -i -- 's/archive.ubuntu.com/mirrors.163.com/g' /etc/apt/sources.list

更新 APT

apt update -y && apt upgrade -y

安装 Docker CE

以下可以参照Docker 官网的文档 https://docs.docker.com/install/linux/docker-ce/ubuntu/

# 安装依赖
apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

# Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加Docker 的 apt repository.
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# 更新APT 并安装Docker
apt-get update -y && apt-get install -y docker-ce

安装 Kubernetes 相关的工具

# Add Google’s official GPG key:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

# 添加 APT repository.
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

# 更新APT 并安装
apt-get update -y && apt-get install -y kubelet kubeadm kubectl

到这里基础环境就准备好了, 下来开始初始化, 注意下面的部分在Master主机上操作

初始化 Kubernetes

启动 Master

(可选) 先pull一下初始化过程中需要的docker image, 加速安装过程

kubeadm config images pull

初始化

kubeadm init --pod-network-cidr=10.244.0.0/16

pod-network-cidr参数是之后创建内部网络需要的ip段,选一个没有被占用的内网段就可以了

如果报错 if [ERROR Swap]: running with swap on is not supported. Please disable swap

swap 没有关闭, 使用swapoff -a命令关闭swap再重新运行init

使用netplan管理ubuntu 的网络配置

最新的ubuntu已经使用netplan来管理网络配置了

列出当前的配置文件ls -al /etc/netplan/, 注意配置文件为yaml格式, 如果当前没有配置, 可以创建一个例如/etc/netplan/01-netcfg.yaml

例子

配置为使用DHCP

network:
 version: 2
 renderer: networkd
 ethernets:
   ens33:
     dhcp4: yes
     dhcp6: yes

配置为静态ip

network:
 version: 2
 renderer: networkd
 ethernets:
   ens33:
     dhcp4: no
     dhcp6: no
     addresses: [192.168.1.2/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

配置文件修改好之后使用sudo netplan apply应用配置, 可以加debug参数来查看具体的过程sudo netplan --debug apply

常用的 x-callback 链接

OmniFocus change language

Bear

Due

Deploying an etcd cluster as a standalone cluster on docker

docker host ip addr 192.168.5.170

docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/dir/for/etcd/data:/etcd-data \
  --name etcd --rm -d quay.io/coreos/etcd:latest \
  /usr/local/bin/etcd \
  --data-dir=/etcd-data --name node1 \
  --initial-advertise-peer-urls http://192.168.5.170:2380 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --advertise-client-urls http://192.168.5.170:2379 \
  --listen-client-urls http://0.0.0.0:2379 \
  --initial-cluster node1=http://192.168.5.170:2380