安装 kustomize 命令

1
2
3
4
#!/bin/sh
wget https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.4.3/kustomize_v5.4.3_linux_amd64.tar.gz >/dev/null 2>&1
tar -xzvf kustomize_v5.4.3_linux_amd64.tar.gz -C /usr/local/bin/ >/dev/null 2>&1
chmod +x /usr/local/bin/kustomize

kustomization

kustomize 是一个通过 kustomization 文件定制 kubernetes 对象的工具,它可以通过一些资源生成一些新的资源,也可以定制不同的资源的集合。

kustomization 常见目录布局

1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── base
├── deployment.yaml
├── kustomization.yaml
└── service.yaml
└── overlays
├── dev
├── kustomization.yaml
└── patch.yaml
├── prod
├── kustomization.yaml
└── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
  • /bases目录保存的是基本的配置

  • /overlays【此文件夹也可以省略】里放置的不同环境的配置,例如 /dev/staging/prod这些就是不同环境的配置,

  • /base等文件夹下都有一个 kustomization .yml 文件,用于配置。

阅读全文 »

安装部署

新建命名空间并部署项目资源

1
2
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

暴露服务

默认情况下, Argo CD 服务不对外暴露服务,可以通过 LoadBalancer 或者 NodePort 类型的 Service、Ingress、Kubectl 端口转发等方式将 Argo CD 服务发布到 Kubernetes 集群外部。

由于是 vm 自建,所以选择使用 NodePort 的方式暴露服务。

1
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'

查看随机暴露的端口

1
2
3
4
5
6
7
8
9
10
11
root@devops:~# kubectl get svc -n argocd
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
argocd-applicationset-controller ClusterIP 10.43.49.182 <none> 7000/TCP,8080/TCP 78m
argocd-dex-server ClusterIP 10.43.155.32 <none> 5556/TCP,5557/TCP,5558/TCP 78m
argocd-metrics ClusterIP 10.43.241.106 <none> 8082/TCP 78m
argocd-notifications-controller-metrics ClusterIP 10.43.239.240 <none> 9001/TCP 78m
argocd-redis ClusterIP 10.43.37.52 <none> 6379/TCP 78m
argocd-repo-server ClusterIP 10.43.79.21 <none> 8081/TCP,8084/TCP 78m
argocd-server NodePort 10.43.65.157 <none> 80:32221/TCP,443:31046/TCP 78m
argocd-server-metrics ClusterIP 10.43.235.50 <none> 8083/TCP 78m
root@devops:~#
阅读全文 »

初始化 rke2 集群

新建 4 台 Ubuntu24

设置每台 vm 的 hostname

1
2
3
4
hostnamectl set-hostname master-node
hostnamectl set-hostname worker-node-01
hostnamectl set-hostname worker-node-02
hostnamectl set-hostname devops

由于 vm 是复制出来的,需要重新生成机器码并重启

1
2
3
rm -rf /etc/machine-id
systemd-machine-id-setup
reboot
阅读全文 »
0%