K8S-1.15.1版本部署

K8S-1.15.1版本部署

准备好几台机器,最好准备至少2台机器
这里准备了3台机器,一台做master,2台做node
1.机器基本设置
1.1 设置主机名

hostnamectl set-hostname master  #在master机器上执行
hostnamectl set-hostname node1   #在node1机器上执行
hostnamectl set-hostname node2   #在node2机器上执行

1.2 设置三台机器时区,保证后续事件准确,如果每台机器的时间不一样,后续出现很多莫名其妙的问题

timedatectl set-timezone Asia/Shanghai   #在三台上都执行

1.3 添加主机至hosts文件

vim /etc/hosts  #三台机器都执行
#在打开的文件添加三行内容,内容为机器ip+名称,本文直接以master+node命名,实际可按照需求更改
#192.168.1.181 matser
#192.168.1.182 node1
#192.168.1.183 node2

1.4 关闭swap分区,很重要,swap分区不关闭,会直接导致部署失败,三台全部需要执行

swapoff -a  
vim /etc/fstab  #将swap所在行注释掉

1.5 修改iptables信息

 echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
 echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

1.6 关闭所有节点的seliux以及firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 
systemctl disable firewalld
systemctl stop firewalld

2.安装docker

yum install docker -y   #或者使用yum install -y docker-ce安装docker-ce版本也可
systemctl start docker && systemctl enable docker

查看docker cgroup

docker info
1
docker与K8S两者必须要保持一致,否则会报错,本文统一使用cgroup
在这里插入图片描述
如果查看到的cgroup不为cgroupfs,需要修改

vim /usr/lib/systemd/system/docker.service

在这里插入图片描述
修改完成后重载配置,重启docker

systemctl daemon-reload && systemctl restart docker

3.安装kubeadm
3.1 配置yum文件,使用国内源,三台均执行

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

3.2 安装kubeadm,三台均执行

yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1
systemctl enable kubelet

3.3 导入本地镜像,避免初始化一直卡在下载镜像步骤
镜像下载地址:(包括flannel文件)后面可能wget不到

链接:https://pan.baidu.com/s/12HmZ08IKP7ptHOw1BEuzkg
提取码:0a2q
复制这段内容后打开百度网盘手机App,操作更方便哦

本文将文件均放置在/home/k8s目录下

cd /home/k8s
tar xf kubeadm-basic.images.tar.gz

可以手动进入解压的文件夹一个一个导入镜像,也可以使用脚本

cd /home/k8s
vim loadimages.sh
#脚本内容
#!/bin/bash
ls /home/k8s/kubeadm-basic.images > /root/docker-load-list.txt
cd /home/k8s/kubeadm-basic.images
for i in $(cat /root/docker-load-list.txt)
do
docker load -i $i
done
rm -f /root/docker-load-list.txt
# 保存退出脚本
sh loadimages.sh  #执行脚本

3.4 初始化master节点,此步只在master节点上执行
导出kubeadm-config.yaml配置文件

kubeadm config print init-defaults > /etc/kubernetes/kubeadm-config.yaml

编辑kubeadm-config.yaml文件

vim /etc/kubernetes/kubeadm-config.yaml
第12行:advertiseAddress:[master ip]34行:kubernetesVersion: v1.15.136行下增加:podSubnet: "10.244.0.0/16" #pod网段

执行初始化

kubeadm init --config=/etc/kubernetes/kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log


初始化成功后,执行提示命令

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

3.5 安装flannel,此步只在master接上执行

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
## wget报错的话就把百度网盘中的flannel文件导入
kubectl create -f kube-flannel.yml

3.6 使用初始化成功生成的命令,复制到node机器上执行,将node机器添加到master机器
在这里插入图片描述
tab快捷键安装

yum -y  install bash-completion && source /usr/share/bash-completion/bash_completion && source <(kubectl completion bash) && echo "source <(kubectl completion bash)" >> ~/.bashrc
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101898.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php ora01017,使用dblink出现ORA-01017

    php ora01017,使用dblink出现ORA-01017本地的Oracle数据库是版本是10g的,远程的数据库版本版本是11g,在本地建数据库连接后执行测试查询语句竟然出错,用户名/密码明明本地的Oracle数据库是版本是10g的,远程的数据库版本版本是11g,在本地建数据库连接后执行测试查询语句竟然出错,用户名/密码明明是对的。SQL>createdatabaselinkDBLINK_TESTconnecttotestidenti…

    2022年5月31日
    48
  • 有向无环图表示算术表达式

    有向无环图表示算术表达式转载自 linkun 的博客题目描述 用有向无环图描述表达式 A B A B A 至少需要顶点的数目为几个 分析 先画出算术表达式 A B A B A 的二叉树表示 A B A B A 有重复的子表达式 A B 二叉树中可实现对子表达式的共享所以 相同的叶子节点可以共用 所以至少需要五个顶点 A B 各一个

    2025年9月23日
    2
  • 学生成绩管理系统设计java_java学生成绩管理系统设计与实现

    学生成绩管理系统设计java_java学生成绩管理系统设计与实现本文实例为大家分享了java学生成绩管理系统的具体代码,供大家参考,具体内容如下/**@copyrightbyLzyRapxon2016/4/12.*@name:java学生成绩管理系统.*@功能:学生相关信息,录入,查询,统计,修改等….*@PS:图形界面的学生管理系统不要求就不做了.*/importjava.util.Scanner;importjava.lang.*;impo…

    2022年7月14日
    12
  • gis如何加载影像图_怎么使用倒车影像倒车

    gis如何加载影像图_怎么使用倒车影像倒车SAGA的全称为SystemforAutomatedGeoscientificAnalyses,它是免费的地理信息系统开源软件,SAGA有多个标准的模块库,详细介绍可参考:https://en.wikipedia.org/wiki/SAGA_GIShttps://sagatutorials.wordpress.com/about-saga-gis/(1)使用SAGAGIS导…

    2022年9月19日
    2
  • 智能手机Symbian操作系统入门知识整理

    智能手机Symbian操作系统入门知识整理1.什么是S60。    什么是OS6/7/8/9,什么是J2ME。    什么是MIDP根据人机界面的不同Symbian操作系统分为S60、S80、S90和UIQ,发展不同用户界面的目的是为了让手机厂商有更多的选择以投入Symbian手机的开发。S60用户界面(UI)专门为简便、单手使用而设计。S60平台提供了基于SymbianC的。    开放的。    标准的开

    2022年7月11日
    20
  • python tkinter库 密码实时显示_python tkinter库实现气泡屏保和锁屏

    python tkinter库 密码实时显示_python tkinter库实现气泡屏保和锁屏本文实例为大家分享了pythontkinter库实现气泡屏保和锁屏的具体代码,供大家参考,具体内容如下显示效果如下:代码:importrandomimporttkinterimportthreadingfromctypesimport*classRandomBall(object):”””定义关于球的类”””def__init__(self,canvas,screen_wid…

    2022年7月21日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号