virtualBox部署minikube+istio

环境准备

  1. virtualBox安装
    直接官网下载后安装即可,网上也有详细教程。镜像使用的centos7。
    链接(不保证还可用):http://big.dxiazaicc.com/bigfile/100/virtualbox_v6.1.26_downcc.com.zip?auth_key=1730185635-pWBtV8LynsxPD0-0-d13becdfe4fd4b856024d0bb6ff7aee0
    镜像:
    https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso?spm=a2c6h.25603864.0.0.3e182d1cZ5FDr7

  2. 网络配置
    使用桥接的方式

  3. docker安装

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo查看所有仓库中docker版本yum list docker-ce --showduplicates | sort -r选择安装18.06.1版本的yum install docker-ce-18.06.1.ce启动start docker     enable docker    docker version
  1. docker配置换源
dig @114.114.114.114 registry-1.docker.io
查看IP
vim /etc/hosts
输入内容:IP地址 registry-1.doker.io.
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. kubectl安装
    下载文件到本地后直接安装
sudo install kubectl /usr/local/bin/kubectl
chmod +x kubectl
mv kubectl /usr/local/bin/kubectl

链接:
https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubectl

minikube安装

链接:https://objects.githubusercontent.com/github-production-release-asset-2e65be/56353740/77c29600-f756-11e9-8405-40d193dba8b7?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241029%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241029T084730Z&X-Amz-Expires=300&X-Amz-Signature=6284e06a96943dbb3b4520e1cddf8172a43874bb64d578baf50a53dd4ec67448&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dminikube-linux-amd64&response-content-type=application%2Foctet-stream

同样,下载文件到本地后,拉到虚拟机:

chmod +x minikube
sudo install minikube /usr/local/bin/minikube 
mv minikube /usr/local/bin/minikube
minikube start --registry-mirror=https://registry.docker-cn.com --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --vm-driver=none

启动成功的截图:
在这里插入图片描述
查看状态:

kubectl get node

istio安装

链接:https://objects.githubusercontent.com/github-production-release-asset-2e65be/74175805/30d61900-e3d8-11ea-8264-82ef154f0aae?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241030%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241030T125845Z&X-Amz-Expires=300&X-Amz-Signature=9c4a02b8bce2b3b9d40a0186ed8ff68be5f641472c08548e15a16ad2cc4ec9a4&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Distio-1.7.0-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream

下载安装包,拉到机器上(github)
将下列环境变量添加etc/profile后source /etc/profile:

export ISTIO_HOME=/root/istio-1.11.1/bin
export PATH= I S T I O H O M E : ISTIO_HOME: ISTIOHOME:PATH

验证:

istioctl version(需启动K8S)

安装:

istioctl install --set profile=demo -y

有问题:
在这里插入图片描述
查看日志:

kubectl describe pod istiod-5b9d44c58b-nnkdj -n istio-system

在这里插入图片描述
日志显示拉不到镜像,推测是网络问题,通过上文4.的docker源配置修改,先用docker拉到这些镜像后,再次启动,成功了:
在这里插入图片描述
查看状态:

kubectl get pods --all-namespaces

配置自动注入envoy:

kubectl label namespace default istio-injection=enabled

bookinfo测试

运行官方demo:

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

启动成功:
在这里插入图片描述
查看状态:

kubectl get svc,po -o wide

在这里插入图片描述
在这里插入图片描述
验证:

kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"

出现响应则启动成功。

  • 对外访问

关联网关:

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

查看端口映射:

kubectl get svc istio-ingressgateway -n istio-systemNAME                   TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                      AGE
istio-ingressgateway   LoadBalancer   10.200.138.202   10.0.0.150    15021:30531/TCP,80:31380/TCP,443:31390/TCP,31400:31345/TCP,15443:30249/TCP   2m10s

如果EXTERNAL-IP设置了该值,则您的环境具有可用于入口网关的外部负载平衡器。如果EXTERNAL-IP值是(或永久),则您的环境不为入口网关提供外部负载平衡器。在这种情况下,您可以使用服务的节点端口来访问网关。

这里80对应的端口是Http服务的端口,映射的主机端口31380;

这里443对应的端口是Https服务的端口,映射的主机端口31390;

确定IP:

可以通过下面命令找个hostIP。

[root@k8s-master istio-1.4.2]# kubectl get po -l istio=ingressgateway -n istio-system -o yaml | grep hostIP: -C3
---state:running:startedAt: "2019-12-24T06:46:29Z"hostIP: 192.168.43.239phase: RunningpodIP: 10.244.3.136qosClass: Burstable
---

本机IP:192.168.43.239

在虚拟机外部通过IP+端口+uri访问服务:
在这里插入图片描述

启动kiali

部署:

kubectl apply -f samples/addons

查看部署状态,镜像较大,需要都running:

kubctl get pods -n istio-system

拉不到镜像的情况,在docker中手动拉取(由于源和超时时间等原因)

docker pull quay.io/kiali/kiali:v1.22

关键!!!
将kali service 的服务类型设置为 nodeport,以供外部浏览器访问:

kubectl patch svc -n istio-system kiali -p '{"spec": {"type": "NodePort"}}'istioctl dashboard kiali --address 192.168.43.239

通过上文查看20001的映射端口,虚拟机外部浏览器通过IP+端口+uri访问:
在这里插入图片描述

虚拟机重启后重新部署

1、启动minikube
2、启动istio
3、启动bookinfo
4、启动kiali
在这里插入图片描述
在这里插入图片描述

kubectl delete pod kiali-89fd7f87b-tb2rp -n istio-system

在这里插入图片描述
参考链接:
https://baijiahao.baidu.com/s?id=1764144114247192969&wfr=spider&for=pc
https://www.cnblogs.com/yinzhengjie/p/18064053#3%E4%B8%8B%E8%BD%BD%E6%8C%87%E5%AE%9A%E7%89%88%E6%9C%AC%E7%9A%84istio
https://blog.csdn.net/wzy_168/article/details/103717671

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/468260.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出WebSocket(实践聊天室demo)

文章目录 什么是WebSocket?WebSocket连接过程WebSocket与Http的区别重连机制完整代码使用方法心跳机制实现聊天室demo(基于Socket.io)参考文章、视频小广告~什么是WebSocket? WebSocket 是一种在单个TCP连接上进行全双工通信的协议(计算机网络应用层的协议) 在 WebSocket A…

[CKS] Audit Log Policy

最近准备花一周的时间准备CKS考试&#xff0c;在准备考试中发现有一个题目关于audit policy的题目。 What’s the audit policy 使用K8s Audit Policy&#xff0c;管理员可以定义哪些操作需要被审计&#xff0c;包括创建、删除、更新和查看集群中的资源。审计记录包括操作的时…

【C++】map和set的介绍及使用

前言&#xff1a; map和 set 是 C STL&#xff08;标准模板库&#xff09;中的两种非常重要的容器&#xff0c;它们基于一种叫做平衡二叉搜索树&#xff08;通常是红黑树&#xff09;的数据结构来实现。在 C 中&#xff0c;map 是一个键值对容器&#xff0c;set 只存储唯一的键…

ai外呼机器人的作用有哪些?

ai外呼机器人具有极高的工作效率。日拨打成千上万通不是问题&#xff0c;同时&#xff0c;机器人还可以快速筛选潜在客户&#xff0c;将更多精力集中在有价值的客户身上&#xff0c;进一步提升营销效果。183-3601-7550 ai外呼机器人的作用&#xff1a; 1、搭建系统&#xff0c…

QT版发送邮件程序

简单的TCP邮箱程序 **教学与实践目的&#xff1a;**学会网络邮件发送的程序设计技术。 1.SMTP协议 邮件传输协议包括 SMTP&#xff08;简单邮件传输协议&#xff0c;RFC821&#xff09;及其扩充协议 MIME&#xff1b; 邮件接收协议包括 POP3 和功能更强大的 IMAP 协议。 服务…

汽车牌照识别系统的设计与仿真(论文+源码)

1设计原理 车牌识别系统的设计是一项利用车辆的动态视频或者静态图像实现牌照区域定位车牌号码识别的技术。其硬件部分通常包括触发设备、拍摄设备、照明设备、图像收集设备、进行车牌号码识别的处理器等&#xff0c;其软件的关键部分包含车牌区域定位的算法、车牌字符的分割算…

vue通过iframe方式嵌套grafana图表

文章目录 前言一、iframe方式实现xxx.xxx.com拒绝连接登录不跳转Cookie 的SameSite问题解决不显示额外区域(kiosk1) 前言 我们的前端是vue实现的&#xff0c;监控图表是在grafana中的&#xff0c;需要在项目web页面直接显示grafana图表 一、iframe方式实现 xxx.xxx.com拒绝连…

学习笔记:黑马程序员JavaWeb开发教程(2024.11.9)

9.1 Mybatis-基础操作-环境准备 这里也没做&#xff0c;到时候写案例&#xff0c;如果需要环境配置什么的&#xff0c;可以看看这个 9.2 Mybatis-基础操作-删除 删除需要动态获取需要删除的id&#xff0c;使用方法传参&#xff0c;#{}的方式实现 在编写的delete方法中&a…

[Docker#3] LXC | 详解安装docker | docker的架构与生态

目录 1.LXC容器操作 安装LXC LXC容器操作步骤 2.理论 LXC 是什么&#xff1f; Docker 是什么 Docker 和虚拟机的区别 Docker 和 JVM 虚拟化的区别 Docker 版本 ⭕Docker 官方网站&#xff08;建议收藏&#xff09; Docker 架构 生活案例 Docker 生态 Docker 解决…

Spark的学习-02

Spark Standalone集群的安装 架构&#xff1a;普通分布式主从架构 主&#xff1a;Master&#xff1a;管理节点&#xff1a;管理从节点、接客、资源管理和任务 调度&#xff0c;等同于YARN中的ResourceManager 从&#xff1a;Worker&#xff1a;计算节点&#xff1a;负责利用自己…

白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】

很久没有写百度或者网站这块内容了&#xff0c;一是因为做百度网站朋友越来越少&#xff0c;不管是个人还是企业&#xff1b;二是百度上用户搜索与百度给到网站的流量都越来越少。 为什么想到今天又来写这个呢&#xff1f;因为上个月有个朋友来咨询我说网站百度排名全没了&…

一个怀旧,俺的第一个共享软件

今天网友说起了 福彩双色球的程序。俺就想起这个来了&#xff0c;这是俺的第一个共享软件&#xff0c;收入大约15000。在当时来说&#xff0c;速度算是最快的。有些地方用了汇编优化&#xff08;题外话&#xff0c;最近俺看到新闻&#xff0c;FFmpeg的作者也用汇编优化 性能提升…

QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)

文章目录 QCustomPlot初识和基本效果图实现步骤:详细代码示例:实现原理和解释:使用方法:其他参考要实现一个支持复选框来控制曲线显示和隐藏的自定义 QCPLegend 类,可以通过继承 QCPLegend 并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。 QCustomPl…

96.【C语言】存储体系结构

目录 1.金字塔图 2.形象理解的图 3.分析 4.推荐阅读 1.金字塔图 2.形象理解的图 3.分析 缓存的大小<<内存的大小 缓存分三级:速度:一级>二级>三级 在95.【C语言】数据结构之双向链表的头插,头删,查找,中间插入,中间删除和销毁函数文章遗留了一个问题,缓存命…

智能合约在供应链金融中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 引言 智能合约概述 定义与原理 发展…

ODOO学习笔记(4):Odoo与SAP的主要区别是什么?

Odoo 和 SAP 都是知名的企业资源规划&#xff08;ERP&#xff09;软件&#xff0c;它们之间存在以下一些主要区别&#xff1a; Odoo与SAP的区别 一、功能特点 功能广度 Odoo&#xff1a;提供了一整套全面的业务应用程序&#xff0c;涵盖了销售、采购、库存管理、生产、会计、…

Leetcode 买卖股票的最佳时机 Ⅱ

使用贪心算法来解决此问题&#xff0c;通过在价格上涨的每一天买入并在第二天卖出的方式&#xff0c;累计所有上涨的利润&#xff0c;以实现最大收益。关键点是从第二天开始遍历&#xff0c;并且只要当前比前一天价格高&#xff0c;我们就在前一天买入然后第二天卖出去。下面是…

Unity常见问题合集(一)

PS&#xff1a;不定期更新...... 目录 &#xff08;1&#xff09;无法关闭自动编译&#xff08;Edit — Preference — General — Auto Refresh&#xff09; &#xff08;1&#xff09;无法关闭自动编译&#xff08;Edit — Preference — General — Auto Refresh&#xff0…

库打包工具 rollup

库打包工具 rollup 摘要 **概念&#xff1a;**rollup是一个模块化的打包工具 注&#xff1a;实际应用中&#xff0c;rollup更多是一个库打包工具 与Webpack的区别&#xff1a; 文件处理&#xff1a; rollup 更多专注于 JS 代码&#xff0c;并针对 ES Module 进行打包webpa…

软件工程 软考

开发大型软件系统适用螺旋模型或者RUP模型 螺旋模型强调了风险分析&#xff0c;特别适用于庞大而复杂的、高风险的管理信息系统的开发。喷泉模型是一种以用户需求为动力&#xff0c;以对象为为驱动的模型&#xff0c;主要用于描述面向对象的软件开发过程。该模型的各个阶段没有…