当前位置:   article > 正文

实战【云原生】--- Kubernetes集群

实战【云原生】--- Kubernetes集群


实验需求

(1)Kubernetes 区域可采用 Kubeadm 方式进行安装。

(2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上,Pod使用hostPath类型的存储卷挂载,节点本地目录共享使用 /data,2个Pod副本测试页面二者要不同,以做区分,测试页面可自己定义。

(3)编写service对应的yaml文件,使用NodePort类型和TCP 30000端口将Nginx服务发布出去。

(4)负载均衡区域配置Keepalived+Nginx,实现负载均衡高可用,通过VIP 192.168.10.100和自定义的端口号即可访问K8S发布出来的服务。

(5)iptables防火墙服务器,设置双网卡,并且配置SNAT和DNAT转换实现外网客户端可以通过12.0.0.1访问内网的Web服务。

实验架构
在这里插入图片描述
实验环境

节点 IP地址 组件
master01 192.168.10.130 docker、kubeadm、kubelet、kubectl
node01 192.168.10.132 docker、kubeadm、kubelet、kubectl
node02 192.168.10.133 docker、kubeadm、kubelet、kubectl
Ib01 192.168.10.134 nginx,keepalived
Ib02 192.168.10.135 nginx,keepalived
网关服务器 192.168.10.136 iptables
Client 192.168.10.137

一、kubeadm 部署 K8S 集群架构

1、关闭所有节点的防火墙 核心防护 iptables swap交换

[root@master01 ~]#setenforce 0
setenforce: SELinux is disabled
[root@master01 ~]#systemctl disable  --now firewalld
[root@master01 ~]#sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@master01 ~]#iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
[root@master01 ~]#swapoff -a
[root@master01 ~]#sed -ri 's/.*swap.*/#&/' /etc/fstab
[root@master01 ~]#for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

2、修改主机名

并写入三台机子的hosts中
[root@master01 ~]#cat >> /etc/hosts << EOF
192.168.10.130 master
192.168.10.132 node01
192.168.10.133 node02
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、调整内核参数

[root@master01 ~]#cat > /etc/sysctl.d/kubernetes.conf << EOF
#开启网桥模式,可将网桥的流量传递给iptables链
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
#关闭ipv6协议
net.ipv6.conf.all.disable_ipv6=1
net.ipv4.ip_forward=1
EOF
[root@master01 ~]#sysctl --system  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
在这里插入图片描述

二、安装Docker

1、所有节点安装docker

[root@master01 ~]#yum install -y yum-utils device-mapper-persistent-data lvm2 
[root@master01 ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
[root@master01 ~]#mkdir /etc/docker/
[root@master01 ~]#cat > /etc/docker/daemon.json <<EOF
 {
   "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
   "exec-opts": ["native.cgroupdriver=systemd"],
   "log-driver": "json-file",
   "log-opts": {
     "max-size": "100m"
   }
 }
EOF
[root@master01 ~]#systemctl daemon-reload 
[root@master01 ~]#systemctl
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号