如何用Docker和Kubernetes Operator自动化部署CentOS上的Zookeeper集群?

摘要:环境说明 主机 IP主机名节点角色数据目录Kubernetes 节点标签 192.168.10.100 zk1 Master optzookeeperdata zk-cluster=true 192.168.10.101 zk2 Wo
环境说明 主机 IP主机名节点角色数据目录Kubernetes 节点标签 192.168.10.100 zk1 Master /opt/zookeeper/data zk-cluster=true 192.168.10.101 zk2 Worker /opt/zookeeper/data zk-cluster=true 192.168.10.102 zk3 Worker /opt/zookeeper/data zk-cluster=true 192.168.10.103 zk4 Worker /opt/zookeeper/data zk-cluster=true 192.168.10.104 zk5 Worker /opt/zookeeper/data zk-cluster=true 一、基础环境部署(所有节点) 1. 系统配置 bash # 设置主机名 sudo hostnamectl set-hostname zk1 # 分别在每台机器执行对应主机名 # 编辑hosts文件 sudo tee -a /etc/hosts <<EOF 192.168.10.100 zk1 192.168.10.101 zk2 192.168.10.102 zk3 192.168.10.103 zk4 192.168.10.104 zk5 EOF # 关闭SELinux sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 优化内核参数 sudo tee -a /etc/sysctl.conf <<EOF net.core.somaxconn=65535 net.ipv4.tcp_max_syn_backlog=65535 vm.swappiness=1 EOF sudo sysctl -p 2. Docker 安装 bash # 安装依赖 sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker仓库 sudo yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker sudo dnf install -y docker-ce docker-ce-cli containerd.io # 配置Docker sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } } EOF # 启动Docker sudo systemctl start docker sudo systemctl enable docker 3. Kubernetes 组件安装 bash # 禁用Swap sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 安装kubeadm/kubelet/kubectl cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes sudo systemctl enable --now kubelet # 初始化Master节点 (仅在zk1执行) sudo kubeadm i
阅读全文