minikube安装kubernetes(Centos7)【图文】
k8s有很多种安装方式minikube允许使用mac、linux、windows快速创建一个k8s集群;也可以使用kubeadm方式基于二进制快速安装一个集群;但是需要在生产环境执行的k8s集群需要使用官方发行的二进制进行安装,快速安装方式虽然方便但是屏蔽了很多底层的细节,发现问题很难发现问题,并且基于二进制方式创建也非常利于去理解其运行原理,更有利于后期的维护。能快速开始搭建也是蛮好的选择,否则
k8s有很多种安装方式:kind、minikube、kubeadm,以及官方二进制方式安装;
kind是一个基于docker方式创建kubenetes的方式;
minikube允许使用mac、linux、windows快速创建一个k8s集群;
kubeadm方式基于二进制快速安装一个集群,是准生成环境的集群也支持多数据节点的集群。
但是需要在生产环境执行的k8s集群需要使用官方发行的二进制进行安装,快速安装方式虽然方便但是屏蔽了很多底层的细节,发现问题很难发现问题,并且基于二进制方式创建也非常利于去理解其运行原理,更有利于后期的维护。
能快速开始搭建也是蛮好的选择,否则就从可能放弃于繁琐的安装过程,kubernetes安装需要满足cpu 至少2核心、内存至少可用的1.8G, 自己的阿里云服务器2G,可用的却不足1.7G,导致我果断快速的买了一个4G的服务器,哭一会儿...
1、准备工作
1)、 docker安装
docker的安装过程可以参考:Docker的基本概念、环境搭建、常用命令
需要修改docker配置 /etc/docker/daemon.json (如果没有目录或文件自行创建)为如下:
{ "registry-mirrors": ["https://mxdu1aof.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"] } |
并保存修改的配置、重启docker
systemctl daemon-reload && systemctl restart docker
2)、关闭防火墙和SeLinux、禁用swap
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
swapoff -a && sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
2、下载安装minikube
下载 kubectl和minikube
cd /home/kubernetes
wget http://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
wget https://storage.googleapis.com/minikube/releases/v1.18.0/minikube-linux-amd64
将minikube名称修改为 minikube: mv minikube-linux-amd64 minikube
修改文件添加执行权限,将包copy到目录/usr/local/bin/ 下
chmod +x kubectl && chmod +x minikube
cp kubectl /usr/local/bin/ && cp minikube /usr/local/bin/
ls /usr/local/bin/
查看安装的版本:
kubectl version --client
minikube version
配置阿里的Kubernetes yum源(如果执行时报检查秘钥失败等,则将下面配置中的 gpgcheck=0
repo_gpgcheck=0),如下:
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 |
更新yum缓存
yum clean all
yum -y makecache
安装bash-completion命令补全以及 安装conntrack
yum -y install bash-completion
source /etc/profile.d/bash_completion.sh
yum install -y conntrack
下载minikube start所需要的镜像,通过阿里云镜像网下载
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 && \ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 |
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 k8s.gcr.io/kube-apiserver:v1.18.0 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 k8s.gcr.io/kube-controller-manager:v1.18.0 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 k8s.gcr.io/kube-scheduler:v1.18.0 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3 k8s.gcr.io/etcd:3.4.3-0 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7 && \ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1 |
出现问题需要下面的脚本处理
yum -y install socat # 安装socat
systemctl enable kubelet.service # 在hosts中配置名称
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables # 在bridge-nf-call-iptables 写入
再次执行start命令,并且查看是否成功
minikube start --vm-driver=none --kubernetes-version='v1.18.0'
minikube status
安装minikube dashboard,先执行 ifconfig 查看当前的ip为: 172.20.85.70
启动kubect proxy
kubectl proxy --port=8000 --address='1 172.20.85.70' --accept-hosts='^.*' &
运行dashboard:minikube dashboard
浏览器输入(使用的阿里云,需要在安全组规则处开放8000端口,并且使用外网ip访问):
http://47.94.100.66:8000/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
这里应该有掌声
更多推荐
所有评论(0)