文章目录
- 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、环境配置
- 关闭防火墙、关闭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
- 修改为规划中的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
- 同步时间。三台机器均执行
yum install ntpdate -y
ntpdate time7.aliyun.com
- 设置内核,打开转发。三台机器均执行
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
- 上传文件,并解压
# 上传文件到/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/
- 安装docker、kubelet等
# 进入rpm文件夹
cd rpm/
# 执行安装命令 --nodeps忽略依赖
rpm -ivh * --force --nodeps
- 设置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
- 启动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节点执行一下命令
- 上传文件,并解压
# 上传文件到/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/
- 安装docker、kubelet等
# 进入rpm文件夹
cd rpm/
# 执行安装命令 --nodeps忽略依赖
rpm -ivh * --force --nodeps
- 设置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
- 启动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
- 安装另外一台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的路上修行!!!】