简介:
需要学习的都明白,这里就不赘述了。
本文采用CentOS-7-x86_64-DVD-1810.iso
一:安装操作系统
本来是喜欢用fedora的,但是fedora貌似包维护的不好,就又开始用CentOS了。
自己装吧。
二:安装Docker
1.安装yum-utils
这个是yum扩展工具,可以扩展yum-config-manager命令
yum install -y yum-utils device-mapper-persistent-data lvm2
2.配置docker-ce源
为了使用docker官方编译的docker,配置docker官方docker-ce的源
yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.查看docker的版本
Kubernetes 1.15当前支持的docker版本列表是1.13.1, 17.03, 17.06, 17.09, 18.06, 18.09。
yum list docker-ce.x86_64 --showduplicates |sort -r
4.安装指定版本的docker
yum install -y docker-ce-18.09.8-3.el7
4.启动docker
systemctl start docker && systemctl enable docker
4.安装指定版本的docker
三:安装kubeadm
1.配置阿里源
官方给的说明是EOF模式配置
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=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
2.安装kubelet kubeadm kubectl
yum install -y kubelet kubeadm kubectl
3.启动kubelet
systemctl enable kubelet && systemctl start kubelet
四:初始化kubernetes
1.初始化
这里使用kubeadm init来初始化集群
kubeadm init
不出意外的出错了。
[WARNING Firewalld]: firewalld is active, please ensure ports [6443 10250] are open or your cluster may not function correctly [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/ [WARNING Hostname]: hostname "centos7-01" could not be reached [WARNING Hostname]: hostname "centos7-01": lookup centos7-01 on 192.168.1.1:53: no such host
一个防火墙问题,一个docker文件系统问题,两个hostname问题。
2.配置防火墙
添加服务kubernetes配置文件
通过EOF方式,增加服务配置文件。
firewall-cmd --new-service=kubernetes --permanent
编辑服务配置文件/etc/firewalld/services/kubernetes.xml
cat <<EOF > /etc/firewalld/services/kubernetes.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>kubernetes</short>
<description>Kubernetes cluster </description>
<port protocol="tcp" port="6443"/>
<port protocol="tcp" port="10250"/>
</service>
EOF
添加服务
firewall-cmd --add-service=kubernetes --permanent
重启生效
systemctl restart firewalld
3.修改docker配置
创建或修改 /etc/docker/daemon.json 文件
{ "exec-opts": ["native.cgroupdriver=systemd"] }
可选配置
registry-mirrors 镜像加速
graph docker存储路径
{ "registry-mirrors": ["http://**************.daocloud.io"], "graph": "/storage/docker" }
4.修改host文件
编辑/etc/hosts文件
按上面的示例创建IP和主机名对应的记录
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.11 k8s-master1 192.168.1.12 k8s-master2 192.168.1.21 k8s-node001 192.168.1.22 k8s-node002
5.预下载容器镜像
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers