更新系统[button color="light" icon="" url="https://www.lius.fun/13.html" type="round"]参考链接[/button]

修改hosts文件,添加以下内容

192.168.1.10 k8s-lius

取消swap分区

sed -ri 's/.*swap.*/#&/' /etc/fstab 

关闭selinux

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

安装docker

curl https://releases.rancher.com/install-docker/20.10.sh | sh

不要使用最新的26,Rancher可能不兼容

安装Rancher

docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /opt/rancher/data:/var/lib/rancher --privileged rancher/rancher:v2.6.9
# 找到密码
docker logs  ${container-id}  2>&1 | grep "Bootstrap Password:"


Rancher注册过程中查看配置日志

[INFO ] [ingress] removing admission batch jobs if they exist
[INFO ] [addons] Saving ConfigMap for addon rke-ingress-controller to Kubernetes
[INFO ] [addons] Successfully saved ConfigMap for addon rke-ingress-controller to Kubernetes
[INFO ] [addons] Executing deploy job rke-ingress-controller
[INFO ] [ingress] removing default backend service and deployment if they exist
[INFO ] [ingress] ingress controller nginx deployed successfully
[INFO ] [addons] Setting up user addons
[INFO ] [addons] no user addons defined
[INFO ] Finished building Kubernetes cluster successfully


注册完毕

查看注册情况
Rancher使用镜像.png
Rancher容器运行状态-1.png
Rancher容器运行状态-2.png


安装kutectl

#下载最新版本:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

    #验证二进制文件(可选)
    #下载 kubectl 校验和文件:
    curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
    
    #根据校验和文件验证 kubectl 二进制文件:
    echo "$(<kubectl.sha256) kubectl" | sha256sum --check
    如果有效,则输出为:
    kubectl: OK
    
    #安装 kubectl
    install -o root -g root -m 0755 kubectl /usr/bin/kubectl
    
    #测试以确保您安装的版本是最新的:
    kubectl version --client
    
    #将rancher集群中kubeconfig的内容复制到服务器config中
    mkdir -p $HOME/.kube
    vi $HOME/.kube/config    #粘贴复制的内容
    
    #测试kubectl
    kubectl get node

下载文件传入到主节点 $HOME/.kube/config


Rancher报错

[etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [192.168.100.666] failed to report healthy. Check etcd container logs on each host for more information 

mstart节点执行

docker stop $(docker ps -aq)               #停止所有停止的容器
docker system prune -f                     #清理未使用的镜像
docker volume rm $(docker volume ls -q)    #删除所有数据卷
docker image rm $(docker image ls -q)      #删除所有镜像

[tag type="info"]镜像和数据卷非必要可以不用删除[/tag]

rm -rf /etc/ceph \
       /etc/cni \
       /etc/kubernetes \
       /opt/cni \
       /opt/rke \
       /run/secrets/kubernetes.io \
       /run/calico \
       /run/flannel \
       /var/lib/calico \
       /var/lib/etcd \
       /var/lib/cni \
       /var/lib/kubelet \
       /var/lib/rancher/rke/log \
       /var/log/containers \
       /var/log/pods \
       /var/run/calico

Rancher忘记密码

docker exec -ti <容器id> reset-password

Rancer报错

 新建集群后,一直显示无法 Waiting for API to be available,日志显示 [Disconnected] Cluster agent is not connected
  1. cattle-cluster-agent貌似使用宿主机的hosts制定,需要DNS解析才可以。我注册下游RKE2集群时碰到这个问题,后来添加外部DNS解决。
  2. RKE 的集群部署完成之后会通过 k8s_cluster-register_cattle-cluster-agent 这个容器 告诉Rancher服务已经部署完毕,但是这个容器的内部 HOSTS 没有配置我们Rancher服务的域名(集群和Rancher不在同一个网络),导致没有办法通信,一直无法注册成功。 我在这个容器内部 手动修改了 /etc/hosts 添加了我们的域名。

一、忘记修改网络信息

说明:容器网络模式默认使用bridge,忘记修改为photoprism_default,则使用一下办法

docker network disconnect bridge project  #解除网络绑定
docker network connect photoprism_default #网络绑定
docker restart project
docker network inspect photoprism_default #查看是否配置成功

查看网络配置是否成功.png

重启生效后会导致宝塔面板、Nginx停止,请手动启动

二、忘记配置端口与数据卷

如果忘记设置数据卷,需要将/var/lib/docker/containers/var/lib/docker/containers目录下的js文件进行修改
文件名称:hostconfig.jsonconfig.v2.json
注意:需要下载后修改,进行覆盖上传,vim修改可能保存不生效
忘记设置,使用js工具

三、忘记配置启动策略

docker update project  --restart=always

四、容器打包后启动

容器打包成镜像,重新构建的容器,宝塔面板、Nginx需要手动启动
且会导致,里面的MariaDB数据库远程连接失效

docker stop project
docker commit project project:v1.1
docker save -o project.tar prject:v1.1

这里不使用export生成镜像,export生成的镜像会丢失一些元数据,且在创建容器时要格外添加/bin/bash

准备工作:

Typecho生成备份文件

一、docker容器环境配置

1、docker 生成容器

docker run -itd 
  --name project
  --net photoprism_default         #保证和MariaDB一个网络环境
  -p 4888:4888                     #宝塔面板端口
  -p 4810:4810  
  -p 4820:4820 
  -p 4830:443
  --restart always  
  --privileged  
  -v /volume1/docker/project:/www   #使用宝塔面板快速部署
  -v /volume1/Mii:/opt/filerun      #Flerun可持续化环境
  centos7

2、安装宝塔面板

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

3、安装完毕后设置端口为4888

4、宝塔面板安装PHP7.4(7.3)、 Nginx1.24

说明:容器网络模式默认使用bridge忘记修改为photoprism_default,则使用以下办法

docker network disconnect bridge project  #解除网络绑定
docker network connect photoprism_default #网络绑定
docker restart project
重启生效后会导致宝塔面板、Nginx停止,请手动启动

二、远程数据库配置

1、进入MaraDB数据库容器

docker exec -it maradb bash
mysql -u root -p                   #photoprism系列的MariaDB数据密码为photoprism             
create database typecho;           #创建typecho数据库
create user 'typecho'@'%' identified by 'your_password';     #创建用户typecho
grant all on typecho.* TO 'typecho'@'%';                    #typecho用户授权任何ip可访问typecho数据库 
flush privileges;                  #刷新操作

三、宝塔面板创建网站

1、创建Typecho网站,将4810端口分配给网站

2、进入安装向导,输入远程MariaDB数据库IP地址等信息

如一直显示:正在设置数据库、数据库不存在df_user
则可能是:

  • MariaDB和project不在photoprism网络
  • 账户密码错误权限未设置
  • fileru.zip文件解压后数据重复安装,导致存在缓存,影响数据库判断

注意:最好使用drop user 'user'@'localhost'&& flush privileges

四、安装完毕后打开后台上传即可

Typecho导入成功.png

配置文件详解参考

[post cid="98" /]


1、Nas导入证书
Nas导入证书.png

key文件为`私钥`
pem文件为`证书`

2、删除原有证书

3、打开NPS前端,依照提示增加客户端
正常增加客户端.png

[tag type="info"]有时候客户端断开后,再使用客户端命令可能连接失败,删除重新增加客户端即可[/tag]

4、云平台DNS设置解析到公网服务器,NPS管理端添加域名解析

Nps添加域名解析.png
5、客户端下载安装包后,使用管理员权限的CMD启动
NPS管理端启动命令.png
服务器端配置文件若tls_enable=true,则需要客户端则需要同步增加
官方说明.png
6、访问:http(s)://公网IP:https_proxy_port=端口,即可

7、WAF防护配置:http(s)://公网IP:https_proxy_port=端口,其他正常添加即可

8、安全组禁止:NPS管理界面IP方式访问、NPS域名代理端口;防火墙开启,放行NPS所有的端口

上述配置后,Fila2Ban可正常使用

JumpServer安装

1、下载官网下载

cd /opt
tar -xvf jumpserver-offline-installer-v3.10.6-amd64.tar.gz     #长时间等待解压
cd jumpserver-offline-installer-v3.10.6-amd64

2、配置必要的端口设置

vim /opt/jumpserver-offline-installer-v3.10.6-amd64/`config-example.txt` 
HTTP_PORT=8088            # 对外提供服务端口, 如果与现有服务冲突请自行修改

3、修改DOMAINS,否则报错出现

JumpServer报错.png

DOMAINS=192.168.1.1:8088      # 可信任 DOMAINS 定义

1、忘记修改DOMAINS,则修改

vim /opt/jumpserver/config/config.txt
DOMAINS=192.168.1.1:8088

2、然后执行

./jmsctl.sh restart

[tag type="primary"]重新安装后,数据不会丢失,在/data/jumpserver[/tag]

忘记密码

1、进入 jms_core 容器

docker exec -it jms_core /bin/bash

2、切换到apps目录里面

cd apps/

3、修改admin密码

python manage.py changepassword admin

注(admin用户的密码和不能有admin的字样)输入两次密码

Changing password for user 'Administrator(admin)'
Password:      #第一次密码
Password (again):   #在输入一次密码
Password changed successfully for user 'Administrator(admin)'