1、准备工作

环境centos7两台以上的主机
一个做master,另外的做node1、node2 …
修改主机名称
hostnamectl set-hostname master
hostnamectl set-hostname node1 …
(我用的是两台centos7)

1、关闭防火墙

systemctl stop firewalld && systemctl disable firewalld
setenforce 0

2、安装配置master主机

1. 上传kubernetes tar包kubernetes tar包免费给大家,点击下载
使用 lrzsz 命令从windows上传到linux主机中 (也可以使用其他方法上传 tar 包)

2. mv 1kubernetes1.9.2.tar.tar.gz /root/k8s1
mkdir /root/k8s1
mv 1kubernetes1.9.2.tar.tar.gz /root/k8s1

3. 关闭系统交换分区
swapoff -a
-a 将/etc/fstab文件中所有设置为swap的设备关闭
-h 帮助信息
-V 版本信息

4. 开启 docker
systemctl start docker
(安装配置见 之前发布的 docker安装与配置
注:这里不要使用yum -y install docker 直接下载的docker,不然后面可能会出现问题!

5. 修改selinux配置文件
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config

6. 下载 epel-release
yum install epel-release

7. 添加ip 到 /etc/hosts
在 /etc/hosts 文件中添加ip
vi /etc/hosts
ip master主机名字
ip node主机名字
如:
192.168.126.131 master
192.168.126.129 node1

8. 解压1kubernetes1.9.2.tar.tar.gz
cd /root/k8s1

tar -xvf 1kubernetes1.9.2.tar.tar.gz

cd shell

sh init.sh

[root@master shell]# sh init.sh 
* Applying /usr/lib/sysctl.d/00-system.conf ...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
* Applying /etc/sysctl.conf ...
init.sh:行7: forward: 未找到命令

需要一段时间 init.sh:行7: forward: 未找到命令 这个不用管

sh master.sh

[root@master shell]# sh master.sh 
[init] Using Kubernetes version: v1.9.2
[init] Using Authorization modes: [Node RBAC]
[preflight] Running pre-flight checks.
	[WARNING SystemVerification]: docker version is greater than the most recently validated version. Docker version: 17.05.0-ce. Max validated version: 17.03
	[WARNING FileExisting-socat]: socat not found in system path
	[WARNING FileExisting-crictl]: crictl not found in system path
[preflight] Some fatal errors occurred:
	[ERROR Port-6443]: Port 6443 is in use
	[ERROR Port-10250]: Port 10250 is in use
	[ERROR Port-10251]: Port 10251 is in use
	[ERROR Port-10252]: Port 10252 is in use

这里面会产生下面的加入集群命令,类似于 Swarm

9. 将 sh master.sh 产生的加入集群命令在node节点上使用
kubeadm join --token af6813.20df34842ec71dc9 192.168.186.211:6443 --discovery-token-ca-cert-hash sha256:47d8ff8cddcdf913eef782dc974281cd19f15bb5b5c5c2bcb0d4190b07305543
(加入集群的命令,注意复制自己的)

10. 查看pod
kubectl get pod -n kube-system

11. 获取node信息
kubectl get node

3、安装配置node节点

1. 上传kubernetes tar包
使用lrzsz命令上传

2. mv 1kubernetes1.9.2.tar.tar.gz /root/k8s1

3.关闭系统交换分区
swapoff -a

4. 开启 docker
systemctl start docker
(安装配置见 之前发布的 docker安装与配置

5. 修改selinux配置文件
sed -i.bak ‘s/SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config

7. 添加ip 到 /etc/hosts
同 master 一致

8. 解压1kubernetes1.9.2.tar.tar.gz
cd /root/k8s1
tar -xvf 1kubernetes1.9.2.tar.tar.gz
cd shell
sh init.sh
这里不需要执行 master.sh
9. 将节点添加到集合中
kubeadm join --token af6813.20df34842ec71dc9 192.168.186.211:6443 --discovery-token-ca-cert-hash sha256:47d8ff8cddcdf913eef782dc974281cd19f15bb5b5c5c2bcb0d4190b07305543
(这是master 第9步产生的加入集合命令)

4、进入浏览器访问web界面

https://主机ip+端口32000
如:https://192.168.126.131:32000
这里是https,注意!

推荐使用火狐浏览器会出现以下结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注:

  • 如果使用虚拟机安装,将 master 虚拟机的内存分配2G以上,node不用,不然可能会还卡,而且还可能会无法建立连接
  • 使用浏览器登录web界面它会提示你“您的连接并不安全”这里推荐用火狐浏览器,出现提示时选“高级”,然后选“添加例外”,接着选“确认安全例外”,这是会出来个 Kubernetes 仪表板 选择跳过,就会进入k8s web界面
Logo

开源、云原生的融合云平台

更多推荐