最近在做有关amino的项目,项目需要先安装kubernetes,在此记录下安装过程。
1.centos7集群环境的搭建
之前已经搭建过桌面版的centos了,现在需要搭建另一台虚拟机,可以参考:
https://blog.csdn.net/cndmss/article/details/80149952
需要注意:
用最小版安装时,可能默认不会装ifconfig,需要用 yum install net-tools.x86_64命令来安装。
2.k8s的安装
安装版本不要太新,我下的是v1.13.x
前提准备
- 每台互联的虚拟机,至少要2G内存。
- 控制面版节点上至少2个CPU
- 集群之间能相互通信(见1)
安装kubeadm
首先必须禁用swap分区,利用swapoff -a命令, 然后用free -m 查看分区情况,如下表示禁用:
检查每个节点MAC地址和product_uuid
用ip link 或者 ifconfig -a查看IP
保证下面MAC地址三个节点互补相同。
检查product_uuid用如下命令:
sudo cat /sys/class/dmi/id/product_uuid
同样保证三个节点不相同。
没问题的话,我们进行下一步:
运行环境
需要安装如上3个运行环境之一。其中Docker的安装如下:
1. 需要安装一些系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
2. 再添加阿里云源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
3. 更新yum的缓存
sudo yum makecache fast |
4. 安装docker-ce
sudo yum -y install docker-ce |
5. 启动docker后台服务
sudo systemctl enable docker & systemctl start docker |
安装kubeadm, kubelet and kubectl三者版本要对应,详细见:https://kubernetes.io/docs/tasks/tools/install-kubectl/
安装kubeadm需要用以下命令:(centos)
- 配置阿里云镜像:在root下运行如下脚本文件。
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 EOF yum -y install epel-release yum clean all yum makecache
- 安装kube工具:yum install -y kubelet-1.13.0 kubeadm-1.13.0 kubectl-1.13.0(需要注意版本对应)
- 启动kubeadm服务:systemctl enable kubelet && systemctl start kubelet
安装K8S
国内K8S镜像:Docker安装(k8s-v1.13.0),使用如下bash命令,安装k8s v1.13
docker pull zjuzzb/k8s-apiserver
docker tag docker.io/zjuzzb/k8s-apiserver k8s.gcr.io/kube-apiserver:v1.13.0
docker image remove docker.io/zjuzzb/k8s-apiserver
docker pull zjuzzb/k8s-kube-controller-manager
docker tag docker.io/zjuzzb/k8s-kube-controller-manager k8s.gcr.io/kube-controller-manager:v1.13.0
docker image remove docker.io/zjuzzb/k8s-kube-controller-manager
docker pull zjuzzb/k8s-scheduler
docker tag docker.io/zjuzzb/k8s-scheduler k8s.gcr.io/kube-scheduler:v1.13.0
docker image remove docker.io/zjuzzb/k8s-scheduler
docker pull zjuzzb/k8s-proxy
docker tag docker.io/zjuzzb/k8s-proxy k8s.gcr.io/kube-proxy:v1.13.0
docker image remove docker.io/zjuzzb/k8s-proxy
docker pull zjuzzb/k8s-pause
docker tag docker.io/zjuzzb/k8s-pause k8s.gcr.io/pause:3.1
docker image remove docker.io/zjuzzb/k8s-pause
docker pull zjuzzb/k8s-etcd
docker tag docker.io/zjuzzb/k8s-etcd k8s.gcr.io/etcd:3.2.24
docker image remove docker.io/zjuzzb/k8s-etcd
docker pull zjuzzb/k8s-coredns
docker tag docker.io/zjuzzb/k8s-coredns k8s.gcr.io/coredns:1.2.6
docker image remove docker.io/zjuzzb/k8s-coredns
利用docker image list查看所有安装:
有上图7个即安装完成。
对于每一个节点,都需要安装k8s镜像。
Kubernetes参考https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/