您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
k8s系列之2安装minikube
发布时间:2022-10-28 22:34:29编辑:雪饮阅读()
安装minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
install minikube-linux-amd64 /usr/local/bin/minikube
配置docker.socket
[root@localhost ~]# cat /etc/systemd/system/docker.socket
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
启动docker.socket
Docker.service可能也需要启动
systemctl enable docker.socket
[root@localhost cri-dockerd]# systemctl is-active docker.socket
Inactive
准备cricrt
[root@localhost cricrt]# tar -zxvf crictl-v1.25.0-linux-amd64.tar.gz
crictl
[root@localhost cricrt]# install crictl /usr/bin/
准备minikube启动依赖
依赖大多为docker依赖,服务器能翻墙的情况下则默认无需处理。
编写脚本如:
#!/bin/bash
images=(kube-proxy-amd64:v1.12.1 kube-scheduler-amd64:v1.12.1 kube-controller-manager-amd64:v1.12.1 kube-apiserver-amd64:v1.12.1 etcd-amd64:3.2.24 pause-amd64:3.1 kubernetes-dashboard-amd64:v1.10.0 k8s-dns-sidecar-amd64:1.14.8 k8s-dns-kube-dns-amd64:1.14.8
k8s-dns-dnsmasq-nanny-amd64:1.14.8)
for imageName in ${images[@]} ; do
docker pull mirrorgooglecontainers/$imageName
docker tag mirrorgooglecontainers/$imageName k8s.gcr.io/$imageName
#docker rmi用于强制删除本地镜像
docker rmi mirrorgooglecontainers/$imageName
done
for n in $(docker images|awk '{print $1":"$2}'|grep -v REPOSITORY); do docker tag $n `echo $n|sed 's/-amd64//g'` && docker rmi $n; done
docker tag k8s.gcr.io/kubernetes-dashboard:v1.10.0 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
docker pull coredns/coredns:1.2.2
docker tag coredns/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2
docker rmi coredns/coredns:1.2.2
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6
docker tag registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6 k8s.gcr.io/kube-addon-manager:v8.6
docker rmi registry.cn-hangzhou.aliyuncs.com/anoy/kube-addon-manager:v8.6
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1
docker tag registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1
docker rmi registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/storage-provisioner:v1.8.1
docker pull registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2
docker tag registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2 registry.k8s.io/kube-apiserver:v1.25.2
docker pull registry.cn-hangzhou.aliyuncs.com/towards/kube-controller-manager:v1.25.2
docker tag registry.cn-hangzhou.aliyuncs.com/towards/kube-controller-manager:v1.25.2 registry.k8s.io/kube-controller-manager:v1.25.2
docker pull registry.cn-hangzhou.aliyuncs.com/towards/kube-scheduler:v1.25.2
docker tag registry.cn-hangzhou.aliyuncs.com/towards/kube-scheduler:v1.25.2 registry.k8s.io/kube-scheduler:v1.25.2
docker pull registry.cn-hangzhou.aliyuncs.com/towards/kube-proxy:v1.25.2
docker tag registry.cn-hangzhou.aliyuncs.com/towards/kube-proxy:v1.25.2 registry.k8s.io/kube-proxy:v1.25.2
docker pull registry.cn-hangzhou.aliyuncs.com/towards/pause:3.8
docker tag registry.cn-hangzhou.aliyuncs.com/towards/pause:3.8 registry.k8s.io/pause:3.8
docker pull registry.cn-hangzhou.aliyuncs.com/towards/etcd:3.5.4-0
docker tag registry.cn-hangzhou.aliyuncs.com/towards/etcd:3.5.4-0 registry.k8s.io/etcd:3.5.4-0
docker pull registry.cn-hangzhou.aliyuncs.com/towards/coredns:v1.9.3
docker tag registry.cn-hangzhou.aliyuncs.com/towards/coredns:v1.9.3 registry.k8s.io/coredns/coredns:v1.9.3
#原理示例:
#在一个可以翻墙的服务器拉取目标镜像
#docker pull registry.k8s.io/kube-apiserver:v1.25.2
#将拉取到的目标镜像推送到自己的可以访问的镜像库
# [root@izj6c2jeancylo0ppo4vz5z ~]# docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# registry.k8s.io/kube-apiserver v1.25.2 97801f839490 5 weeks ago 128 MB
# [root@izj6c2jeancylo0ppo4vz5z ~]# docker tag 97801f839490 registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2
# [root@izj6c2jeancylo0ppo4vz5z ~]# docker push registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2
#回到本服务器中拉取刚才那个镜像
#docker pull registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2
#重新tag回原来需要翻墙的镜像
#docker tag registry.cn-hangzhou.aliyuncs.com/towards/repository1:v1.25.2 registry.k8s.io/kube-apiserver:v1.25.2
Minikube启动
解决了docker依赖(翻墙)问题后,就可以启动minikube了。
容器驱动支持的比较多,最常见docker,由于这里已经是在vmware里面运行了,所以可以指定driver为none(比较奇怪的设定,既然指定为none,但有依赖于docker-socket…)
[root@control-plane ~]# minikube start --driver=none
* minikube v1.27.1 on Centos 7.9.2009
* Using the none driver based on existing profile
* Starting control plane node minikube in cluster minikube
* Restarting existing none bare metal machine for "minikube" ...
* OS release is CentOS Linux 7 (Core)
* Preparing Kubernetes v1.25.2 on Docker 1.13.1 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring local host environment ...
*
! The 'none' driver is designed for experts who need to integrate with an existing VM
* Most users should use the newer 'docker' driver instead, which does not require root!
* For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
*
! kubectl and minikube configuration will be stored in /root
! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
*
- sudo mv /root/.kube /root/.minikube $HOME
- sudo chown -R $USER $HOME/.kube $HOME/.minikube
*
* This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
关键字词:k8s,安装,minikube