2025-3-25 myluzh
CI/CD
0x01 Job Import Plugin
插件介绍:使用该插件从旧 Jenkins 导入所有作业。
1、在新的Jenkins安装好插件后,配置 Remote Jenkins Server
(1) 进入 Jenkins 管理页面:登录到你的新 Jenkins 实例。点击左侧菜单中的 Manage Jenkins。
(2) 找到 Job Import Plugin 配置:在管理页面中,向下滚动找到 Configure System。搜索或滚动到 Job Import Plugin 的配置部分。
(3) 添加远程 Jenkins 服务器:点击 Add Jenkins server 按钮。填写以下信息:
Name: 给这个远程 Jenkins 服务器起一个名称(例如 OldJenkins)。
URL: 输入旧 Jenkins 的 URL(例如 http://<old-jenkins-url>)。
Username: 如果需要身份验证,输入旧 Jenkins 的用户名。
Password/Token: 输入对应的密码或 API Token(建议使用 API Token 更安全...
阅读全文>>
标签: cicd jenkins
评论(0)
(7)
2025-3-11 myluzh
Kubernetes
0x01 部署单节点emqx
1、部署yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: emqx
namespace: base
spec:
serviceName: "emqx-headless"
replicas: 1
selector:
matchLabels:
app: emqx
template:
metadata:
labels:
app: emqx
spec:
containers:
- name: emqx
image: 172.30.82.223:5443/base/emqx/emqx:4.4.1
ports:
- containerPort: 1883
name: mqtt
- containerPort: 8083
name: mqtt-ws
- conta...
阅读全文>>
标签: k8s emqx emqx4
评论(0)
(87)
2025-3-10 myluzh
NOTES
0x01 问题描述
部署完nextcloud,点击登录后,一直卡在登录界面,控制台提示:Refused to send form data to '/login' because it violates the following Content Security Policy directive: "form-action 'self'".
0x02 解决方案
把自己的域名加上
cd /nextcloud_data/lib/public/AppFramework/Http
vim ContentSecurityPolicy.php
# 加上网址域名即可
/** @var array Domains which can be used as target for forms */
protected $allowedFormActionDomains = [
'\'self\'','pan.nextcloud.com'
];
参考链接:
https://developer.aliyun.com...
阅读全文>>
标签: nextcloud
评论(0)
(108)
2025-3-5 myluzh
Kubernetes
0x01 前言
Kubernetes 命名空间一直处于 Terminating 状态,无法删除。
通常是由于该命名空间中的资源对象被设置了终结器(finalizers)。终结器是一种机制,用于确保某些操作在对象被删除之前完成。例如,某些控制器可能会设置终结器以确保在删除命名空间之前清理相关资源或执行特定的清理逻辑。如果这些清理任务未完成或者出现了错误,命名空间将一直保持在“Terminating”状态。
0x02 解决方案
方案1:排查并解决阻塞资源问题
命名空间无法删除是因为其中包含了一些特殊的资源(如自定义资源定义CRD、持久卷声明PVC等),这些资源的存在阻止了命名空间的删除过程。检查命名空间下的所有资源:根据输出结果逐一排查是否有异常资源未被正确清理,并采取相应措施(如手动删除资源)。
# 列出指定命名空间中所有类型的资源
kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n <namespace>
方案2:移除命名...
阅读全文>>
标签: k8s kubernetes Namespace ns terminating finalizers
评论(0)
(265)
2025-3-4 myluzh
Kubernetes
0x01 前言
rke2部署k8s集群,主机是2台master2台worker,系统用的是Ubuntu24.04 LTS,ansible清单如下:
必须以 root 用户或通过 sudo 执行 RKE2 安装。https://docs.rke2.io/zh/install/quickstart
# inventory
[all:vars]
ansible_user=root
ansible_password='Testtest01.'
ansible_python_interpreter=/usr/bin/python3.12
[k8s_master]
k8s-master01 ansible_host=172.17.100.181
k8s-master02 ansible_host=172.17.100.182
k8s-master03 ansible_host=172.17.100.183
[k8s_worker]
k8s-worker01 ansible_host=172.17.100.186
k8s-worker02 ansible_host=172.17.100.187
[...
阅读全文>>
标签: kubernetes rancher rke2
评论(0)
(263)
2025-3-3 myluzh
CI/CD
0x01 前言
Argo CD仓库地址:https://github.com/argoproj/argo-cd/releases
什么是Argo CD?:
Argo CD 是一个基于 GitOps 的 Kubernetes 持续交付工具,通过自动化同步 Git 仓库中的配置到 Kubernetes 集群,实现高效、可靠的应用部署和管理。
GitOps 的核心原则:
1、声明式配置:Kubernetes 的部署配置(如 deployment.yaml)以声明式的方式存储在 Git 仓库中。ArgoCD 通过读取这些配置文件来同步 Kubernetes 集群的状态。
2、Git 作为唯一事实来源(Single Source of Truth):所有的 Kubernetes 资源配置都存储在 Git 仓库中,Git 仓库是唯一的事实来源。Jenkins 在构建镜像后,会更新 Git 仓库中的镜像标签,确保 Git 仓库始终反映最新的期望状态。
3、自动化同步:ArgoCD 会持续监控 Git 仓库的变化,并在检测到更新时自动同步 Kubernetes 集群的状态。这种自动化确保了集群状态与 Git 仓库中的声明式...
阅读全文>>
标签: k8s argocd cd gitops
评论(0)
(121)