操作系统

本文采用Debian 12系统(win10+vmware Debian 12虚拟机)

Docker

参考文档docker-ce

Docker CE 镜像源站

使用官方安装脚本自动安装 (仅适用于公网环境)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

docker version

安装校验

root@xxx:$ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

Docker代理

touch /etc/docker/daemon.json
sudo mkdir -p /etc/docker


sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://bjtzu1jb.mirror.aliyuncs.com",
    "http://f1361db2.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://reg-mirror.qiniu.com",
    "https://dockerhub.azk8s.cn",
    "https://registry.docker-cn.com"
  ]
}
EOF

# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

docker permission denied while trying to connect to the Docker daemon socket

将用户添加到 Docker 组: 若要允许用户在不使用 sudo 的情况下运行 Docker 命令,可以将用户添加到 docker 组。首先检查 docker 组是否存在:

grep docker /etc/group 

如果组存在,将用户添加到该组:

sudo usermod -aG docker $USER 

添加用户到 docker 组后,可能需要注销并重新登录以使更改生效。

重启 Docker 服务: 如果问题仍然存在,尝试重启 Docker 服务:

sudo service docker restart 

sudo systemctl restart docker 

尝试上述步骤后,你应该能够在不遇到 “permission denied” 错误的情况下运行 Docker 命令。
请记住,如果将用户添加到 docker 组,可能需要注销并重新登录以使组更改生效。

minikube

minikube 是一个工具, 能让你在本地运行 Kubernetes。

minikube 在你的个人计算机(包括 Windows、macOS 和 Linux PC)上运行一个一体化(all-in-one) 或多节点的本地 Kubernetes 集群,以便你来尝试 Kubernetes 或者开展每天的开发工作。

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb

启动的选项有很多,如果可以直接minikube start就直接启动就行,无须添加过多选项。

minikube start
# 将用户添加到 Docker 组,就不需要force选项
minikube start  --force --driver=docker
# 将用户添加到 Docker 组,就不需要force选项
minikube start --force  --driver=docker --image-mirror-country=CN

# 启动命令
minikube start --kubernetes-version='1.28'  --registry-mirror=https://docker.mirrors.ustc.edu.cn --image-mirror-country='cn'

minikube停止、删除、查看pod信息

# 停止
minikube stop
# 删除
minikube delete

# 查看pod信息
minikube kubectl -- get pods -A

配置别名

也可在~/.bashrc文件配置别名,编辑文件vi ~/.bashrc,使其生效source ~/.bashrc

alias k="minikube kubectl --"
alias mini="minikube"

此时,可用k get pod -n kube-system

kubectl工具

Kubernetes 命令行工具 kubectl, 让你可以对 Kubernetes 集群运行命令。 你可以使用 kubectl 来部署应用、监测和管理集群资源以及查看日志。

安装kubectl

# 下载
   curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

在这里插入图片描述

# 安装
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 查看pod
kubectl get pod -o wide -n kube-system

minikube dashboard 面板

dashboard面板插件,需要metrics-server插件支持。命令minikube addons enable metrics-server

# 启用metrics-server插件
minikube addons enable metrics-server
# 启用dashboard插件
minikube addons enable dashboard
# 开启面板
minikube dashboard
	返回的url http://127.0.0.1:42005/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 为访问地址,但此地址只是容器代理出来的地址,只能本机内网访问,要想在外网访问 dashboard 的UI 界面,需要使用kubectl做一层代理。
	kubectl proxy --port=端口号(一个没有被占用的就可以) --address='机器内网地址' --accept-hosts='^.*' &
	以上命令昨晚代理后,访问 http://机器公网IP:上面配置的端口号/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 就可以访问到dashboard 的UI 界面

启动代理,在win10浏览器可以访问

kubectl proxy --port=8083 --address='0.0.0.0' --accept-hosts='^.*' &

云服务器外部访问要添加访问规则
路径为,云服务器——网络与安全——安全组——访问规则

minikube 基本命令

查看docker信息需要登录到 minikube 环境查看。

minikube 提供并管理针对开发工作流程优化的本地 Kubernetes 集群。

基本命令:
  start            启动本地 Kubernetes 集群
  status           获取本地 Kubernetes 集群状态
  stop             停止正在运行的本地 Kubernetes 集群
  delete           删除本地的 Kubernetes 集群
  dashboard        访问在 minikube 集群中运行的 kubernetes dashboard
  pause            暂停 Kubernetes
  unpause          恢复 Kubernetes

镜像命令
  docker-env       提供将终端的 docker-cli 指向 minikube 内部 Docker Engine 的说明。(用于直接在 minikube 内构建 docker 镜像)
  podman-env       配置环境以使用 minikube's Podman service
  cache            管理 images 缓存
  image            管理 images

配置和管理命令:
  addons           启用或禁用 minikube 插件
  config           修改持久配置值
  profile          获取或列出当前配置文件(集群)
  update-context   IP或端口更改的情况下更新 kubeconfig 配置文件

网络和连接命令:
  service          返回用于连接到 service 的 URL
  tunnel           连接到 LoadBalancer 服务

高级命令:
  mount            将指定的目录挂载到 minikube
  ssh              登录到 minikube 环境(用于调试)
  kubectl          运行与集群版本匹配的 kubectl 二进制文件
  node             添加,删除或者列出其他的节点
  cp               将指定的文件复制到 minikube

故障排除命令
  ssh-key          检索指定节点的 ssh 密钥路径
  ssh-host         检索指定节点的 ssh 主机密钥
  ip               检索指定节点的IP地址
  logs             返回用于调试本地 Kubernetes 集群的日志
  update-check     打印当前版本和最新版本
  version          打印 minikube 版本
  options          显示全局命令行选项列表 (应用于所有命令)。

Other Commands:
  completion       生成命令补全的 shell 脚本
  license          将依赖项的 licenses 输出到一个目录

参考资料

Minikube start中文
minikube start
阿里云CentOS 7 安装部署 minikube且外网能访问dashboard
错误docker permission denied while trying to connect to the Docker daemon socket
minikube start 可选项
Linux如何创建用户 adduser

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐