暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一键安装高可用K8S集群和Mysql集群

平凡人笔记 2022-06-13
454

VMware Fusion 安装Centos 7.7

  • centos 7.7 镜像地址

    http://ftp.iij.ad.jp/pub/linux/centos-vault/7.7.1908/isos/x86_64/
    复制

  • 通过下载工具(mac版本)下 几秒钟就可以下好

    https://gitee.com/pingfanrenbiji/mac-download-fat-util
    复制

下载好之后,就可以通过VMware Fusion安装Centos7.7

配置静态IP

设置linux 静态ip地址

vim etc/sysconfig/network-scripts/ifcfg-ens33 

BOOTPROTO=static

ONBOOT=yes
IPADDR=192.168.168.154
NETMASK=255.255.255.0 GATEWAY=192.168.168.2
DNS1=8.8.8.8
复制

网关和子网掩码怎么获取

# 在宿主机上
cat /Library/Preferences/VMware Fusion/vmnet8/nat.conf

复制

重启网络

sysetmctl restart network
复制

查看ip和确认是否可以访问外网

设置centos 阿里云镜像源

mv /etc/yum.repos.d /etc/yum.repos.d.bak

mkdir /etc/yum.repos.d

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

复制

克隆镜像

再克隆2个镜像,分别修改另外2个镜像的ip即可

vim /etc/sysconfig/network-scripts/ifcfg-ens33 

IPADDR=192.168.168.155

复制

备注

3台虚拟机 每台分配2个CPU和5000M内存(内存不能小于4G)

一键安装K8S集群

安装脚本

在k8s-master节点执行
git clone https://gitee.com/pingfanrenbiji/kubeadm-hacd kubeadm-ha

安装ansible
./ansible/install.sh

配置节点ip
vim example/hosts.s-master.ip.ini

一键部署
ansible-playbook -i example/hosts.s-master.ip.ini 90-init-cluster.yml

复制

安装mysql集群

安装nfs服务

安装rpc跟nfs服务
yum -y install rpcbind nfs-utils

创建指定共享目录并修改相应权限
mkdir /nfs && chmod 666 nfs
vim /etc/exports/nfs 192.168.168.154/24(insecure,rw,sync,no_root_squash,fsid=0)

载入配置
exportfs -rv

启动rpc服务并加入开机自启
systemctl enable rpcbind --now

启动nfs服务并加入开机自启
systemctl enable nfs --now

服务检查
showmount -e

客户端配置 将服务nfs目录挂载至本机/mnt
mount -t nfs 192.168.168.154:/nfs mnt

复制

安装dokcer

cat >/etc/yum.repos.d/docker.repo<<EOF
[docker-ce-edge]
name=Docker CE Edge - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/edgeenabled=1gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpgEOF

yum安装
yum -y install docker-ce

查看docker版本
docker --version

开机自启
systemctl enable docker

启动docker
systemctl start docker

cat >> /etc/docker/daemon.json << EOF
{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

systemctl restart docker

复制

部署脚本

git clone https://gitee.com/pingfanrenbiji/mysql-kuberneteskubectl apply -f storageclass.yaml

kubectl get storageclass

kubect apply -f nfs-client-provisioner.yaml

kubectl get po -n kube-system

Normal ExternalProvisioning 5s (x16 over 3m28s) persistentvolume-controller waiting for a volume to be created, either by external provisioner "fuseim.pri/ifs" or manually created by system administrator

# 修改apiserver的yaml文件

vim /etc/kubernetes/manifests/kube-apiserver.yaml

spec:
containers:
- command:
- kube-apiserver
- --feature-gates=RemoveSelfLink=false# 执行apiserver文件(twice)

kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

kubectl apply -f mysql-pvc.yaml

kubectl get pv,pvc

复制


文章转载自平凡人笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论