Cloud-oriented Life

Cloud Native Technology Improves Lives

kubernetes-dashboard

kubernetes-dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to manage applications running in the cluster and troubleshoot them, as well as manage the cluster itself.

This article is about how to use Helm to deploy kubernetes-dashboard on Kubernetes (K8S).

Read more »

hexo-theme-next

NexT is a high quality elegant theme for Hexo. It is crafted from scratch, with love.

Make sure that you have installed Hexo and created a site(such as hexo-site) with it successfully, because the following documents require you to operate in the site root directory.

Prerequisites

  • Hexo - https://hexo.io/

    Hexo is a fast, simple & powerful blog framework. It use plugins to provide features powerful APIs for limitless extensibility. Various plugins are available to support most template engines (EJS, Pug, Nunjucks, and many others). Easily integrate with existing NPM packages (Babel, PostCSS, Less/Sass, etc).

    To learn more about all the features of Docker, see Hexo - https://hexo.io/.

Installation

Open your Terminal, change to Hexo site root directory and install NexT theme:

1
2
3
4
5
$ cd hexo-site

$ npm install hexo-theme-next

$ hexo clean

Configuration

Config Next Theme

At present, NexT encourages users to use the Alternate Theme Config. It’s a feature of Hexo and the documentation is here: Configuration | Hexo - https://hexo.io/docs/configuration.html#Using-an-Alternate-Config.

1
2
# Installed through npm
$ cp node_modules/hexo-theme-next/_config.yml _config.next.yml

The traditional approach is to store some options in site config file and other options in theme config file. But it is not smooth to update NexT theme from pulling or downloading new releases.

1
2
# Installed through Git
$ cp theme/next/_config.yml _config.next.yml

Configuration | NexT - https://theme-next.js.org/docs/getting-started/configuration.html

Enabling NexT

Like all Hexo themes, after you download it, open site config file, find theme section, and change its value to next (or another theme directory name).

1
2
3
# hexo/_config.yml

theme: next

Now you have installed NexT theme and enabled it. The following steps will help you verify whether NexT is enabled correctly.

Run

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ hexo s
INFO Validating config
INFO ==================================
███╗ ██╗███████╗██╗ ██╗████████╗
████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝
██╔██╗ ██║█████╗ ╚███╔╝ ██║
██║╚██╗██║██╔══╝ ██╔██╗ ██║
██║ ╚████║███████╗██╔╝ ██╗ ██║
╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝
========================================
NexT version 8.2.1
Documentation: https://theme-next.js.org
========================================
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

Now you can open http://localhost:4000 in your browser, and check whether the site works correctly.

References

[1] NexT - Theme for Hexo - https://theme-next.js.org/

[2] Getting Started | NexT - https://theme-next.js.org/docs/getting-started/

[3] Configuration | Hexo - https://hexo.io/docs/configuration.html#Using-an-Alternate-Config

[4] Hexo - https://hexo.io/

helm-dnspod-webhook-cert-manager-example

dnspod-webhook-cert-manager is a cert-manager plugin to manage SSL certificates on Kubernetes.

Along with Nginx Ingress, you can configure HTTPS access to the website. With Let’s Encrypt provide free SSL certificates, all the free packs of cert-manager + Nginx Ingress + Let’s Encrypt are automatic generated. But cert-manager does not support dnspod by default.

You can modify it and use dnspod-webhook-cert-manager. There is some examplesabout installing it with Helm in the article.

Read more »

GitLab Runner

GitLab Runner is an application that works with GitLab CI/CD to run jobs in a pipeline.

GitLab Runner has the following features.

  • Run multiple jobs concurrently.

  • Use multiple tokens with multiple servers (even per-project).

  • Limit the number of concurrent jobs per-token.

  • Jobs can be run:

    • Locally.

    • Using Docker containers.

    • Using Docker containers and executing job over SSH.

    • Using Docker containers with autoscaling on different clouds and virtualization hypervisors.

    • Connecting to a remote SSH server.

  • Is written in Go and distributed as single binary without any other requirements.

  • Supports Bash and Windows PowerShell.

  • Works on GNU/Linux, macOS, and Windows (pretty much anywhere you can run Docker).

  • Allows customization of the job running environment.

  • Automatic configuration reload without restart.

  • Easy to use setup with support for Docker, Docker-SSH, Parallels, or SSH running environments.

  • Enables caching of Docker containers.

  • Easy installation as a service for GNU/Linux, macOS, and Windows.

  • Embedded Prometheus metrics HTTP server.

  • Referee workers to monitor and pass Prometheus metrics and other job-specific data to GitLab.

This article is about how to use Helm to deploy GitLab Runner on Kubernetes (K8S).

Read more »

GitLab

GitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider.

GitLab is a fully integrated software development platform that enables your team to be transparent, fast, effective, and cohesive from discussion on a new idea to production, all on the same platform.

GitLab is a Git-based platform that integrates a great number of essential tools for software development and deployment, and project management:

  • Hosting code in repositories with version control.

  • Tracking proposals for new implementations, bug reports, and feedback with a fully featured Issue Tracker.

  • Organizing and prioritizing with Issue Boards.

  • Reviewing code in Merge Requests with live-preview changes per branch with Review Apps.

  • Building, testing, and deploying with built-in Continuous Integration.

  • Deploying personal and professional static websites with GitLab Pages.

  • Integrating with Docker by using GitLab Container Registry.

  • Tracking the development lifecycle by using GitLab Value Stream Analytics.

  • Provide support with Service Desk.

  • Export issues as CSV.

This article is about how to use Helm to deploy GitLab on Kubernetes (K8S).

Read more »

Jenkis

Jenkins is the leading open source automation server.

Jenkins provides hundreds of plugins to support building, deploying and automating any project.

Jenkins has the following features.

  • Continuous Integration and Continuous Delivery

  • Easy installation

  • Easy configuration

  • Plugins

  • Extensible

  • Distributed

This article is about how to use Helm to deploy Jenkins on Kubernetes (K8S).

Read more »

MetalLB

MetalLB is an open source, rock solid LoadBalancer. It handles the ServiceType: Loadbalancer for bare metal Kubernetes clusters, using standard routing protocols.

This article is about how to use Pulumi, kubernetes (K8S) provider, Helm Chart and TypeScript SDK to deploy MetalLB within Kubernetes (K8S).

Read more »

PlantUML

PlantUML is an open-source tool allowing users to create diagrams from a plain text language that allows to quickly write :

  • Sequence diagram

  • Usecase diagram

  • Class diagram

  • Activity diagram (here is the legacy syntax)

  • Component diagram

  • State diagram

  • Object diagram

  • Deployment diagram

  • Timing diagram

PlantUML Server is a web application to generate UML diagrams on-the-fly.

This article is about how to use Helm to deploy PlantUML Server on Kubernetes (K8S).

Read more »

hexo-generator-baidu-sitemap

Hexo is a fast, simple & powerful blog framework. It use plugins to provide features powerful APIs for limitless extensibility. Various plugins are available to support most template engines (EJS, Pug, Nunjucks, and many others). Easily integrate with existing NPM packages (Babel, PostCSS, Less/Sass, etc).

hexo-generator-baidu-sitemap plugin will generate Baidu sitemap.xml files for Hexo pages, posts, categories, tags.

Installation

Use npm to install hexo-generator-baidu-sitemap package.

1
2
3
$ npm install hexo-generator-baidu-sitemap --save

$ hexo clean

Configuration

It will generate baidusitemap.xml in the public folder by default after hexo-generator-baidu-sitemap installation.

You can configure this plugin in ./_config.yml.

1
2
baidusitemap:
path: baidusitemap.xml

The follow is the options:

  • path - Sitemap path. (Default: baidusitemap.xml)

Finally, you can visit <Your Site Url>/baidusitemap.xml in the browser, and check whether the baidusitemap.xml works correctly after Hexo restarted or regenerated.

References

[1] coneycode/hexo-generator-baidu-sitemap: Baidu Sitemap generator plugin for Hexo - https://github.com/coneycode/hexo-generator-baidu-sitemap

[2] Build and submit a sitemap  |  Google Search Central  |  Google Developers - https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap

[3] Hexo - https://hexo.io/

0%