已在阿里云云服务器ECS和轻量应用服务器成功搭建。
特别注意是,在安装了宝塔的轻量应用服务器上,使用相同方法在轻量一直不成功 。
参考:https://blog.youkuaiyun.com/u013355826/article/details/82801482
https://www.datayang.com/article/45
- 准备
系统环境:Centos 7.3
版本:Kubernetes 1.11.3
1. 禁用防火墙
(之后需要了解)
systemctl stop firewalld systemctl disable firewalld
2. 禁用SELINUX
执行如下命令:(之后需要了解)
vim /etc/sysconfig/selinux
修改文件中的SELINUX为:
SELINUX=disabled
3.关闭swap内存
执行命令:
swapoff -a
4.调整内核参数
- 执行命令:
vi /etc/sysctl.d/k8s.conf
在新建的k8s.cof文件中增加:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
- 执行如下命令使之生效:
sudo sysctl --system
5. 配置阿里Kubernetes和Docker的yum源
- 添加阿里的Kubernetes yum源
vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
enable=1
- 直接下载docker-ce.repo
cd /etc/yum.repos.d/ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
下载后清理缓存刷新所有源
yum clean all yum repolist
- 安装
1.安装docker, kubeadm, kubelet and kubectl
yum install -y docker-ce-17.06.0.ce kubelet-1.11.3 kubeadm-1.11.3 kubectl-1.11.3 kubernetes-cni
设置开机启动和启动服务
systemctl enable docker systemctl enable kubelet.service systemctl start docker systemctl start kubelet
3.拉取Docker镜像
由于国内网络原因,kubernetes的镜像托管在google云上,无法直接下载,所以有个技术大牛把gcr.io的镜像每天同步到 https://github.com/anjia0532/gcr.io_mirror
因此,如果需要用到gcr.io的镜像,可以执行如下的脚本进行镜像拉取。循环拉取并且tag成gcr.io。
vim pullimages.sh
#!/bin/bash
images=(kube-proxy-amd64:v1.11.3 kube-scheduler-amd64:v1.11.3 kube-controller-manager-amd64:v1.11.3
kube-apiserver-amd64:v1.11.3 etcd-amd64:3.2.18 coredns:1.1.3 pause:3.1 )
for imageName in ${images[@]} ; do
docker pull anjia0532/google-containers.$imageName
docker tag anjia0532/google-containers.$imageName k8s.gcr.io/$imageName
docker rmi anjia0532/google-containers.$imageName
done
运行脚本
sh pullimages.sh
4.kubernetes集群不允许开启swap,所以我们需要忽略这个错误
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
5.编写kubeadm.yaml
vim kubeadm.yaml