# 目前公司用的是阿里云的容器服务 所以本地搭建个单机版 方便测试使用
# VMware® Workstation 12 Pro 版本
# 虚拟机环境配置:配置 2核 4G 网络桥接
# 系统镜像: CentOS-7-x86_64-Minimal-1810.iso 最好从阿里云镜像系统下载可以省去yum仓库的配置
# 网站地址: https://developer.aliyun.com/mirror/
# 下载 CentOS-7-x86_64-Everything-1908.iso 这个更省事 链接如下
https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso
# docker 文档
https://docs.docker.com/engine/install/centos/
# 执行 su 切换到 root 用户
# 关掉防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# 清理老版本
# sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

# cd /etc/yum.repos.d
# xftp 上传附件 *.repo 文件到 /etc/yum.repos.d
# yum update
# 阿里云镜像加速地址,自行阿里云申请
# vi /etc/docker/daemon.json

{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}

# 安装 docker
# sudo yum install docker-ce docker-ce-cli containerd.io
#会从阿里云下载镜像

# 启动docker 服务
# systemctl start docker
# systemctl enable docker
# 查看版本
# docker version
Client: Docker Engine - Community
Version: 19.03.8
Server: Docker Engine - Community
Engine:
Version: 19.03.8

# 安装 minikube , kubectl 自行下载 或 直接使用附件
# 文档 https://kubernetes.io/zh/docs/tasks/tools/install-minikube/
# cd /home/admin/
# 自己下载
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
# https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/
# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl && chmod +x kubectl

# 使用附件 minikube和kubectl软件 上传到 /home/admin
# 执行
# sudo mkdir -p /usr/local/bin/
# sudo install minikube /usr/local/bin/
# sudo install kubectl /usr/local/bin/
# 查看版本
minikube version
minikube version: v1.9.0

# 确保 root用户
# su root
# 执行单机版 driver=none 配置 image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers 否则镜像下载极慢
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 问题 缺少conntrack : X Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root's path
# yum install conntrack
# 再次运行
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 首次较慢等待下载完成 缺保配置有 4g内存
# 启动成功 显示如下
# Done! kubectl is now configured to use "minikube"

# 查看
# kubectl get pod --all-namespaces

# 输入如下来解决网络问题的报错
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables

#服务器上执行,启动管理界面,服务器本地可以浏览器查看面板 Minimal版本os没有桌面
minikube dashboard

#服务器上执行代理8001 到面板服务
sudo kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
# 并开放端口8001或关闭防火墙 ping ipxxxxx 8001 通不通
# 客户端 浏览器访问
# http://ipxxxxx:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
# 查看版本
# kubectl version

#处理 ingress
#先下载镜像 下载有点慢
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
minikube addons enable ingress

# 上传附件中 mq的Dockerfile /root
# docker build -t rabbitmq:2020 .
# 查看镜像 rabbitmq:2020
# docker images
# 上传附件中 mq的rabbitmq-deployment.yaml /root
# 部署 rabbitmq
# kubectl apply -f rabbitmq-deployment.yaml
# 查看
kubectl get pod
#port-forward 端口转发的前置依赖软件安装
# sudo yum install -y socat

#查看服务器端配置
# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.key

#把服务器上 .minikube 目录下的文件拷贝下来
在本机的 C:\Users\xxxName\.kube\ 文件目录添加证书文件 编辑cnfig添加cluster 配置和证书及用户密码
/root/.minikube/ca.crt C:\Users\xxxName\.kube\minica.crt
/root/.minikube/profiles/minikube/client.crt C:\Users\xxxName\.kube\miniclient.crt
/root/.minikube/profiles/minikube/client.key C:\Users\xxxName\.kube\miniclient.key

# 编辑宿主机本地config添加cluster 配置和证书及用户密码
apiVersion: v1
clusters:
- cluster:
certificate-authority: minica.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: miniclient.crt
client-key: miniclient.key

# 本机执行
# kubectl get pod
# 客户端端口转发访问服务 管理mq
kubectl port-forward rabbitmq-0 15672:15672
本地浏览器访问
http://localhost:15672/
guest/guest 登录查看

自己部署相关服务,本地调试还是很不错的,之前都是用虚拟机安装常用中间件现在方便多了
自我学习记录,如有不足请大家指教.

共享附件:

链接:https://pan.baidu.com/s/1j7W22uFXgS_QNuDW3UlNnw
提取码:10fr

虚拟机部署单机版kubernetes,minikube,docker的更多相关文章

  1. 使用Minikube部署本地Kubernetes集群(二十八)

    前言 使用Minikube部署本地k8s集群相对比较简单,非常推荐将其用于本地k8s开发环境,唯一麻烦点的仅仅是网络问题. 在本篇教程中,我们使用了国内的镜像来完成本地k8s集群的搭建.如果搭建过程中 ...

  2. Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis

    原文链接:Docker 也是本地开发的一神器:部署单机版 Pulsar 和集群架构 Redis 一.前言: 现在互联网的技术架构中,不断出现各种各样的中间件,例如 MQ.Redis.Zookeeper ...

  3. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  8. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

  9. Kubernetes 实战 —— 02. 开始使用 Kubernetes 和 Docker

    创建.运行及共享容器镜像 P23 运行容器 P24 运行 P24 可以运行 Docker 客户端可执行文件来执行各种 Docker 命令.例如:可以试着从 Docker Hub 的公共镜像仓库拉取.运 ...

随机推荐

  1. Javascript 入门 必备知识点

    1.如何得到html的input标签的值: (1). $('#id').val(); (2). $("#id").attr("value"); 2.javasc ...

  2. spring-cloud feign的多参数传递方案

    查看原文 一.GET请求多参数URL 1.方法一(推荐) @FeignClient(“microservice-provider-user”) public interface UserFeignCl ...

  3. "Tag标签"组件:<tags> —— 快应用组件库H-UI

     <import name="tags" src="../Common/ui/h-ui/text/c_tags"></import> ...

  4. Python设计模式(5)-代理模式

    # coding=utf-8 # 代理模式:# * 代理类成为实际想调用对象的中间件,可以控制对实际调用对象的访问权限# * 可以维护实际对象的引用 class DbManager: def __in ...

  5. 列表推导式和seed()的理解

    Table of Contents generated with DocToc 列表推导式和seed()的理解 对seed()的理解 列表推导式 第一种用法 第二种用法 列表推导式和seed()的理解 ...

  6. break与continue用法注意事项

    break 中断循环执行,跳出循环 注意,break只能中断自己所在的循环,一般用在内层循环,但是不能中断外层循环中的代码. continue 跳到循环的下一轮继续执行,结束自己所在循环体代码,继续自 ...

  7. Linux下搭建接口自动化测试平台

    前言 我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧! 需要在Linux上提前准备的环境(下面是本人搭建时的环境): 1,Python 3.6.8 (可参考 ...

  8. Python语法详解

    python语法解析 目录 python语法解析 一.顺序结构 二.分支结构 2.1 if 的基本语法 2.2 if 的基本应用 三.循环结构 3.1 while 语法 3.1.1 语法结束条件 3. ...

  9. Goldeneye 靶机过关记录

    注:因记录时间不同,记录中1.111和1.105均为靶机地址. 1信息收集 1.1得到目标,相关界面如下: 1.2简单信息收集 wappalyzer插件显示: web服务器:Apache 2.4.7 ...

  10. jmeter并发时生成唯一变量

    vars.put("partnerOrderId","ZS"+Thread.currentThread().getId()+System.currentTime ...