高可用集群《谷粒商城》采用的架构k8s(kuberbetes)+kubesphere+devops
我先看官方中文文档学习之后再看视频看自己学的差距
k8s简介:
部署程序的三个时期,1手动打包部署2虚拟化多个虚拟机时代3现在处于容器时代。
容器部署最大优势在于各应用之间资源分配均匀,隔离性比较强,比如docker里面每个应用是运行在自己独立的空间内,该应用只需要Java环境该空间就只会有相关的环境。
k8s只做管理各集群以及服务器以及服务,比如你有一个elk系统,k8s只负责这个系统部署在哪里,停了是否杀掉,回滚等等工作,常用于管理docker
label标签
apiVersion: v1
kind:pod #pod类型
metadata:(pod的数据)
-name:apple(pod的名字)
-labels:
--color:red
spec:
-containers:(容器)
--name:nginx
--image:nginx(镜像)
--ports:
---containerport:80
k8s集群搭建:
方式1单节点可以使用minikebu+virtualbox快速搭建:minikebu搭建单节点k8s
方式2集群搭建采用kubeadm工具
vagrant2.2.5-virtualbox6.0.10这两个版本比较适配
swap分片:就是原本预留给运行内存的空间在磁盘不够的时候被挤出来用用的空间
Vagrant 与 VirtualBox 的保姆级安装教程_Jacks丶的博客-CSDN博客_vagrant virtualbox
vagrantfile自动创建虚拟机:网上教程太复杂看不懂
step1:编写vagrantfile文件
step2:在vagrantfile同级目录打开dos窗口执行vagrant up命令
可以参考Vagrant自动创建Vmware虚拟机_oneslide的博客-CSDN博客_vagrant vmware
vagrant开启密码登录功能:vagrant开启密码登录功能,使用xshell连接虚拟机_ax150310的博客-CSDN博客_vagrant登录
重启sshd时可能
Redirecting to /bin/systemctl restart sshd.service 直接执行/bin/systemctl restart sshd.service即可
退出root再退出虚拟机 exit;Linux操作系统命令中,如何进入和退出root超级用户?_分子1999的博客-CSDN博客_linux退出root用户命令xx虚拟机集群网络设置:
显示默认网卡ip route show
每个虚拟机有两个网卡,其中一个网卡是用于与宿主机产生关联的,仅主机网络。
另一个网卡则是设置本身虚拟主机的IP以及连接外网,连接外网需要nat模式,网络地址转换nat模式虽然也属于nat,但是每个虚拟机本身IP网段端口是一样的,是利用端口转发绑定宿主机不同端口。桥接模式是连接宿主机局域网。
新建一个nat网络并设置每个虚拟机的nat模式,刷新虚拟机mac地址,注意必须要关闭虚拟机才能刷新。
设置虚拟机主机名并与/etc/hosts文件绑定,使得访问主机名也能访问某虚拟机。【查看主机名hostname修改主机名vi /etc/hostname】
关闭防火墙:(64条消息) Linux关闭防火墙命令_戴维小熊的博客-CSDN博客_linux关闭防火墙命令
关闭swap分区:临时关闭swapoff -a 永久关闭vi /etc/fstab swap swap defaults 0 0 这一行或者注释掉这一行 free -m 为0关闭成功
关闭Linux默认安全策略selinux:Linux中关闭selinux的方法是什么?-linux运维-PHP中文网
将桥接的ipv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf <
net.bridge.bridge-nf-call-iptables=1
vm.swappiness=0
EOF
sysctl --system
备份虚拟机设置
安装k8s以及后续:kubernetes(k8s)专题 - 幕布 (mubu.com)