1. 主机环境说明
测试使用的Kubernetes集群有一个Master Node(K8s-Master)和两个Work Nodes(K8s-Node01和K8s-Node02)主机组成,全部是运行于本机VMware上的虚拟机。
Node | Hostname | IP Address | OS | CPU | RAM |
---|---|---|---|---|---|
K8s-Master | master.sdp.local | 192.168.116.130 | CentOS 7 | 4 | 2G |
K8s-Node01 | node01.sdp.local | 192.168.116.131 | CentOS 7 | 4 | 2G |
2. 初始化主机环境
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="0534c5b0-3465-42f0-abee-7311c23bfaa5"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.116.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.116.2"
DNS1="192.168.116.2"
DNS2="8.8.8.8"
参考文章:VMware安装Centos7超详细过程(图文)
# 安装chrony时间服务器
yum install -y chrony
# 启动并加入开机自启动
systemctl enable chronyd
systemctl restart chronyd
/etc/hosts
文件,完成各节点DNS域名解析192.168.116.130 master.sdp.local
192.168.116.131 node01.sdp.local
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sysctl -a | grep bridge
查看是否置为1,如果为1不用修改。net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
(1)关闭当前已启用的Swap设备
swapoff -a
(2)后编辑配置文件,注释用于挂载Swap设备的所有行
vi /etc/fstab
(1)防火墙状态查询
systemctl status firewalld
getenforce
free -h
1. 安装工具包,缺少这些依赖将无法完成
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 设置远程仓库
cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 安装 18.06版本
yum install -y docker-ce-18.06.1.ce
4.编辑/usr/lib/systemd/system/docker.service
,添加
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
5. 启动服务并设置开机自启
systemctl daemon-reload
systemctl start docker
systemctl enable docker
1. 远程仓库配置(阿里云镜像:https://opsx.alibaba.com/)
在/etc/yum.repos.d/
目录下,新建kubernetes.repo文件,并添加如下:
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
2. 安装kubeadm-1.15.1 kubelet-1.15.1 kubectl-1.15.1
yum install kubeadm-1.15.1 kubelet-1.15.1 kubectl-1.15.1
3. 配置/etc/sysconfig/kubelet
,添加
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
4. 下载kubeadm所需相关镜像
(1)首先通过docker,把相关镜像下到本地仓库
docker pull mirrorgooglecontainers/kube-apiserver:v1.15.1
docker pull mirrorgooglecontainers/kube-controller-manager:v1.15.1
docker pull mirrorgooglecontainers/kube-scheduler:v1.15.1
docker pull mirrorgooglecontainers/kube-proxy:v1.15.1
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.3.10
docker pull coredns/coredns:1.3.1
(2)镜像打标,将mirrorgooglecontainers
前缀,改为k8s.gcr.io
docker tag mirrorgooglecontainers/kube-apiserver:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1
docker tag mirrorgooglecontainers/kube-scheduler:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1
docker tag mirrorgooglecontainers/kube-controller-manager:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1
docker tag mirrorgooglecontainers/kube-proxy:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1
docker tag mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
(3)删除无用镜像
docker rmi mirrorgooglecontainers/kube-apiserver:v1.15.1
docker rmi mirrorgooglecontainers/kube-scheduler:v1.15.1
docker rmi mirrorgooglecontainers/kube-controller-manager:v1.15.1
docker rmi mirrorgooglecontainers/kube-proxy:v1.15.1
docker rmi mirrorgooglecontainers/etcd:3.3.10
docker rmi mirrorgooglecontainers/pause:3.1
docker rmi coredns/coredns:1.3.1
(4)查看本地所下载的镜像
docker images
5. Master初始化(仅Master)
执行初始化操作,kubeadm init --kubernetes-version="v1.15.1" --pod-network-cidr="10.244.0.0/16"
由上图可知,已初始化成功
按照要求执行:
mkdir -p .kube
cp -i /etc/kubernetes/admin.conf .kube/config
chown $(id -u):$(id -g) .kube/config
6. 安装flannel网络插件
(1)首先下载flannel:v0.11.0-amd64
镜像
docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
1. 所需镜像如下,并按上述要求安装
2. 执行kubeadm join
kubectl get nodes
[k8s]kubernetes安装dashboard步骤
初学Kubernetes,首先了解了基础概念,后直接安装。Kubernetes集群太难安装了,所涉及的知识很广,安装过程中遇到的问题也很多,前后安装了三天。如果身边有人指导还好一些,没有的话只能各种google、百度。按照网上的安装教程都不能一次性,总会有些莫名其妙的问题,但大致都差不多,解决问题的过程也是学习的过程,不要气馁啦。贴一下哔哩哔哩上的一个视频,https://www.bilibili.com/video/av44264629/?p=3, 还是很有帮助的。遇到问题可留言,一同解决,我基本把问题都鼓捣了一遍。