亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡(jiǎn)述K3S和K8S的區(qū)別

馬哥Linux運(yùn)維 ? 來源:CSDN技術(shù)社區(qū) ? 2025-04-18 10:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

K3S和 K8S 有何不同?

1、K3s:輕量級(jí)的K8s

K3s 是CNCF 認(rèn)證的 Kubernetes 發(fā)行版和Sandbox項(xiàng)目,專為低資源環(huán)境而設(shè)計(jì)。由 Rancher Labs 維護(hù)著 K3s。

總的來說,K3s 提供了一個(gè)開銷較小的 Kubernetes 集群設(shè)置,但仍然集成了 K8s 的大部分架構(gòu)和功能。

以下是 K3s 成為輕量級(jí)發(fā)行版的原因:

? 打包為具有最小外部依賴性的單個(gè)二進(jìn)制文件

? 低硬件要求和內(nèi)存占用

? 能夠作為單個(gè)服務(wù)器和高可用性服務(wù)器運(yùn)行

K3s 將標(biāo)準(zhǔn)的 Kubernetes組件打包在一個(gè)不到 100 MB 的二進(jìn)制文件中。這是通過刪除額外的驅(qū)動(dòng)程序、可選的卷插件和第三方云集成來完成的。

K3s 應(yīng)該能夠在具有至少 512M RAM(盡管建議使用 1GB)和一個(gè) CPULinux 操作系統(tǒng)中運(yùn)行。

盡管 K3s 是 Kubernetes 的輕量級(jí)版本,但它并沒有改變 Kubernetes 的核心工作方式。K3s 架構(gòu)由運(yùn)行在集群中的 master 服務(wù)器和代理(或工作節(jié)點(diǎn))組成。它仍然有 CoreDNS 和 Ingress Controller 作為核心 Networking 的一部分。它有一個(gè)內(nèi)置的 SQLite 數(shù)據(jù)庫來存儲(chǔ)所有的服務(wù)器信息。

盡管如此,如果我們需要一個(gè)高可用性服務(wù)器,也可以插入到一個(gè)外部數(shù)據(jù)庫,例如ETCD[8]、MySQL[9]或Postgres[10]。Flannel[11]作為集群網(wǎng)絡(luò)的默認(rèn)CNI[12]插件。

最后,作為完全認(rèn)證的 K8s 版本,我們可以編寫 YAML 來像使用 K8s 一樣在 K3s 集群上運(yùn)行。例如,當(dāng)我們管理工作負(fù)載[13]或定義 pod與服務(wù)和負(fù)載平衡的網(wǎng)絡(luò)[14]時(shí),同樣使用kubectl[15]與集群交互。

2、使用

下面看看如何安裝 K3s,如何訪問集群,如何將節(jié)點(diǎn)添加到 master。

2.1 安裝

基本安裝命令:

curl-sfLhttps://get.k3s.io|sh-





這會(huì)執(zhí)行來自 k3s 官方安裝腳本[17],并在我們的 Linux 主機(jī)中將 K3s 作為服務(wù)運(yùn)行。

作為替代方案,我們可以下載一個(gè)特定指定版本[18]并安裝它。無論哪種方式,我們都可以將服務(wù)器配置[19]選項(xiàng)與環(huán)境變量[20]混合使用。

例如,我們可能想要禁用 Flannel 并使用不同的 CNI 提供程序。

我們可以通過運(yùn)行腳本來做到這一點(diǎn):

$curl-sfLhttps://get.k3s.io|sh-s---flannel-backendnone





如果我們已經(jīng)安裝了 K3s 二進(jìn)制文件,我們可以在命令行中添加環(huán)境變量前綴:

$INSTALL_K3S_EXEC="--flannel-backendnone"k3sserver





2.2 集群訪問

默認(rèn)情況下,K3s 將在/etc/rancher/k3s目錄中安裝一個(gè)配置文件。安裝完成后,和 K8s 類似,我們需要定義一個(gè)配置文件位置。

我們可以通過導(dǎo)出一個(gè)環(huán)境變量讓 K3s 指向配置文件:

$exportKUBECONFIG=/etc/rancher/k3s/k3s.yaml





作為替代方案,可以在 K8s 默認(rèn)指向的主目錄中定義配置文件:

$mkdir-p~/.kube
$sudok3skubectlconfigview--raw|tee~/.kube/config
$chmod600~/.kube/config





可以檢查集群是否正在運(yùn)行:

$kubectlgetnodes
NAME      STATUS ROLES        AGE VERSION
 Ready control-plane,master 4d3h v1.25.6+k3s1





值得注意的是,我們可以看到控制平面將與主節(jié)點(diǎn)一起運(yùn)行。

現(xiàn)在讓我們看看創(chuàng)建了哪些容器(pods):

$kubectlgetpods--all-namespaces
NAMESPACE      NAME                    READY STATUS      RESTARTS    AGE
kube-system     helm-install-traefik-crd-6v28l       0/1  Completed    0       4d2h
kube-system     helm-install-traefik-vvfh2         0/1  Completed    2       4d2h
kube-system     svclb-traefik-cfa7b330-fkmms        2/2  Running     10(8hago)  4d2h
kube-system     traefik-66c46d954f-2lvzr          1/1  Running     5(8hago)   4d2h
kube-system     coredns-597584b69b-sq7mk          1/1  Running     5(8hago)   4d2h
kube-system     local-path-provisioner-79f67d76f8-2dkkt  1/1  Running     8(8hago)   4d2h





可以在集群上看到可用 pod 的列表。

可以看到一個(gè)基本的 K3s 設(shè)置,包括:

? Traefik[21]作為 HTTP 反向代理和負(fù)載均衡的入口控制器

? CoreDns[22]管理集群和節(jié)點(diǎn)內(nèi)的 DNS 解析

? Local Path Provisioner[23]提供了一種在每個(gè)節(jié)點(diǎn)中利用本地存儲(chǔ)的方法

? Helm[24],我們可以使用它來打包、部署

K3s 將在單個(gè)服務(wù)器或代理進(jìn)程中運(yùn)行所有組件,而不是在不同的進(jìn)程中運(yùn)行組件。由于它被打包在一個(gè)文件中,我們也可以[離線安裝]((https://docs.k3s.io/installation/airgap “離線安裝”)。當(dāng)然,我們還可以使用 K3d[25] 在 Docker 中運(yùn)行 K3s 。

2.3 添加節(jié)點(diǎn)

如果我們想將節(jié)點(diǎn)添加到集群中,只需要執(zhí)行指向節(jié)點(diǎn)主機(jī)的相同命令

$curl-sfLhttps://get.k3s.io|K3S_URL=https://:6443K3S_TOKEN=mynodetokensh-





K3S_TOKEN 存儲(chǔ)在本地:

$cat/var/lib/rancher/k3s/server/node-token





一旦工作節(jié)點(diǎn)加入主節(jié)點(diǎn),控制平面就會(huì)識(shí)別節(jié)點(diǎn)和在其上調(diào)度服務(wù) Pod。

3、部署服務(wù)

$kubectlcreatedeploymentnginx--image=nginx--port=80--replicas=3


$kubectlgetpods
NAME         READY STATUS RESTARTS AGE
nginx-ff6774dc6-ntxv6 1/1  Running 0    17s
nginx-ff6774dc6-qs4r6 1/1  Running 0    17s
nginx-ff6774dc6-nbxmx 1/1  Running 0    17s





應(yīng)該看到三個(gè)正在運(yùn)行的容器。

Pod 不是永久資源,會(huì)不斷創(chuàng)建和銷毀,IP 發(fā)生變化。因此,需要一個(gè)服務(wù)來動(dòng)態(tài)地將 pod 的 IP 映射到外部世界。

我們將選擇一個(gè) ClusterIp 類型的 Service:

$kubectlcreateserviceclusteripnginx--tcp=80:80





看看我們的服務(wù)定義:

$kubectldescribeservicenginx
Name:      nginx
Namespace:    default
Labels:     app=nginx
Annotations:   
Selector:    app=nginx
Type:      ClusterIP
IP Family Policy:SingleStack
IP Families:   IPv4
IP:       10.43.238.194
IPs:       10.43.238.194
Port:      80-8080/TCP
TargetPort:   80/TCP
Endpoints:    10.42.0.10:80,10.42.0.11:80,10.42.0.9:80





我們可以看到訪問應(yīng)用程序的 pod(或容器)地址對(duì)應(yīng)的 Endpoints。

服務(wù)沒有直接訪問權(quán)限。Ingress Controller 通常位于它前面,用于緩存、負(fù)載平衡和安全合規(guī)控制,例如過濾掉惡意請(qǐng)求。

最后,讓我們?cè)?YAML 文件中定義一個(gè) Traefik 控制器。這會(huì)將流量從傳入請(qǐng)求路由到服務(wù):

apiVersion:networking.k8s.io/v1
kind:Ingress
metadata:
name:nginx
annotations:
 ingress.kubernetes.io/ssl-redirect:"false"
spec:
rules:
-http:
  paths:
  -path:/
   pathType:Prefix
   backend:
    service:
     name:nginx
     port:
      number:80




我們可以通過將此資源應(yīng)用于集群來創(chuàng)建 ingress:

$kubectlapply-f.yaml





$kubectldescribeingressnginx
Name:      nginx
Labels:     
Namespace:   default
Address:    192.168.1.103
Ingress Class: traefik
Default backend:
Rules:
Host   PathBackends
----   ------------
*
      / nginx:80(10.42.0.10:80,10.42.0.11:80,10.42.0.9:80)
Annotations: ingress.kubernetes.io/ssl-redirect:false





現(xiàn)在可以通過從主機(jī)或?yàn)g覽器向 192.168.1.103 地址發(fā)送 GET 請(qǐng)求來訪問 Nginx 主頁。

我們可能想向入口控制器添加一個(gè) 負(fù)載均衡器[26] K3s 默認(rèn)使用 ServiceLB[27]。

4、K8s 和 K3s 有何不同

K3s 和 K8s 之間最顯著的區(qū)別是包裝。K3s 是一個(gè)不到 100MB 的單一打包二進(jìn)制文件。K8s 有多個(gè)組件作為進(jìn)程運(yùn)行。

此外,作為一個(gè)更輕量級(jí)的版本,K3s 可以在幾秒鐘內(nèi)啟動(dòng)一個(gè) Kubernetes 集群。我們可以用更少的資源更快地運(yùn)行操作。

K3s 支持 AMD64、ARM64 和 ARMv7 等架構(gòu)。這意味著我們可以在任何地方運(yùn)行它,例如,在 Raspberry PI Zero 中。K3s 還可以處理連接受限的環(huán)境。

在學(xué)習(xí) K3s 時(shí)上手更快,需要掌握的命令更少。開始使用它的工作量比 K8s 少,例如,如果我們還沒有使用分布式集群的背景。

但是,對(duì)于復(fù)雜的集群或繁重的工作負(fù)載,我們?nèi)匀粦?yīng)該考慮使用 K8s。K3s 確實(shí)提供了一個(gè)高可用性選項(xiàng),但它需要做更多的工作才能插入,例如,不同的數(shù)據(jù)庫或集成云提供商。

如果要在 K3s 和 K8s 之間做出決定,可能會(huì)歸結(jié)為資源的考量。但是,K3s 是持續(xù)集成測(cè)試的不錯(cuò)選擇。

鏈接:https://blog.csdn.net/qq_39578545/article/details/129647767

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213777
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9795

    瀏覽量

    87972
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7151

    瀏覽量

    125576
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    245

    瀏覽量

    9067

原文標(biāo)題:K3S和 K8S 有何不同?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是 K8S,如何使用 K8S

    Kubernetes(簡(jiǎn)稱K8S)是一個(gè)用于管理容器化應(yīng)用程序的開源平臺(tái)。以下是關(guān)于K8S及其使用方法的介紹: 一、什么是 K8S 核心特點(diǎn) 自動(dòng)化容器編排:自動(dòng)處理容器的部署、擴(kuò)展、負(fù)載均衡
    發(fā)表于 06-25 06:45

    k8s核心原理學(xué)習(xí)指南3

    k8s學(xué)習(xí)3 - 核心原理
    發(fā)表于 09-25 16:37

    OpenStack與K8s結(jié)合的兩種方案的詳細(xì)介紹和比較

    OpenStack與K8S結(jié)合主要有兩種方案。一是K8S部署在OpenStack平臺(tái)之上,二是K8S和OpenStack組件集成。
    的頭像 發(fā)表于 10-14 09:38 ?2.8w次閱讀

    如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與K8s交互過程

    【導(dǎo)讀】Kubernetes項(xiàng)目使用Go語言編寫,對(duì)Go api原生支持非常便捷。 本篇文章介紹了如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與K8s交互過程
    的頭像 發(fā)表于 02-02 11:16 ?7286次閱讀
    如何使用kubernetes client-go實(shí)踐一個(gè)簡(jiǎn)單的與<b class='flag-5'>K8s</b>交互過程

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對(duì)強(qiáng)大的集群,成千上萬的容器,突然感覺不香了。 這時(shí)候就需要我們的主角 Kubernetes 上場(chǎng)了,先來了解一下 K8s 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營
    的頭像 發(fā)表于 06-02 11:56 ?3696次閱讀

    簡(jiǎn)單說明k8s和Docker之間的關(guān)系

    這篇文章主要介紹了k8s和Docker關(guān)系簡(jiǎn)單說明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下 最近項(xiàng)目用到kubernetes(以下簡(jiǎn)稱k8s,ks之間有
    的頭像 發(fā)表于 06-24 15:48 ?3738次閱讀

    K8S集群服務(wù)訪問失敗怎么辦 K8S故障處理集錦

    。 kubectl delete svc nginx-deployment 問題3K8S集群服務(wù)暴露失敗? Error from server (AlreadyExists): services “nginx-deployment” already exists 原因分
    的頭像 發(fā)表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群服務(wù)訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    K8S(kubernetes)學(xué)習(xí)指南

    K8S(kubernetes)學(xué)習(xí)指南
    發(fā)表于 06-29 14:14 ?0次下載

    mysql部署在k8s上的實(shí)現(xiàn)方案

    的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一。這里主要講 mysql 部署在 k8s 上,mysql 部署在 k8s 上的優(yōu)勢(shì)主要有以下幾點(diǎn)。
    的頭像 發(fā)表于 09-26 10:39 ?2836次閱讀

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡(jiǎn)稱K8s,是一個(gè)開源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(powerful
    發(fā)表于 07-19 13:14 ?1326次閱讀

    什么是K3sK8s?K3sK8s有什么區(qū)別?

    Kubernetes,通??s寫為 K8s,是領(lǐng)先的容器編排工具。該開源項(xiàng)目最初由 Google 開發(fā),幫助塑造了現(xiàn)代編排的定義。該系統(tǒng)包括了部署和運(yùn)行容器化系統(tǒng)所需的一切。
    的頭像 發(fā)表于 08-03 10:53 ?8489次閱讀

    k8s生態(tài)鏈包含哪些技術(shù)

    1. Apache APISIX Ingress 定義 ? 在 K8s 生態(tài)中,Ingress 作為表示 K8s 流量入口的一種資源,想要讓其生效,就需要有一個(gè) Ingress Controller
    的頭像 發(fā)表于 08-07 10:56 ?1546次閱讀
    <b class='flag-5'>k8s</b>生態(tài)鏈包含哪些技術(shù)

    K8S落地實(shí)踐經(jīng)驗(yàn)分享

    k8s 即 Kubernetes,是一個(gè)開源的容器編排引擎,用來對(duì)容器化應(yīng)用進(jìn)行自動(dòng)化部署、 擴(kuò)縮和管理。
    的頭像 發(fā)表于 01-02 11:45 ?1607次閱讀
    <b class='flag-5'>K8S</b>落地實(shí)踐經(jīng)驗(yàn)分享

    k8s云原生開發(fā)要求

    Kubernetes(K8s)云原生開發(fā)對(duì)硬件有一定要求。CPU方面,建議至少配備2個(gè)邏輯核心,高性能CPU更佳。內(nèi)存至少4GB,但8GB或更高更推薦。存儲(chǔ)需至少20-30GB可用空間,SSD提升
    的頭像 發(fā)表于 10-24 10:03 ?585次閱讀
    <b class='flag-5'>k8s</b>云原生開發(fā)要求

    k8s和docker區(qū)別對(duì)比,哪個(gè)更強(qiáng)?

    部署、擴(kuò)展、管理和應(yīng)用生命周期管理能力,可實(shí)現(xiàn)高可用性和自動(dòng)伸縮,兩者常結(jié)合使用以優(yōu)化容器化和應(yīng)用管理。UU云小編將對(duì)k8s和docker區(qū)別進(jìn)行詳細(xì)對(duì)比:
    的頭像 發(fā)表于 12-11 13:55 ?672次閱讀