1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          k3s

          來源:互聯網轉載 時間:2024-01-29 07:44:47

          1. k3s介紹

          1.1 什么是k3s?

          k3s經過CNCF認證的由Rancher公司開發維護的一個輕量級的 Kubernetes 發行版,內核機制還是和 k8s 一樣,但是剔除了很多外部依賴以及 K8s 的 alpha、beta 特性,同時改變了部署方式和運行方式,目的是輕量化 K8s,簡單來說,K3s 就是閹割版 K8s,消耗資源極少。它主要用于邊緣計算、物聯網等場景。K3s 具有以下特點:

          1、安裝簡單,占用資源少,只需要512M內存就可以運行起來;

          2、apiserver 、schedule 等組件全部簡化,并以進程的形式運行在節點上,把程序都打包為單個二進制文件,每個程序只需要占用100M內存;

          3、使用基于sqlite3的輕量級存儲后端作為默認存儲機制。同時支持使用etcd3、MySQL 和PostgreSQL作為存儲機制;

          4、默認使用 local-path-provisioner 提供本地存儲卷;

          5、默認安裝了Helm controller 和 Traefik Ingress controller;

          6、所有 Kubernetes control-plane 組件的操作都封裝在單個二進制文件和進程中,使 K3s 具有自動化和管理包括證書分發在內的復雜集群操作的能力。

          7、減少外部依賴,操作系統只需要安裝較新的內核(centos7.6就可以,不需要升級內核)以及支持cgroup即可,k3s安裝包已經包含了containerd、Flannel、CoreDNS,非常方便地一鍵式安裝,不需要額外安裝Docker、Flannel等組件。

          1.1.1 CNCF介紹

          CNCF,英文全稱為Cloud Native Computing Foundation,中文譯為“云原生計算基金會”。成立于2015年12月11日。

          CNCF是Linux基金會旗下的基金會,可以理解為一個非盈利組織。

          當年谷歌內部一直用于編排容器的Borg項目開源了,為了該項目更好的發展,谷歌與Linux基金會一起創辦了CNCF。同時,谷歌把Borg用Go語言重寫,更名為Kubernetes并捐贈到CNCF。

          成立這個組織的初衷:

          1、推動云原生計算可持續發展;

          2、幫助云原生技術開發人員快速地構建出色的產品。

          CNCF托管的項目:

          –kubernetes: 容器編排系統,可以跨主機管理容器化應用;

          –Prometheus:開源的監控系統,專注于時間序列數據,主要用于對k8s和容器進行監控;

          –CoreDNS:k8s中的DNS服務器;

          – containerd:將容器運行時及其管理功能從 Docker Daemon 剝離的鏡像管理和容器執行技術;

          –Fluentd:日志收集組件;

          – Linkerd:為微服務提供可靠性支持、自動化負載均衡、服務發現和運行時可恢復性的開源“服務網格”項目;

          – gRPC:現代化高性能開源遠程調用框架;

          – rkt:幫助開發者打包應用和依賴包,簡化搭環境等部署工作,提高容器安全性和易用性的容器引擎。

          1.1.2 什么是發行版?

          我們經常聽說linux發行版,那什么是linux發行版?

          Linux發行版與Windows或Mac OS(操作系統)一樣,Linux由多種類型組成,稱為分發,每個發行版都很相似,但是不完全一樣。一般情況下,Linux發行版是各種應用程序(軟件)的集合,從而來適應使用目的,除了在服務器上安裝之外,其他還要提前設置,以便可以立即進行實際使用。

          Linux發行版主要有Debian類型、Slackware系列、Red Hat

          1.Debian類型:
          Debian類型是高度發達的,但是Debian門檻比較高,對用戶比較友好的,Debian擁有出色的性能,可用于嵌入式設備等眾多應用。此外,它已經發展成為一種流行的Linux發行版,名為Ubuntu。
          2.Slackware系列:
          Slackware管理方法比其他線路更復雜,對于初學者來說相對困難,這是因為項強調穩定性和安全性的發展政策,并且沒有優先考慮易用性。經過驗證后是否有透露軟件的立場,Slackware著名的發行版包括openSUSE,Plamo Linux和Puppy Linux。
          3.Red Hat:
          目前Red Hat大致分為兩類,第一個是紅帽企業Linux(RHEL),有些服務是要收費的。另一種是名為Fedora(Fedora)的免費發行版。

          4、Centos

          CentOS是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。

          1.1.3 邊緣計算介紹

          邊緣計算也稱為邊緣處理,是一種將服務器放置在本地設備附近的網絡技術,解決數據傳輸的延遲問題。這樣的處理方式是在傳感器附近或者設備產生數據的位置進行的,因此稱之為邊緣。邊緣”特指計算資源在地理分布上更加靠近設備,而遠離云數據中心的資源節點。

          典型的邊緣計算分為物聯網(例如:智慧城市,智能家居,大型商店等)和非物聯網(例如:游戲,CDN 等)場景。

          舉個例子:原來咱們取錢存錢,必須去銀行排隊,那現在我們在住的附近有自動取款機,可以直接取錢,減少了排隊等待時間,還能就近解決,更加安全

          邊緣計算應用場景:

          在城市路面檢測中,在道路兩側路燈上安裝傳感器收集城市路面信息,檢測空氣質量+、光照強度、噪音水平等環境數據,當路燈發生故障時能夠及時反饋至維護人員。

          在智能交通中,邊緣服務器上通過運行智能交通控制系統來實時獲取和分析數據,根據實時路況來控制交通信息燈,以減輕路面車輛擁堵等。

          在無人駕駛中,如果將傳感器數據上傳到云計算中心將會增加實時處理難度,并且受到網絡制約,因此無人駕駛主要依賴車內計算單元來識別交通信號和障礙物,并且規劃路徑

          1.1.4 邊緣計算應用場景

          《福布斯》技術委員會的12位成員研究了一些企業的用例,在這些用例中,都使用了邊緣計算:

          應用一:改進醫療設備性能和數據管理

          在醫療場景下,邊緣計算主要幫助醫療保健體系的IT基礎架構,具體來說,是防止醫療設備管理的應用程序發生延遲。在邊緣計算的支持下,無需構建集中的數據中心,可對關鍵數據進行本地化,在安全性、響應速度和有效性上有更佳表現。

          應用二:本地零售的實時數據分析

          邊緣計算的主要目的,是讓運算盡可能接近數據源。在零售場景中,以往企業都是將各分支的數據匯總到中心位置進行分析,再進行決策和行動。而通過邊緣計算,零售店鋪可以在本地就進行數據處理和優化,這樣組織的行動反饋就能更快更及時。

          應用三:消費者數據隱私
          處理高度敏感的消費者數據的公司發現,由于數據泄漏成本高昂,云計算很危險。因此,許多這類公司正在將邊緣計算用于處理消費者數據,因為它為他們提供了更多的安全和控制選擇。這可能會使企業工作流程復雜化,但它可以帶來好處,特別是在醫療數據公司中。- Sean Byrnes, Outlier
          應用四:物聯網
          物聯網是企業為獲得更好的數據、客戶體驗、現場營銷和更智能的流程而實施的智能的重大轉變。邊緣計算使網絡的運行水平能夠為物聯網提供高性能。接近實時的速度意味著用戶體驗可以非常出色,并且可以為企業帶來更好、更有效的運營。-Frank Cittadino, QOS Networks
          應用五:視頻監控和分析
          視頻監控已經部署在邊緣,以及視頻分析。視頻產生的數據是所有其他來源數據總和的10倍。這是一個很好的例子,說明您需要在數據中心之外開始處理的數據類型,以最大限度地減少通過網絡移動和存儲的數據量。此外,它還允許企業對可操作的數據做出實時決策- Bill Galloway,Pivot3 Inc.

          應用六:工業操作
          工廠車間處理等工業操作需要海量數據的快速響應。這些數據中的大部分被丟棄,但能夠通過檢測邊緣數據中的異常來使工廠操作員能夠及時對工廠車間的問題做出反應。這樣可以間接減少停機從而提高生產率。- Randal Kenworthy,Cognizant
          應用七:智能建筑
          隨著我們的會議室和設施變得越來越智能化,將會有一種把所有東西都放到云端的誘惑??紤]到安全性和穩定性,在站點上托管數據將會有一些好處。我們已經看到了基于云的照明在網絡中斷時可能會令人沮喪的問題,而工作場所的可靠性甚至更重要。 Luke Wallace, Bottle Rocket
          應用八:無人駕駛汽車
          汽車行業已投入數十億資金開發邊緣計算技術。為了安全運行,這些車輛需要收集和分析有關其周圍環境,方向和天氣狀況的大量數據,以及與道路上的其他車輛進行通信。- Arnie Gordon,Arlyn Scales
          應用九:機頂盒
          Edge AI可以在機頂盒設備上運行一個低占用空間的智能引擎,可以實時分析數據,對AI進行編碼,在本地解決問題并向上游服務器提供智能反饋。與基本自動化(邊緣機器人流程自動化機器人)相結合,AI引擎可以自我修復并在本地解決許多問題。- Ankur Garg,Hotify Inc.

          1.2 為什么叫做k3s?

          我們希望安裝的 Kubernetes 在內存占用方面只是原來一半的大小。Kubernetes 是一個 10 個字母的單詞,簡寫為k8s,所以, Kubernetes 一半大的東西就是有 5 個字母的單詞,簡寫為 K3S。K3S沒有全稱,也沒有官方的發音。

          K3s 適用于以下場景:

          1、邊緣計算-Edge

          2、物聯網-IoT

          3、CI:持續集成

          4、Development:開發

          5、ARM

          6、嵌入 K8s

          由于運行 K3s 所需的資源相對較少,所以 K3s 也適用于開發和測試場景。在這些場景中,如果開發或測試人員需要對某些功能進行驗證,或對某些問題進行重現,那么使用 K3s 不僅能夠縮短啟動集群的時間,還能夠減少集群需要消耗的資源。與此同時,Rancher 中國團隊推出了一款針對 K3s 的效率提升工具:AutoK3s。只需要輸入一行命令,即可快速創建 K3s 集群并添加指定數量的 master 節點和 worker 節點。

          問題1:什么是ARM

          ARM64和ARMv7都支持二進制文件和多源鏡像。k3s在小到樹莓派或大到 AWS a1.4xlarge 32GiB服務器的環境中均能出色工作。

          1.3 k3s架構

          1.3.1單節點的k3s架構

          k3s server節點是運行k3s server命令的機器(裸機或者虛擬機),而k3s Agent 節點是運行k3s agent命令的機器。

          單點架構只有一個控制節點(在 K3s 里叫做server node,相當于 K8s 的 master node),而且K3s的數據存儲使用 sqlite 并內置在了控制節點上

          在這種配置中,每個 agent 節點都注冊到同一個 server 節點。K3s 用戶可以通過調用server節點上的K3s API來操作Kubernetes資源。

          1.3.2高可用的K3S架構

          K3S高可用架構

          雖然單節點 k3s 集群可以滿足各種用例,但對于 Kubernetes control-plane 的正常運行至關重要的環境,可以在高可用配置中運行 K3s。一個高可用 K3s 集群由以下幾個部分組成:

          1、K3s Server 節點:兩個或者更多的server節點將為 Kubernetes API 提供服務并運行其他 control-plane 服務

          2、外部數據庫:外部數據存儲(與單節點 k3s 設置中使用的嵌入式 SQLite 數據存儲相反)

          1.3.4 邊緣計算應用案例分析

          背景:

          在進行信息化、智能化改造的過程中,首先第一步,就是要獲取底層系統的全方位的數據。因此需要部署大量的邊緣設備來采集數據、分析數據,通過這些數據進行建模,大量的邊緣設備一般離散的分布在不同機房、廠區、甚至是不同的地理區域。

          需 求:

          運維角度來講:

          1、管理這些邊緣設備,保持邊緣設備上運行的服務的高可用性;

          2、快速的上線、升級;

          3、配置的快速更改與應用

          以上案例來自曾永杰,上海全應科技有限公司運維經理,曾在華為西安研究所云計算部門承擔軟件測試工程師、項目交付、線上運維等工作職責,當前工作主要為CI/CD流程的建設與維護、應用的容器化改革和容器云平臺的運維管理

          2. k3s和k8s如何選擇

          K8s和k3s各有優劣。若是你要進行大型的集群部署,建議你選擇使用K8s;若是你處于邊緣計算等小型部署的場景或僅僅須要部署一些非核心集群進行開發/測試,那么選擇k3s則是性價比更高的選擇。

          云計算場景用k8s

          邊緣計算場景用k3s

          Q:k3s和k8s具體有多大的差別?
          A
          :在實際的應用部署中,幾乎沒有任何差異,至少到目前為止,我所遇到的場景,k8s能滿足的,k3s也能滿足,相信,通過不斷的迭代,k3s在未來會更完善邊緣場景。

          Q:能直接學習k3s嗎?

          A: k3s的所有操作跟k8s無區別,但是學習還是以k8s為主,之后再擴展k3s

          3.安裝k3s

          安裝k3s服務的操作系統要求:

          Linux 的內核版本在3.10以上

          每臺服務器上至少要有512MB的內存空間

          硬盤中可用的存儲空間必須大于500 MB

          配置yum源關掉防火墻關掉selinux修改內核參數關掉swap交換分區 [root@localhost ~]# yum install containerd -y啟動containerd    [root@localhost ~]# systemctl start containerd國內用戶可以用如下方法:安裝速度會更快#執行如下命令安裝:curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -看到如下,說明k3s已經啟動了:

          驗證安裝是否成功

          k3s kubectl get nodes

          顯示如下,說明安裝成功:

          NAME             STATUS   ROLES                  AGE   VERSION192.168.40.180   Ready    control-plane,master   17s   v1.20.6+k3s1    k3s kubectl get pods -n kube-system顯示如下:NAME                                      READY   STATUS      RESTARTS   AGEcoredns-854c77959c-k74k6                  1/1     Running     0             2mlocal-path-provisioner-5ff76fc89d-7q7pk      1/1     Running     0            2mmetrics-server-86cbb8457f-s8pl9             1/1     Running     0            2mhelm-install-traefik-26brw                    0/1     Completed   0            2msvclb-traefik-6flmb                           2/2     Running     0            57straefik-6f9cbd9bd4-95jcb                     1/1     Running     0            57s

          部署完成之后,上面所有的進程都由 k3s 這個 service 來創建管理??梢允褂?systemctl status k3s 查看。

          3.1 在k3s集群添加work節點

          提取join token

          我們想要添加一對worker節點。在這些節點上安裝K3s,我們需要一個join token。Join token存在于master節點的文件系統上。讓我們復制并將它保存在某個地方,稍后我們可以獲取它:

          cat /var/lib/rancher/k3s/server/node-token獲取到一串token:K1048a0844cf602b7c96a4ea98a0a3531298e78262ba19875bd31a92ffc56686f63::server:698e6bc453d5871cbb1a4741387824b0
          把work節點加入k3s:curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.40.180:6443 K3S_TOKEN=K1048a0844cf602b7c96a4ea98a0a3531298e78262ba19875bd31a92ffc56686f63::server:698e6bc453d5871cbb1a4741387824b0  sh -驗證work節點是否加入集群:在192.168.40.180操作:k3s kubectl get nodes顯示如下,說明工作節點成功加入k3s集群:NAME             STATUS   ROLES                  AGE     VERSION192.168.40.181   Ready    <none>                 57s     v1.20.6+k3s1192.168.40.180   Ready    control-plane,master    5m36s   v1.20.6+k3s1

          4.在k3s中部署應用- Guestbook 留言板

          在做下面實驗之前需要先把離線鏡像包上傳到安裝k3s的server和agent節點:

          通過ctr解壓鏡像:

          ctr images import frontend.tar.gzctr images import redis-master.tar.gzctr images import redis-slave.tar.gz
          cat  redis-master-deployment.yaml apiVersion: apps/v1 kind: Deploymentmetadata:  name: redis-master  labels:    app: redisspec:  selector:    matchLabels:      app: redis      role: master      tier: backend  replicas: 1  template:    metadata:      labels:        app: redis        role: master        tier: backend    spec:      containers:      - name: master        image: kubeguide/redis-master        imagePullPolicy: IfNotPresent        ports:        - containerPort: 6379kubectl apply -f redis-master-deployment.yaml
          cat  redis-master-service.yaml apiVersion: v1kind: Servicemetadata:  name: redis-master  labels:    app: redis    role: master    tier: backendspec:  ports:  - port: 6379    targetPort: 6379  selector:    app: redis    role: mastertier: backendkubectl apply -f redis-master-service.yaml
          cat  redis-slave-deployment.yaml apiVersion: apps/v1 kind: Deploymentmetadata:  name: redis-slave  labels:    app: redisspec:  selector:    matchLabels:      app: redis      role: slave      tier: backend  replicas: 1  template:    metadata:      labels:        app: redis        role: slave        tier: backend    spec:      containers:      - name: slave        image: kubeguide/guestbook-redis-slave        env:        - name: GET_HOSTS_FROM          value: dns        ports:        - containerPort: 6379kubectl apply -f redis-slave-deployment.yaml
          cat  redis-slave-service.yaml apiVersion: v1kind: Servicemetadata:  name: redis-slave  labels:    app: redis    role: slave    tier: backendspec:  ports:  - port: 6379  selector:    app: redis    role: slavetier: backendkubectl apply -f redis-slave-service.yaml
          cat frontend-deployment.yaml apiVersion: apps/v1 kind: Deploymentmetadata:  name: frontend  labels:    app: guestbookspec:  selector:    matchLabels:      app: guestbook      tier: frontend  replicas: 1  template:    metadata:      labels:        app: guestbook        tier: frontend    spec:      containers:      - name: php-redis        image: kubeguide/guestbook-php-frontend        env:        - name: GET_HOSTS_FROM          value: dns        ports:        - containerPort: 80kubectl apply -f frontend-deployment.yaml
          cat  frontend-service.yaml apiVersion: v1kind: Servicemetadata:  name: frontend  labels:    app: guestbook    tier: frontendspec:  type: NodePort   ports:  - port: 80    targetPort: 80    nodePort: 30001  selector:    app: guestbooktier: frontendkubectl apply -f frontend-service.yaml

          瀏覽器訪問:

          http://192.168.40.130:30001/

          5.卸載k3s集群

          在server節點執行如下:

          /usr/local/bin/k3s-uninstall.sh
          在agent節點執行如下:/usr/local/bin/k3s-agent-uninstall.sh
          標簽:k3s-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          安徽各城市電話區號是多少?安徽省各城市的區號電話號碼如下:1.0551—合肥;2.0552—蚌埠;3.0553—蕪湖;4.0554—淮南;5.0555—馬鞍山;6.0556—安慶;7.0557—蘇州;8、0558—阜陽、亳州;9.0559—黃山;0,0550—滁州;1.0561—淮北;12.0562—銅陵;13.0563—宣城;14.0564—六安;15,0566—池州。皖k區號對照表?k對應安徽...

          在windows安裝器里,使用bootsect.exe更新引導是什么意思,有什么作用,有必要開啟嗎?如有必要,此更新引導指將新安裝的系統添加到引導菜單。如果您不選擇它,您將無法選擇啟動新安裝的系統...

          iphone 12和iphone x尺寸比較?IPhone 12屏幕尺寸:6.1英寸機身尺寸:146.7x71.5x7.4mm機身總尺寸:174GIPhone x屏幕尺寸:5.8英寸機身總尺寸:143.6x70.9x7.7mm機身總尺寸:162g根據以上尺寸的對比,在IPhone 12和IPhone x兩款機型中,IPhone 12的屏幕尺寸較大,而且機身尺寸會稍大一些,但比iPhoneX要輕,但...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>