文章目录

  • k8s安装
  • 1、环境配置
  • 2、安装master
  • 3、安装node节点
  • 4、后记


学习k8s,必须得安装一台集群,去敲命令才能更加明白知识点,比如集群的网络,pvc等
由于百度出来的前几页的安装教程,有点难懂,图片丢失或者没有文件可以下载。因此整理出这篇超级简单安装集群的方式。
本文采用看kubeadm安装

k8s安装

安装包下载地址:qsm-k8s-安装包

规划:

192.168.180.130     master
192.168.180.131     node1
192.168.180.129     node2
1、环境配置
  1. 关闭防火墙、关闭selinux、关闭swap。三台机器都需要执行
# 关闭防火墙
 systemctl disable firewalld

# 暂时关闭,不用重启,
setenforce 0 
# 永久关闭,需要重启机器,。所以2个操作一起做
vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled

# 临时关闭swap 
swapoff  -a
# 永久关闭swap分区,2个操作一起做
sed -ri 's/.*swap.*/#&/' /etc/fstab
  1. 修改为规划中的hostname名;修改hosts文件。三台机器都需要执行
# 查看主机名hostname
hostname
# CentOS7修改主机名hostname的方法为hostnamectl  set-hostname NEW_NAME
# 三台机器分别master,node1,node2
hostnamectl set-hostname master
# 追加hosts文件,ip为用户自己的电脑的ip。三台机器都需要执行
vim /etc/hosts
192.168.180.130     master
192.168.180.131     node1
192.168.180.129     node2
  1. 同步时间。三台机器均执行
yum install ntpdate -y
ntpdate time7.aliyun.com
  1. 设置内核,打开转发。三台机器均执行
vim /etc/sysctl.d/k8s.conf

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
2、安装master
  1. 上传文件,并解压
# 上传文件到/root/k8s 没有就新建文件夹。上传可以直接使用工具
[root@localhost k8s]# ll
total 1141760
-rw-r--r--. 1 root root       527 Sep 11  2018 create.token.for.k8s.dashboard
-rw-r--r--. 1 root root 123058176 Sep 17  2018 k8s.gcr.io-kubernetes-dashboard-amd64-v1.10.0.tar.gz
-rw-r--r--. 1 root root     10819 Sep 14  2018 kube-flannel.yml
-rw-r--r--. 1 root root 807703552 Sep 14  2018 master-docker-images.tar.gz
-rw-r--r--. 1 root root 145690624 Sep 14  2018 node-docker-images.tar.gz
-rw-r--r--. 1 root root       100 Sep 13  2018 NodePort-Kube-Dashboard
-rw-r--r--. 1 root root  92678675 Sep 14  2018 NodeRPM.tar.gz
# 新建文件夹rpm
mkdir rpm
# 解压NodeRPM.tar.gz到/root/k8s/rpm
tar zxvf NodeRPM.tar.gz -C rpm/
  1. 安装docker、kubelet等
# 进入rpm文件夹
cd rpm/
# 执行安装命令 --nodeps忽略依赖
rpm -ivh * --force --nodeps
  1. 设置docker镜像等
#设置docker和kubelet开机启动
systemctl enable docker kubelet
#修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。这里可以设置ipvs(可选)
vim /etc/sysconfig/kubelet

#docker启动
systemctl start docker
#load上传的文件,创建为镜像
cd /root/k8s
docker load < master-docker-images.tar.gz
  1. 启动k8s主节点
#启动k8s
kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
#若上面报错 /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables

#启动完成之后,看最后几条日志
#记录一下最后一句,其他node加入集群需要执行这个条命令,主节点不需要 。kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34
#再往上还有日志,若启动需要执行三个操作
[root@localhost k8s]# mkdir -p $HOME/.kube
[root@localhost k8s]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@localhost k8s]# chown $(id -u):$(id -g) $HOME/.kube/config

#安装集群网络flannel
kubectl apply -f kube-flannel.yml
#查看k8s主节点,能看到则主节点成功安装
[root@localhost k8s]# kubectl get node
NAME      STATUS    ROLES     AGE       VERSION
master    Ready     master    6m        v1.11.1
3、安装node节点

切记第一个步骤【环境配置】的所有操作在node上已经都执行了一遍,才能继续在node节点执行一下命令

  1. 上传文件,并解压
# 上传文件到/root/k8s
[root@localhost k8s]# ll
total 232788
-rw-r--r--. 1 root root 145690624 Sep 14  2018 node-docker-images.tar.gz
-rw-r--r--. 1 root root  92678675 Sep 14  2018 NodeRPM.tar.gz
#新建rpm目录,并解压NodeRPM.tar.gz到/root/k8s/rpm
[root@localhost k8s]# mkdir rpm
[root@localhost k8s]# tar zxvf NodeRPM.tar.gz -C rpm/
  1. 安装docker、kubelet等
# 进入rpm文件夹
cd rpm/
# 执行安装命令 --nodeps忽略依赖
rpm -ivh * --force --nodeps
  1. 设置docker镜像等
# 执行安装命令 --nodeps忽略依赖
rpm -ivh * --force --nodeps

#设置docker和kubelet开机启动
systemctl enable docker kubelet
#修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。注意有引号。这里可以设置ipvs(可选)
vim /etc/sysconfig/kubelet

#docker启动
systemctl start docker
#load上传的文件,创建为镜像
cd /root/k8s
docker load < node-docker-images.tar.gz
  1. 启动k8s的node节
#启动k8s,并加入主节点的集群中,下面的命令就是安装主节点复制的
kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34

#去【主节点】执行kubectl get nodes,可以看到node1加入进来了
[root@localhost k8s]# kubectl get nodes
NAME      STATUS    ROLES     AGE       VERSION
master    Ready     master    38m       v1.11.1
node1     Ready     <none>    20s       v1.11.1
  1. 安装另外一台node
#安装另外一台node也是上面相同的操作
#把命令执行完成之后就可以去【主节点】执行kubectl get nodes,可以看到node2也加入进来了
[root@localhost k8s]# kubectl get nodes
NAME      STATUS     ROLES     AGE       VERSION
master    Ready      master    44m       v1.11.1
node1     Ready      <none>    5m        v1.11.1
node2     NotReady   <none>    4s        v1.11.1

至此,k8s集群安装完成了。

除了使用kubeadm安装方式还有MicroK8s等简单方式。

4、后记

以上安装教程完成之后,可以查看Kubernetes(k8s)学习笔记-先导版——一看就会 该笔记均是先导知识较为简单,可以作为入门知识。

【暂完】






【正在去BAT的路上修行!!!】