You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
2.8 KiB
Markdown

# MINIKUBE 安装
## 获取 minikube
进入 https://github.com/kubernetes/minikube/releases/tag/v1.31.2
点击 Assets
点击 minikube-linux-amd64 下载
上传到服务器
## 安装
```shell
install minikube-linux-amd64 /usr/local/bin/minikube
```
## 启动
```shell
minikube start \
--image-mirror-country='cn' \
--image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' \
--base-image='registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.40' \
--container-runtime=containerd \
--kubernetes-version=v1.27.4 \
--driver=docker \
--force
```
## 配置镜像仓库
```shell
# 进入容器
docker exec -it minikube /bin/bash
# 修改配置文件
cat > /etc/containerd/certs.d/docker.io/hosts.toml <<-'EOF'
server = "https://registry-1.docker.io"
[host."https://68k4zzfk.mirror.aliyuncs.com"]
capabilities = ["pull","resolve"]
EOF
# 重启容器
systemctl restart containerd
# 退出容器
exit
```
## 部署 NGINX 集群
创建配置目录
```
mkdir /usr/local/k8s/
```
创建配置文件
```shell
cat > /usr/local/k8s/nginx.yaml <<-'EOF'
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
EOF
```
部署
```
kubectl apply -f /usr/local/k8s/nginx-cluster.yaml
```
## 配置 KUBECTL
```shell
echo 'alias kubectl="minikube kubectl --"' >> /root/.bashrc
source /root/.bashrc
kubectl version
```
## 配置 KUBECTL 补全
```shell
apt install bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
```
## 创建 DASHBOARD
启动
```shell
minikube addons enable metrics-server
nohup minikube dashboard > dashboard.log 2>&1 &
nohup minikube kubectl -- proxy --address='0.0.0.0' --disable-filter=true > proxy.log 2>&1 &
```
如果镜像拉不下来 则手动装载镜像
```shell
# 阿里云获取 保存镜像
IMAGE_NAME=metrics-scraper
IMAGE_PATH=docker.io/kubernetesui/$IMAGE_NAME
TAG=v1.0.8
docker pull $IMAGE_PATH:$TAG
docker save $IMAGE_PATH:$TAG -o ${IMAGE_NAME}_$TAG.tar
IMAGE_NAME=dashboard
IMAGE_PATH=docker.io/kubernetesui/$IMAGE_NAME
TAG=v2.7.0
docker pull $IMAGE_PATH:$TAG
docker save $IMAGE_PATH:$TAG -o ${IMAGE_NAME}_$TAG.tar
IMAGE_NAME=metrics-server
IMAGE_PATH=registry.cn-hangzhou.aliyuncs.com/google_containers/$IMAGE_NAME
TAG=v0.6.4
docker pull $IMAGE_PATH:$TAG
docker save $IMAGE_PATH:$TAG -o ${IMAGE_NAME}_$TAG.tar
```
上传镜像到本地
```shell
# 宿主机执行
eval $(minikube docker-env)
# 导入镜像
IMAGE_NAME=metrics-scraper
TAG=v1.0.8
docker load < ${IMAGE_NAME}_$TAG.tar
IMAGE_NAME=dashboard
TAG=v2.7.0
docker load < ${IMAGE_NAME}_$TAG.tar
IMAGE_NAME=metrics-server
TAG=v0.6.4
docker load < ${IMAGE_NAME}_$TAG.tar
```