Fork me on GitHub

Debian12二进制安装k8s v1.25.12

篇幅过长,为了更好的阅读体验可以前往我的文档-k8s Debian12 二进制安装 或者我的备用博客地址 .

一、预先准备

1.1 服务器角色

环境信息:

  • k8s版本:v1.25.12
  • Debian12(bookworm):内核6.1.0-9-amd64
角色IP组件列表
master172.19.82.157kube-apiserver、kube-controller-manage、kube-scheduler、kubelet、kube-proxy、etcd、containerd
node01172.19.82.158kubelet、kube-proxy、containerd、etcd
node02172.19.82.159kubelet、kube-proxy、containerd、etcd

Containerd+Harbor私有仓(https)

看似简单,其实中间有很多坑,有时候一个小小的错误就会导致一连串的问题,故在此记录一下。

预先准备

配置Harbor https

生成CA自签证书、私钥、habor证书私钥(harbor.xxx.local换成你自己的域名):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# CA私钥
openssl genrsa -out ca.key 4096
# CA证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.xxx.local" \
 -key ca.key \
 -out ca.crt
# 生成habor私钥
openssl genrsa -out harbor.key 4096
# 生成证书请求文件
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
    -key harbor.key \
    -out harbor.csr
# 生成x509 v3格式的文件
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=harbor.xxx.local
DNS.2=harbor.xxx
EOF
# 使用上面的文件来签署证书
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in harbor.csr \
    -out harbor.crt

PVE初始化相关

去除登录订阅弹窗

备份该文件:

1
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js{,.bak}

找到以下代码,大概在546行:

1
2
546                     if (res === null || res === undefined || !res || res
547                         .data.status.toLowerCase() !== 'active') {

将以上的if条件改为false即可,如下:

1
if (false) {

修改完保存文件,重启服务:

1
systemctl restart pveproxy

PVE制作镜像模板

创建虚拟机

创建虚拟机,ID和名称按照自己的喜好随便取:

image-20230425100830230

需要注意的是,在选择操作系统这一步中,不要选择任何介质,如下图所示:

MacOS偏门解决vim/Neovim光标跳转(j/k键)卡顿的问题。【使用karabiner】

问题详情参考:https://blog.deskangel.com/2021/04/03/vim-j-k-speed-issue/

在iterm2中强制让英文输入法切换为内置的ABC输入法而不使用搜狗或者其他输入法的英文状态.

在使用iterm2的时候,将左shift键重新映射为command+space键(在系统快捷键中设置切换输入法的快捷键,这里你可以自定义)。 使用以下命令将上面这个键盘映射json文件导入到karabiner里面(浏览器打开就可以,会自动拉起karabiner,路径自定义。)

1
2
3
karabiner://karabiner/assets/complex_modifications/import?url=file:///Users/agou-ops/Desktop/iterm2.json
# 或者直接使用我上传好的在线gist文件.
karabiner://karabiner/assets/complex_modifications/import?url=https://gist.githubusercontent.com/AGou-ops/cb8659d99ff47f32eeb14a81ad47a2a9/raw/85b9ecce462330c57de0930d9495d257ed903ac1/iterm2_key.json

网站简单自动部署(git hook)

大致流程

autodeploy001

从gitee私有仓库拉取代码,通过本地jenkins将代码push到指定的git服务器(通过ssh),最后rsync同步到指定的网站目录当中。