Kubernetes: Overview, Kaniko Helm

article/2025/8/26 20:55:47

文章目录

  • Overview
  • Concept
    • Hardware
      • 1. Node
      • 2. Cluster
      • 3. Persistent Volumes
    • Software
      • 1. Container
      • 2. Pod
      • 3. Deployment
      • 4. Ingress
  • Kaniko
    • using docker
    • using k8s
  • Helm

Overview

image.png
**kubelet: **An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod.

image.png


Concept

https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16

Hardware

1. Node

image.png

2. Cluster

image.png

3. Persistent Volumes

image.png

Software

1. Container

image.png

2. Pod

image.png
Unlike other systems you may have used in the past, Kubernetes doesn’t run containers directly; instead it wraps one or more containers into a higher-level structure called a pod. Any containers in the same pod will share the same resources and local network. Containers can easily communicate with other containers in the same pod as though they were on the same machine while maintaining a degree of isolation from others.

3. Deployment

image.png
A deployment’s primary purpose is to declare how many replicas of a pod should be running at a time. When a deployment is added to the cluster, it will automatically spin up the requested number of pods, and then monitor them. If a pod dies, the deployment will automatically re-create it.

4. Ingress

image.png
There are multiple ways to add ingress to your cluster. The most common ways are by adding either an Ingress controller, or a LoadBalancer.


Kaniko

Since docker is not the only tool to use container, we have many other choices.
As a container engine, docker can be the best choice.
While there are tools that can build image without daemon thread: Buildah & Kaniko.
While Podman is a container engine without daemon thread and root, and podman build == buildah.
While Kaniko is widely used to build image in K8S.

Since is difficult for docker to build image in container:

  1. mount socket to access the docker daemon, root needed.
  2. use dind container with –privileged.

Kaniko totally run in user space, do not need daemon or root:

  1. in k8s
  2. in docker

It has three parameters:

  1. dockerfile: the container dockerfile need to be build
  2. context
  3. destination: the cloud image base need to upload

using docker

docker run --name kaniko \-v $HOME/.docker/:/kaniko/.docker \-v /data/kaniko:/workspace \gcr.azk8s.cn/kaniko-project/executor:latest \--dockerfile /workspace/Dockerfile \--destination willdockerhub/ubuntu:test \--context dir:///workspace/

using k8s

cat > kaniko-pod.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:name: kaniko
spec:containers:- name: kanikoimage: gcr.azk8s.cn/kaniko-project/executor:latestargs: ["--dockerfile=/workspace/Dockerfile","--context=dir://workspace","--destination=willdockerhub/ubuntu:test"] # replace with your dockerhub accountvolumeMounts:- name: kaniko-secretmountPath: /kaniko/.docker- name: dockerfile-storagemountPath: /workspacerestartPolicy: Nevervolumes:- name: kaniko-secretsecret:secretName: regcreditems:- key: .dockerconfigjsonpath: config.json- name: dockerfile-storagehostPath:path: /data/kaniko/type: Directory
EOF

Helm

对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。
对于使用者而言,使用Helm后不用需要了解Kubernetes的Yaml语法并编写应用部署文件,可以通过Helm下载并在kubernetes上安装需要的应用。
**A Chart **is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Think of it like the Kubernetes equivalent of a Homebrew formula, an Apt dpkg, or a Yum RPM file.
**A Repository **is the place where charts can be collected and shared. It’s like Perl’s CPAN archive or the Fedora Package Database, but for Kubernetes packages.
**A Release **is an instance of a chart running in a Kubernetes cluster. One chart can often be installed many times into the same cluster. And each time it is installed, a new release is created. Consider a MySQL chart. If you want two databases running in your cluster, you can install that chart twice. Each one will have its own release, which will in turn have its own release name.


http://chatgpt.dhexx.cn/article/y2nFG9nK.shtml

相关文章

Kubernetes-Kuboard

前言 本篇是Kubernetes第十五篇&#xff0c;大家一定要把环境搭建起来&#xff0c;看是解决不了问题的&#xff0c;必须实战。 Kubernetes系列文章: Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernete…

Kuboard

安装 Kuboard 之前&#xff0c;假设&#xff1a; 您已经准备好了一个 Linux 服务器用于安装 Kuboard-V3&#xff0c;并且该机器上的 docker 版本不低于 19.03用于安装 Kuboard v3.x 的机器已经安装了 docker&#xff0c;并且版本不低于 docker 19.03您已经有自己的 Kubernetes…

KEGG数据库以及 KAAS 网站注释

1. KEGG 现在自己用到的KEGG数据库主要是功能注释&#xff0c;下面谈一下我再用KEGG 时候的经验吧。 首先在kaas上传数据做基因的注释。 我们用的是prokka注释过后的faa文件&#xff1a;是蛋白序列。 当然基因序列也可以。 kaas 比对网站 https://www.genome.jp/tools/kaas/ 得…

0055-【生物数据库】-如何进行RNA差异基因KEGG注释分析-kobas在线分析

1. 有参物种使用gene ID的方法 1. 差异基因文件准备 只需要用到两列 ENTREZ_GENE_IDlogFC geneNames ENTREZ_GENE_ID normalAve tumorAve logFC pValue qValue CCL23 6368 95.05964624 5.566645819 -4.066608903 2.07E-31 5.99E-29 COLEC10 10584 …

富集分析:(一)概述

&#xff08;全文约6600字&#xff09; 1. 富集分析 1.1. 富集分析概念 富集分析 富集分析&#xff0c;本质上是对数据的分布检验&#xff0c;如果分布集中在某个区域&#xff0c;则认为富集。 常用的分布检验方法有卡方检验、Fisher精确检验以及KS检验等方法。 生物信息…

NAR|北大/中科院计算所团队发布基因功能富集分析平台KOBAS-i

近日&#xff0c;国际知名期刊《核酸研究》(Nucleic Acids Research&#xff0c;IF:16.971)在线发表了北京大学孔雷课题组与中国科学院计算技术研究所赵屹研究员课题组合作开发的基因功能富集平台KOBAS-i (网址http://kobas.cbi.pku.edu.cn/ 或http://bioinfo.org/kobas)&#…

linux下kegg注释软件,网页工具KOBAS进行KEGG富集分析

KOBAS的介绍 KOBAS是北大生物信息中心研发的一个网页工具&#xff0c;用来基因/蛋白功能注释(注释模块)和功能基因集富集(富集模块)。以下是KOBAS的英文介绍&#xff1a; KOBAS 3.0 is a web server for gene/protein functional annotation (Annotate module) and functional …

KOBAS 3.0学习

在线通路注释&#xff0c;一般使用DAVID、KASS、KOBAS等工具。 Kobas : KOBAS&#xff08;基于KEGG Orthology Based Annotation System&#xff09;是用于基因/蛋白质功能注释&#xff08;注释模块&#xff09;和功能集富集&#xff08;Enrichment module&#xff09;的Web服…

KOBAS数据库使用指南

KOBAS&#xff08;KEGG Orthology Based Annotation System&#xff09;&#xff0c;&#xff0c;是由北京大学魏文丽课题组开发的数据库&#xff0c;主要功能是用于基因/蛋白质功能注释和功能富集。随着数据量不断增加&#xff0c;KOBAS至今为止共经历了3次升级&#xff0c;除…

盒须图

盒须图会表示出数据的散布情况 1.找到中位数 2.找到小于中位数的数据中的中位数 3.找到大于中位数的数据中的中位数 得到下四分位数和上四分位数 视频链接&#xff1a;https://www.bilibili.com/video/av45395982?p9

Echarts -盒须图的使用说明

画盒须图需要dataTool.js !function(e,t){"object"typeof exports&&"object"typeof module?module.exportst(require("echarts")):"function"typeof define&&define.amd?define(["echarts"],t):"ob…

关于油气田完整周期的筛选与盒须图的制作

1.筛选具有完整周期的油气田&#xff1a; 具有完整周期的油气田包括三个标签&#xff1a; - discovery year-勘探时间- fid year-建产时间&#xff0c;&#xff08;FID是投资决策的意思&#xff09;- production start year-开发时间&#xff08;透视表数据来自于原数据&#x…

Matplotlib 盒须图 (Box-and-whisker plot)

– Start import numpy as np import matplotlib.pyplot as plt from random import sampledata np.random.normal(0, 1, 100)# 盒须图 plt.boxplot(data, vertFalse); plt.show()– 更多参见&#xff1a;Matplotlib 精萃 – 声 明&#xff1a;转载请注明出处 – Last Update…

113Echarts - 盒须图(Boxplot Light Velocity)

效果图 源代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>ECharts</title><!-- 引入 echarts.js --><script src"js/echarts.min.js"></script><script src"dist/extensi…

举个栗子!Tableau 技巧(84):使用盒须图查看你的数据分布

关于盒须图 英文&#xff1a;Box-plot&#xff0c;又称为箱形图、盒式图或箱线图&#xff0c;是一种用作显示一组数据分散情况资料的统计图。在各种领域经常被使用&#xff0c;较多用于品质管理。 如果你想显示一组数据的分布情况&#xff1a;例如&#xff1a;一目了然地理解数…

echart自定义图分享之自定百分比的(箱线图/盒须图)

echarts自定义图之自定百分比的(箱线图/盒须图)&#xff1a; 分享一些自己在工作中遇到的非常规图 创作原因&#xff1a;因客户需要指定样式的箱线图图&#xff08;七分位&#xff0c;存在非固定分位&#xff1a;10%&#xff0c;90%&#xff0c;并且能查看每个分位的具体值&a…

echarts-箱线图(盒须图)

搞了一套和官网不同的option&#xff0c;也能渲染出效果来&#xff0c;虽然我不知道这个箱线图有啥意义啊哈哈哈~ 需求&#xff1a;填充背景色(中间的横线我是真的无能为力了&#xff0c;有搞出来的小伙伴欢迎留言) 剩下的一些自定义轴刻度显示、tooltip的自定义就很常规了。。…

echarts盒须图颜色填充

在使用echarts中的boxplot时&#xff0c;我们常常有将特定盒子换成不同颜色标记出来的需求&#xff0c;series中的color会默认从option.color中按顺序获取&#xff0c;默认颜色&#xff1a;[#5470c6, #91cc75, #fac858, #ee6666, #73c0de, #3ba272, #fc8452, #9a60b4, #ea7ccc]…

【Tableau 图表大全21】之箱型图(盒须图)

文章目录 箱型图样式构建箱形图GIF演示 箱型图样式 箱形图&#xff0c;也称为箱须图&#xff0c;用于显示沿轴的分布。它通常分别在列和行上有一个维度和一个度量。尽管 Tableau 中的"显示我"功能只需单击一下即可创建箱形图&#xff0c;但我将在这篇博客文章中演示如…

QT实现绘制箱须图(盒须图)

QT实现绘制箱须图 项目简介项目技术项目展示主要源码片段解析项目简介 显示了如何创建箱须图。 显示了如何从文件中读取非连续数据,对其进行排列并查找箱须图的中位数。 项目技术 qt5.12,QtCharts模块,c++ 项目展示 主要源码片段解析 为了显示两家公司的股份偏差,我们首…