0%

环境

系统CPU达梦IP安装目录
CentOS7x86_64DM8172.20.10.169/opt/dmdbms

部署

  • 下载 DM8

    1
    
    https://www.dameng.com/list_103.html
  • 创建用户

    1
    2
    3
    
    groupadd dmdba
    useradd -g dmdba -m -d /home/dmdba -s /bin/bash dmdba
    passwd dmdba

拉取镜像

1
docker pull chenji1506/openvpn:2.4.8

配置OpenVPN

  • 创建目录

    1
    
    mkdir /data/openvpn/conf -pv 
  • 生成配置文件

    1
    2
    
    docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_genconfig -u udp://35.241.93.54
    # 35.241.93.54是本机的公网IP

  • 创建虚拟机磁盘文件

    1
    
    qemu-img create -f qcow2 /opt/image/ubuntu_22_04_5_x64_mini.qcow2 20G
  • 创建虚拟机

    1
    
    virt-install --name ubuntu_22_04_5_x64_mini --ram 2048 --vcpus 2 --os-variant ubuntu22.04 --arch x86_64 --network network=default,model=virtio --disk path=/opt/image/ubuntu_22_04_5_x64_mini.qcow2,format=qcow2,size=20 --cdrom /opt/image/ubuntu-22.04.5-live-server-amd64.iso --graphics vnc,listen=0.0.0.0,port=8888 --console pty,target_type=serial
  • 列出所有虚拟机

    1
    
    virsh list --all
  • 开始安装 ubuntu

  • 安装完后,初始化系统

    配置时区

    安装常用命令

    开启密码登录,允许 root 登录

环境

主机名主机IP
zk01192.168.1.195
zk02192.168.1.199
zk03192.168.1.203
zk04192.168.1.204

部署 Zookeeper 集群

下载安装包

1
https://zookeeper.apache.org

配置 zk01、zk02、zk03

修改三个节点的主配置文件 vim /data/zookeeper/conf/zoo.cfg

简介

frp 是一款高性能的反向代理软件,专注于内网穿透,支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,通过 frp,可以安全、便捷的将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

中文官网

英文官网

工作原理

frp 由两个组件组成:客户端(frpc)和服务端(frps),服务端部署在具有公网 IP 地址的机器上,而客户端部署在需要穿透的内网服务所在的机器上。

由于内网服务器缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问,用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

一、准备工具

  • 环境准备

    1
    2
    3
    4
    5
    6
    7
    
    安装 Docker 和 docker-compose;
    
    购买一台国外的云服务器,用来部署 Docker 仓库代理服务;
    
    准备一个域名,申请一个免费的 SSL 证书;
    
    安装 Nginx,反向代理到 Docker 仓库代理服务上
  • 创建密码

    1
    2
    3
    
    mkdir /data/registry-proxy/auth -p
    cd /data/registry-proxy
    docker run --entrypoint htpasswd httpd:2 -Bbn 用户名 密码 > auth/htpasswd

二、创建 docker-compose 文件

vim /data/registry-proxy/docker-compose.yml

一、安装

1
2
3
4
5
6
# RHEL
dnf install ipset iptables-services -y

# Ubuntu
apt update
apt install ipset iptables-persistent -y

二、创建 ipset 黑名单和白名单集合

1
2
3
4
5
# 创建黑名单集合
ipset create blacklist hash:net

# 创建白名单集合
ipset create whitelist hash:ip

说明:

hash:net 可接受网段和单个IP

hash:ip 只接受单个IP

什么是Docker Swarm

Swarm 是 Docker 公司推出的用来管理 docker 集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群 Docker 宿主机变成一个单一的虚拟主机,Swarm 使用标准的 Docker API 接口作为其前端的访问入口,换言之,各种形式的Docker Client (compose,docker-py等) 均可以直接与 Swarm 通信,甚至 Docker 本身都可以很容易的与 Swarm 集成,这大大方便了用户将原本基于单节点的系统移植到 Swarm 上,同时 Swarm 内置了对 Docker 网络插件的支持,用户也很容易的部署跨主机的容器集群服务。

Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。

从 Docker 1.12.0 版本开始,Docker Swarm 已经包含在 Docker 引擎中(docker swarm),并且已经内置了服务发现工具,我们就不需要像之前一样,再配置 Etcd 或者 Consul 来进行服务发现配置了。

Swarm deamon 只是一个调度器(Scheduler)加路由器(router), Swarm 自己不运行容器,它只是接受 Docker 客户端发来的请求,调度适合的节点来运行容器,这就意味着,即使 Swarm 由于某些原因挂掉了,集群中的节点也会照常运行,当 Swarm 重新恢复运行之后,他会收集重建集群信息。

添加 Node 节点

配置主机名

1
hostnamectl set-hostname node03

关闭防火墙和 selinux

关闭 swap 分区

配置内核参数

1
2
3
4
5
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

安装 ipset 和 ipvsadm

1
yum -y install conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

环境

系统主机名IP角色kubernetes版本
Kylin Linux Advanced Server V10master192.168.200.125master1.28.2
Kylin Linux Advanced Server V10node-01192.168.200.154node1.28.2

环境初始化(所有节点)

  • 安装依赖

    1
    
    dnf install -y dnf-utils ipvsadm telnet wget net-tools conntrack ipset jq iptables curl sysstat libseccomp socat nfs-utils fuse
  • 修改主机名

    1
    2
    3
    4
    5
    
    # master 节点
    hostnamectl set-hostname master
    
    # node 节点
    hostnamectl set-hostname node-01