通过《谷粒商城》项目学习高可用集群之k8s

高可用集群《谷粒商城》采用的架构k8s(kuberbetes)+kubesphere+devops

我先看官方中文文档学习之后再看视频看自己学的差距

k8s简介:

部署程序的三个时期,1手动打包部署2虚拟化多个虚拟机时代3现在处于容器时代。

容器部署最大优势在于各应用之间资源分配均匀,隔离性比较强,比如docker里面每个应用是运行在自己独立的空间内,该应用只需要Java环境该空间就只会有相关的环境。

k8s只做管理各集群以及服务器以及服务,比如你有一个elk系统,k8s只负责这个系统部署在哪里,停了是否杀掉,回滚等等工作,常用于管理docker

k8s源码架构及工作原理流程:通过《谷粒商城》项目学习高可用集群之k8s_第1张图片

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用户命令​​​​​​​x​​​​​​​x虚拟机集群网络设置:

显示默认网卡ip route show

每个虚拟机有两个网卡,其中一个网卡是用于与宿主机产生关联的,仅主机网络。

另一个网卡则是设置本身虚拟主机的IP以及连接外网,连接外网需要nat模式,网络地址转换nat模式虽然也属于nat,但是每个虚拟机本身IP网段端口是一样的,是利用端口转发绑定宿主机不同端口。桥接模式是连接宿主机局域网。

新建一个nat网络并设置每个虚拟机的nat模式,刷新虚拟机mac地址,注意必须要关闭虚拟机才能刷新。

  1. 桥接:相当于虚拟机和真机之间架了一座桥,虚拟机需要配置和真机在同一网段
  2. NAT:虚拟系统借助 NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网
  3. 仅主机 虚拟机和物理机在一个封闭的内网网段中,不可以上网。

设置虚拟机主机名并与/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-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
vm.swappiness=0
EOF

sysctl --system

备份虚拟机设置

安装k8s以及后续:kubernetes(k8s)专题 - 幕布 (mubu.com)

你可能感兴趣的:(学习,devops,kubernetes)