IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Vagrant搭建k8s集群 -> 正文阅读

[系统运维]Vagrant搭建k8s集群

目录

一、使用vagrant搭建3台虚拟机

二、给每台虚拟机设置网络

三、设置linux环境

四、所有节点安装docker、kubeadm、kubelet、kubectl

五、部署k8s集群


一、使用vagrant搭建3台虚拟机

vagrant的使用以及搭建虚拟机:vagrant搭建虚拟机

二、给每台虚拟机设置网络

以下步骤要在每台虚拟机中操做:

用xshell连接vagrant后,查看使用的默认网卡:

ip route show

看到使用的默认网卡是eth0,然后使用 ip addr 查看三台的eth0都是一样的ip。

接下来设置virtualBox的网卡。

1、在管理->全局设定->网络中添加一块网卡

?2、在设置中->网络->网卡1中修改连结方式为 NAT网络 ,并刷新MAC地址

3、重新查看eth0的网络地址

k8s-master:

k8s-node1

?

k8s-node2

?现在每台的eth0地址都不一样了。

4、查看虚拟机之间网络是否互通,互相 ping , 并且 ping 一下百度

?如果都能ping通,那么虚拟机的网卡就设置完毕。

eth0是后面k8s集群要默认使用的网卡。

三、设置linux环境

1. 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.关闭 selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久关闭
setenforce 0 # 临时关闭当前会话

?3.关闭 swap

swapoff ‐a # 临时关闭
vim /etc/fstab # 永久关闭
#注释掉swap这行 相当于(sed -ri 's/.*swap.*/#&/' /etc/fstab)
# /swapfile none swap defaults 0 0

systemctl reboot #重启生效
free ‐m #查看下swap交换区是否都为0,如果都为0则swap关闭成功

?4.添加主机名与ip对应关系

注意:这里设置的ip一定是默认网卡的ip
vi /etc/hosts
10.0.2.15 k8s-master
10.0.2.5 k8s-node1
10.0.2.6 k8s-node2

5.将桥接的IPv4流量传递到iptables

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system # 生效

6.设置时间同步(可选)

yum install ntpdate -y
ntpdate time.windows.com

四、所有节点安装docker、kubeadm、kubelet、kubectl

kubernetes默认CRI(容器运行时)为docker,因此先安装docker

1、安装docker

(1)卸载之前安装的docker

sudo yum remove docker \
				docker-client \
				docker-client-latest \
				docker-common \
				docker-latest \
				docker-latest-logrotate \
				docker-engine

(2)安装必须的依赖

sudo yum install -y yum-utils \
	device-mapper-persistent-data \
	lvm2

(3)设置 docker repo 的 yum 位置

sudo yum-config-manager \
	--add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo

(4)安装 docker,以及docker-cli

sudo yum install -y docker-ce-18.09.0-3.el7.x86_64 docker-ce-cli-18.09.0-3.el7.x86_64 containerd.io

(5)配置阿里云docker镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://****.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

(6)启动 docker & 设置docker开机自启

systemctl enable docker

(7)添加k8s yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

(8)安装kubelet、kubeadm、kubectl

yum install -y kubelet-1.18.0-0.x86_64 \ 
        kubeadm-1.18.0-0.x86_64 \ 
        kubectl-1.18.0-0.x86_64

如果没有找到相应的版本:

使用yum search kubeadm --showduplicates

我们可以看到kubeadm的历史版本,这时候想要下载的名字,直接执行

yum -y install 对应的名字

(9)开机启动kubelet


systemctl enable kubelet
systemctl start kubelet

五、部署k8s集群

1、master节点初始化

在k8s-master机器上执行初始化操作(里面的第一个ip地址就是k8s-master机器的ip,改成 你自己机器的,后面两个ip网段不用动)

kubeadm init --apiserver-advertise-address=10.0.2.15 \ 
--image-repository registry.aliyuncs.com/google_containers \ 
--kubernetes-version v1.18.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16

2、在k8s-master上执行

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

?3、在所有k8s node机器执行上图第三个红框里的命令

4、在k8s-master安装 Pod 网络插件

kube-flannel.yml

链接:https://pan.baidu.com/s/1y7yPAOmmdwkPD6UiP0-Tqw?
提取码:9szr

kubectl apply -f kube-flannel.yml

?5、在k8s-master机器执行查看节点命

kubectl get nodes

?刚刚安装的三个k8s节点都已经准备就绪,大功告成!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:33:10  更:2021-08-14 14:34:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 18:14:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码