1 k8s介绍
kubernetes,k和s直接是8个字母,简称k8s。是采用Go语言开发的。于2014年9月发布第一个版本,2015年7月发布第一个正式版本。
官网:https://kubernetes.io
代码仓库:https://github.com/kubernetes/kubernetes

kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能:
- 自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器
- 弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整
- 服务发现:服务可以通过自动发现的形式找到它所依赖的服务
- 负载均衡:如果一个服务起动了多个容器,能够自动实现请求的负载均衡
- 版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
- 存储编排:可以根据容器自身的需求自动创建存储卷

2 环境搭建
这里配一个一主两从的示意图
2.1 主机准备
| 序号 | 主机IP | 配置 | 备注 |
|---|---|---|---|
| 1 | 192.168.123.92 | CPU:4核,内存:4G,硬盘:40GB | k8s-master |
| 2 | 192.168.123.93 | CPU:2核,内存:4G,硬盘:40GB | k8s-node1 |
| 3 | 192.168.123.94 | CPU:2核,内存:4G,硬盘:40GB | k8s-node2 |
# 序号1主机终端操作,操作完毕断开重连
hostnamectl set-hostname k8s-master
# 序号2主机终端操作,操作完毕断开重连
hostnamectl set-hostname k8s-node1
# 序号3主机终端操作,操作完毕断开重连
hostnamectl set-hostname k8s-node2
# 三台主机都需要操作:hosts解析
# vim /etc/hosts
192.168.123.92 k8s-master
192.168.123.93 k8s-node1
192.168.123.94 k8s-node2
2.2 主机初始化
2.2.1 安装wget
yum -y install wget
2.2.2 更换yum源
这里是CentOS7操作系统,更换成阿里yum源
# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 下载镜像源
wget -c http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
# 重新生成缓存
yum clean all && yum makecache
2.2.3 常用软件安装
yum -y install vim lrzsz tree
2.2.4 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.2.5 关闭selinux
# 临时生效
setenforce 0
# 永久生效
# vim /etc/selinux/config
# 将SELINUX=的值改成disabled,即:SELINUX=disabled
2.2.6 关闭 swap
# 临时关闭
swapoff -a
# 永久生效
# vim /etc/fstab
# 将 [/dev/mapper/centos-swap swap swap defaults 0 0] 这一行注释掉
2.2.7 同步时间
# 安装
yum -y install chrony
# vim /etc/chrony.conf 注释下面内容
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
# 新增阿里时间服务器
server ntp.aliyun.com iburst
# 保存退出后,设置开机自启,重新加载配置,重启服务
systemctl enable chronyd
systemctl daemon-reload
systemctl restart chronyd
# 验证是否设置成功
# 方式一
chronyc sources
# 方式二
date
2.2.8 修改Linux内核参数
cat >> /etc/sysctl.d/k8s.conf << EOF
# 内核参数调整
vm.swappiness=0
# 配置iptables参数,使得流经网桥的流量也经过iptables/netfilter防火墙
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-
Kubernetes(k8s)完整环境搭建与安装教程

最低0.47元/天 解锁文章
3123

被折叠的 条评论
为什么被折叠?



