本文共 2940 字,大约阅读时间需要 9 分钟。
v1.9.0版本推荐使用docker v1.12, v1.11, v1.13, 17.03也可以使用,再高 版本的docker可能无法正常使用。 测试发现17.09无法正常使用,不能使用资源限制(内存CPU)
# 卸载安装指定版本docker-ceyum remove -y docker-ce docker-ce-selinux container-selinuxyum install -y --setopt=obsoletes=0 \docker-ce-17.03.1.ce-1.el7.centos \docker-ce-selinux-17.03.1.ce-1.el7.centos复制代码
在/etc/docker/daemon.json文件添加如下配置 centos7安装的docker12不能添加此参数,否则会无法启动
{ "exec-opts": ["native.cgroupdriver=systemd"]}# 如果使用了加速器配置格式如下{ "registry-mirrors": ["https://tfhzn46h.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"]}复制代码
systemctl enable docker && systemctl restart docker复制代码
如下的安装方法,选择其中一个即可。
需要翻墙才能正常安装,如果不能翻墙,可以使用阿里云或其他云提供的容器海外构建功能,下载好包。 启动容器,之后从容器中把文件获取出来安装即可。
# 安装依赖yum install -y ebtables socat# 在能翻墙的机器上下载rpm包cat </etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpgEOFyum install -y yum-utilsk8s_version=$(yum info kubelet | grep Version | awk -F ':' '{print $2}' | tr -d ' ')mkdir k8s-$k8s_version && cd k8s-$k8s_versionyumdownloader kubelet kubeadm kubectl kubernetes-cni# 打包下载到要安装的机器上 cd .. && tar cvzf k8s-${k8s_version}.tgz k8s-$k8s_version/# 安装tar xf k8s-*.tgz && cd k8s-* && yum localinstall -y *.rpm复制代码
# 配置源cat </etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF# 安装yum install -y kubelet kubeadm kubectl复制代码
此需要自己安装kubernetes-cni
# 下载安装version=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubectlwget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubeadmwget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubeletchmod +x kubectl kubeadm kubeletmv kubectl kubeadm kubelet /usr/local/bin复制代码
实验所用
kubeadm
相关文件已经上传到了百度网盘 链接:https://pan.baidu.com/s/1pl7YYUYZsPd98J0DhNLWEQ 密码:40na
# 临时禁用selinux # 永久关闭 修改/etc/sysconfig/selinux文件设置sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinuxsetenforce 0# 临时关闭swap # 永久关闭 注释/etc/fstab文件里swap相关的行swapoff -a # 开启forward # Docker从1.13版本开始调整了默认的防火墙规则 # 禁用了iptables filter表中FOWARD链 # 这样会引起Kubernetes集群中跨Node的Pod无法通信iptables -P FORWARD ACCEPT# 配置转发相关参数,否则可能会出错cat <本文转自掘金-/etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1vm.swappiness=0EOFsysctl --system
转载地址:http://uhfno.baihongyu.com/