安装部署

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

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
阅读全文 »

mysql 高可用

使用 docker compose 部署主从 mysql 的主从架构

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
33
34
35
36
37
38
services:
mysql-master:
image: dockerhub.qingcloud.com/doubao/mysql:8.0.39
container_name: mysql-master
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
ports:
- "3306:3306"
volumes:
- ./master/data:/var/lib/mysql
- ./master/config/my.cnf:/etc/mysql/my.cnf
- ./master/logs:/var/log/mysql
networks:
- mysql-cluster

mysql-slave:
image: dockerhub.qingcloud.com/doubao/mysql:8.0.39
container_name: mysql-slave
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3307:3306"
volumes:
- ./slave/data:/var/lib/mysql
- ./slave/config/my.cnf:/etc/mysql/my.cnf
- ./slave/logs:/var/log/mysql
depends_on:
- mysql-master
networks:
- mysql-cluster

networks:
mysql-cluster:
driver: bridge
阅读全文 »
0%