iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何基于k8s的Ingress部署hexo博客
  • 941
分享到

如何基于k8s的Ingress部署hexo博客

2023-06-19 09:06:03 941人浏览 泡泡鱼
摘要

这篇文章主要介绍“如何基于k8s的Ingress部署hexo博客”,在日常操作中,相信很多人在如何基于k8s的Ingress部署hexo博客问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何基于k8s的Ing

这篇文章主要介绍“如何基于k8s的Ingress部署hexo博客”,在日常操作中,相信很多人在如何基于k8s的Ingress部署hexo博客问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何基于k8s的Ingress部署hexo博客”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

注:kuberntes版本为1.15

什么是 Ingress

Ingress 是一个提供对外服务的路由和负载均衡器,其本质是个Nginx控制器服务。

k8s文档上Ingress经典数据链路图:

    internet        |   [ Ingress ]   --|-----|--   [ Services ]

对博客进行改造

构建Dockefile

容器化整个Hexo项目,构建Dockefile,这里采用nginx + 静态资源的形式部署(主要为了节约内存CPU):

FROM nginx:1.13.0-alpineLABEL maintainer="hexo-shikanon-blog <shikanon@tensorbytes.com>"# 装载编译后的文件对外访问COPY ./public /usr/share/nginx/html
构建Deployment

构建一个Deployment服务将其部署上kubernetes:

apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-hexo-blog-delopyment  labels:    WEBtype: staticblogspec:  replicas: 2  selector:    matchLabels:      webtype: staticblog  template:    metadata:      labels:        webtype: staticblog        function: blog    spec:      containers:        - name: hexo-blog          image: nginx-hexo-blog:0.0.1          ports:            - containerPort: 80
构建Service暴露服务端口

构建一个Service暴露统一的服务端口:

apiVersion: v1kind: Servicemetadata:  name: static-blogspec:  selector:    webtype: staticblog  ports:    - protocol: tcp      port: 80      targetPort: 80 # deployment的端口,

这里创建一个名称为 "static-blog" 的 Service 对象,它会将请求代理到使用 TCP 端口 targetPort,并且具有标签 "webtype: staticblog" 的 Pod 上。

查看端口信息:

$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.13.0.1 <none> 443/TCP 10d static-blog ClusterIP 10.13.83.44 <none> 80/TCP 8h

测试端口是否可以访问:

$ curl -I 10.13.83.44 Http/1.1 200 OK Server: nginx/1.13.0 Date: Wed, 16 Oct 2019 16:51:13 GMT Content-Type: text/html Content-Length: 71636 Last-Modified: Mon, 29 Jul 2019 19:25:29 GMT Connection: keep-alive ETag: "5d3f4829-117d4" Accept-Ranges: bytes

构建Ingress服务

最后一步,构建Ingress服务对外部提供服务和反向代理:

apiVersion: extensions/v1beta1kind: IngreSSMetadata:  name: reverse-proxy  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /spec:  rules:  - host: www.shikanon.com    http:      paths:        - backend:            serviceName: static-blog            servicePort: 80

完成!

构建https网站

用secret类型对象保存密钥数据

Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key,其中 ssh key 就是一个经典的应用。

Secret 参数用例:

kubectl create secret -hCreate a secret using specified subcommand.Available Commands:  Docker-reGIStry Create a secret for use with a Docker registry  generic         Create a secret from a local file, directory or literal value  tls             Create a TLS secretUsage:  kubectl create secret [flags] [options]

创建Secret加密对象:

kubectl create secret tls shikanon-ssh-key-secret --cert=/home/shikanon/web/www/ssl/cert.pem --key=/home/shikanon/web/www/ssl/private.key

修改Ingress:

apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: reverse-proxy  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /spec:  rules:  - host: www.shikanon.com    http:      paths:        - backend:            serviceName: static-blog            servicePort: 80  tls:  - hosts:     - www.shikanon.com    secretName: shikanon-ssh-key-secret

注:一个Ingress只能支持一个tls

到此,关于“如何基于k8s的Ingress部署hexo博客”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何基于k8s的Ingress部署hexo博客

本文链接: https://www.lsjlt.com/news/295219.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何基于k8s的Ingress部署hexo博客
    这篇文章主要介绍“如何基于k8s的Ingress部署hexo博客”,在日常操作中,相信很多人在如何基于k8s的Ingress部署hexo博客问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何基于k8s的Ing...
    99+
    2023-06-19
  • 如何使用Hexo和Github Pages来部署博客网站
    Hexo是一个基于Node.js的静态网站生成器,它可以帮助你快速搭建自己的博客网站。而Github Pages则是一个由Github提供的静态网站托管服务,让你可以将自己的网站部署到Github上。在本文中,我们将讨论如何使用Hexo和G...
    99+
    2023-10-22
  • 基于k8s如何部署Session模式Flink集群
    这篇文章主要介绍“基于k8s如何部署Session模式Flink集群”,在日常操作中,相信很多人在基于k8s如何部署Session模式Flink集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于k8s如何...
    99+
    2023-07-05
  • 如何将博客部署到gitee上
    本文小编为大家详细介绍“如何将博客部署到gitee上”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何将博客部署到gitee上”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、创建仓库首先,我们需要在gitee...
    99+
    2023-07-05
  • Tungsten Fabric实战中基于K8s的部署是怎样的
    这期内容当中小编将会给大家带来有关Tungsten Fabric实战中基于K8s的部署是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Tungsten Fabric(原名opencontrail),...
    99+
    2023-06-03
  • 基于PHP如何实现个人博客网站
    要基于PHP实现个人博客网站,需要进行以下几个步骤:1. 选择合适的开发框架:PHP有很多开发框架可供选择,例如Laravel、Co...
    99+
    2023-08-14
    PHP
  • 如何基于Kubernetes部署MySQL数据库
    本篇内容介绍了“如何基于Kubernetes部署MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • 基于Docker如何部署Dubbo+Nacos服务
    这篇“基于Docker如何部署Dubbo+Nacos服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Docker如何部...
    99+
    2023-07-05
  • k8s用户界面k8s-manager的本质及如何进行部署
    k8s用户界面k8s-manager的本质及如何进行部署,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。k8s用户界面——k8s-manager1、k8s-manager简介:①...
    99+
    2023-06-19
  • docker下如何部署MySQL8基于GTID的主从复制
    这篇文章给大家介绍docker下如何部署MySQL8基于GTID的主从复制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。安装docker#yum install docker添加doc...
    99+
    2024-04-02
  • 基于Docker、Nginx和Jenkins如何实现前端自动化部署
    这篇文章给大家分享的是有关基于Docker、Nginx和Jenkins如何实现前端自动化部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前期准备基于CentOS 7系统云服务器一台。基于Vue-CLI的项目部署...
    99+
    2023-06-20
  • 基于Saltstack、Artifactory如何打造传统模式下持续部署平台
    本篇文章给大家分享的是有关基于Saltstack、Artifactory如何打造传统模式下持续部署平台,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、持续部署1. ...
    99+
    2023-06-04
  • 如何基于生产环境mysql 5.6.25主从部署新的mysql从库操作指南
    1,背景需求        由于现网的环境,经过近期监控,发现MYSQL主库的IO读写压力比较大,需要部署新的MYSQL从库,进一步分摊MYSQL主库的压力,以...
    99+
    2024-04-02
  • LeetCode算法如何应用于容器的自动化部署?
    在当今云原生时代,容器技术已经成为了最热门的技术之一。而容器的自动化部署也是容器技术中非常重要的一个方面。在容器的自动化部署中,LeetCode算法可以帮助我们更加高效地实现自动化部署。本文将详细介绍LeetCode算法在容器的自动化部署...
    99+
    2023-06-13
    分布式 leetcode 容器
  • 如何使用PHP实现基于MQTT的客户端(代码示例)
    MQTT是一种轻量级的消息传输协议,它是基于发布/订阅模式的。MQTT提供了一种低延迟、可靠的连接,特别适用于小型传感器和单片机等硬件设备的通信。在本文中,我们将介绍如何使用PHP实现基于MQTT的客户端代码。MQTT协议简介在开始编写代码...
    99+
    2023-05-14
  • 你知道如何将ASP应用程序部署到基于Unix操作系统的Apache服务器上吗?
    在现今的网络时代,应用程序的开发已经成为了一项必不可少的技能。然而,不同的操作系统和服务器可能会对应不同的应用程序开发方式和部署方式,因此,学习如何将ASP应用程序部署到基于Unix操作系统的Apache服务器上是一个非常有用的技能。 AS...
    99+
    2023-10-03
    bash apache unix
  • Python 框架打包文件:如何让你的应用更加易于传输和部署?
    Python 是一门高效、灵活的编程语言,它拥有丰富的库和框架,使得开发人员可以更加便捷地创建各种应用程序。但是,在将 Python 应用程序部署到生产环境时,我们常常会遇到一些问题,例如依赖项管理、环境配置等。这时候,一个好的解决方案就是...
    99+
    2023-10-11
    框架 打包 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作