# 目前公司用的是阿里云的容器服务 所以本地搭建个单机版 方便测试使用
# 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. "字符反向拼接"组件:<reverse> —— 快应用组件库H-UI

     <import name="reverse" src="../Common/ui/h-ui/text/c_text_reverse"></ ...

  2. mysql--> find your databases' local position

    1. find file:  "my.ini" 2.Using ctrl+F  find string "datadir" then you can see y ...

  3. SQL基础系列(1)-基本语法--转载w3school

    1.    建原始表 USE [Northwind] GO /****** Object:  Table [dbo].[Persons]    Script Date: 2016/6/8 7:31:5 ...

  4. fork()系统调用的理解

    系统调用fork()用于创建一个新进程.我们可以通过下面的代码来理解,最好是能自己敲一遍运行验证. ​#include<stdio.h> #include<stdlib.h> ...

  5. [转] [知乎] 浅谈Roguelike

    浅谈Roguelike 从柏林诠释说起 在2008年召开的国际Roguelike开发会议上,众多的Roguelike开发者与爱好者共同制定了<柏林诠释>,规定了Roguelike游戏需要具 ...

  6. 深度学习之文本分类模型-前馈神经网络(Feed-Forward Neural Networks)

    目录 DAN(Deep Average Network) Fasttext fasttext文本分类 fasttext的n-gram模型 Doc2vec DAN(Deep Average Networ ...

  7. 今天我们来谈谈jquery,

    ---恢复内容开始--- 首先从jquery的两种写法开始: 1.$(document).ready(function(){}); 首先我们的jquery是用来操作DOM节点的,所以必须等到文档加载完 ...

  8. PHP函数:php_sapi_name

    php_sapi_name()  - 返回 web 服务器和 PHP 之间的接口类型. SAPI(Server Application Programming Interface)服务器应用程序编程接 ...

  9. Mybatis Generator通用Join的实现

    通常,我们使用Mybatis实现join表关联的时候,一般都是通过在xml或注解里写自定义sql实现. 本文通过Mybatis Generator的插件功能新增一个JoinPlugin插件,只要在配置 ...

  10. fasttext 和pysparnn的安装