這篇文章將為大家詳細講解有關如何進行Kubernetes()minikube的安裝,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新新互聯(lián),憑借十余年的成都網(wǎng)站設計、做網(wǎng)站經(jīng)驗,本著真心·誠心服務的企業(yè)理念服務于成都中小企業(yè)設計網(wǎng)站有成百上千家案例。做網(wǎng)站建設,選創(chuàng)新互聯(lián)。
Kubernetes是一個開源的Docker容器編排系統(tǒng),Kubernetes簡稱K8S。 調(diào)度計算集群的節(jié)點,動態(tài)管理上面的作業(yè) 通過使用[labels]和[pods]的概念,將應用按邏輯單元進行分組 K8S用于容器應用程序的部署,擴展和管理 K8S提供了容器編排,資源調(diào)度,彈性伸縮,部署管理,服務發(fā)現(xiàn)等一系列功能 Kubernetes目標是讓部署容器化應運簡單高效 官方網(wǎng)站:http://www.kubernetes.io
自我修復:
在節(jié)點故障時重新啟動失敗的容器,替換和重新部署,保證預測的副本數(shù)量;殺死健康檢查失敗的容器,并且在未準備好之前不會處理客戶端請求,確保線上服務不中斷。
彈性伸縮:
使用命令、UI或者基于CPU使用情況自動快速擴容和縮容應用程序實例,保證應用業(yè)務高峰并發(fā)時的高可用性;業(yè)務低峰時回收資源,以最小成本運行服務
自動部署和回滾:
K8S采用滾動更新應用,一次更新一個Pod,而不是同時刪除所有Pod,如果更新過程中出現(xiàn)問題,將回滾更改,確保升級不受影響業(yè)務
服務發(fā)現(xiàn)和負載均衡:
K8S為多個容器提供一個統(tǒng)一的訪問入口(內(nèi)部IP地址和UI個DNS地址),并且負載均衡關聯(lián)的所有容器,使得用戶無需考慮容器IP問題
機密和配置管理:
管理機密數(shù)據(jù)和應用程序配置。而不需要把敏感數(shù)據(jù)暴露在鏡像里,提高敏感數(shù)據(jù)安全性。并且可以將一些常用的配置存儲在K8S中,方便應用程序使用
存儲編排:
掛載外部存儲系統(tǒng),無論是來自本地存儲,公有云(如AWS),還是網(wǎng)絡存儲(NFS、GlusterFS)都作為集群資源的一部分使用,極大提高存儲使用靈活性
批處理:
提供一次性任務,定時任務;滿足批量數(shù)據(jù)處理和分析的場景。
kube-apiserver:
Kubernetes API,集群的統(tǒng)一入口,各組件協(xié)調(diào)者,以RESTful API提供接口服務,所有對象資源的增刪改查和監(jiān)聽操作都交給APIServer處理后再提交給Etcd存儲。
kube-controller-manager:
處理集群中常規(guī)后臺任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的
kube-scheduler:
根據(jù)調(diào)度算法為新創(chuàng)建的Pod選擇一個Node節(jié)點,可以任意部署,可以部署在同一個節(jié)點上,也可以部署在不同的節(jié)點上
etcd:
分布式鍵值存儲系統(tǒng),用于保存集群狀態(tài)數(shù)據(jù),比如Pod、Server等對象信息。
kubelet:
kubelet是MAster在Node節(jié)點上的Agent,管理本機運行容器的生命周期,比如創(chuàng)建容器,Pod掛載數(shù)據(jù)卷、下載secret、獲取容器和節(jié)點狀態(tài)等工作。kubelet將Pod轉換成一組容器。
kube-proxy:
在Noed節(jié)點上實現(xiàn)Pod網(wǎng)絡代理,維護網(wǎng)絡規(guī)劃和四層復=負載均衡工作
docker或rocket:
容器引擎,運行容器
Pod:
最小部署單元
一組容器的集合
一個Pod中的容器共享網(wǎng)絡命名空間
Pod是短暫的
Controllers:
ReplicaSet:確保 預期的Pod副本數(shù)量
Deployment :無狀態(tài)應用部署
StatefulSet: 有狀態(tài)應用部署
DaemonSet :確保所有Node運行同一個Pod
Job:一次性任務
Cronjob: 定時任務
更高級層次對象,部署和管理Pod
Service:
防止Pod失聯(lián)
定義一組Pod的訪問策略
Label: 標簽,附加到某個資源上,用于關聯(lián)對象。查詢和篩選
Namespaces: 命名空間, 將對象邏輯上隔離
Annotations: 注釋
minikube是一個工具,可以在本地快速運行一個單點的kubernetes,僅用于嘗試k8s或日常開發(fā)的用戶使用
master 192.168.13.131 安裝etcd kubernetes flannelnode 192.168.13.132 安裝flannel kubernetes
[root@promote ~]# yum install etcd kubernetes flannel -y ##安裝組件[root@promote ~]# vim /etc/etcd/etcd.conf ##配置etcd配置文件 3 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ##數(shù)據(jù)目錄 6 ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ##監(jiān)聽任意網(wǎng)絡和端口 9 ETCD_NAME="default" ##默認名稱 21 ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379" ##群集訪問地址段落
[root@promote ~]# vim /etc/kubernetes/apiserver ##配置apiserver配置文件 8 KUBE_API_ADDRESS="--address=0.0.0.0" ##修改api地址 11 KUBE_API_PORT="--port=8080" ##api監(jiān)聽端口號 14 KUBELET_PORT="--kubelet-port=10250" ##kubelet端口號 17 KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379" ##etcd服務地址 20 KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" ##服務地址池 23 KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExis ts,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota" ##控制器模式 26 KUBE_API_ARGS="" ##api參數(shù)
[root@promote ~]# vim /etc/sysconfig/flanneld FLANNEL_ETCD_ENDPOINTS="http://192.168.13.131:2379" ##修改etcd地址為本機的地址 FLANNEL_ETCD_PREFIX="/atomic.io/network" ##網(wǎng)絡指定文件
[root@promote ~]# for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES; systemctl enable $SERVICES ; systemctl status $SERVICES; done##啟動 etcd kube-apiserver kube-controller-manager kube-scheduler四個服務,設置開機自啟并查看狀態(tài)
[root@promote ~]# etcdctl -C //192.168.13.131:2379 set /atomic.io/network/config '{"Network":"10.1.0.0/16"}'[root@promote ~]# systemctl stop firewalld.service ##關閉防火墻[root@promote ~]# setenforce 0
[root@promote ~]# yum install flannel kubernetes -y[root@promote ~]# vim /etc/kubernetes/config 13 KUBE_LOGTOSTDERR="--logtostderr=true" ##錯誤日志 16 KUBE_LOG_LEVEL="--v=0" ##級別 19 KUBE_ALLOW_PRIV="--allow-privileged=false" ##權限 22 KUBE_MASTER="--master=http://192.168.13.131:8080" ##指定master地址 23 KUBE_ETCD_SERVERS="--etcd_server=http://192.168.13.131:2379" ##指定etcd地址
[root@promote ~]# vim /etc/kubernetes/kubeletKUBELET_ADDRESS="--address=0.0.0.0" ##所有地址KUBELET_PORT="--port=10250" ##端口號KUBELET_HOSTNAME="--hostname-override=192.168.13.132" ##本地主機地址KUBELET_API_SERVER="--api-servers=http://192.168.13.131:8080" ##apiserver地址KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"##pod容器KUBELET_ARGS="" ##參數(shù)
[root@promote ~]# vim /etc/sysconfig/flanneld FLANNEL_ETCD_ENDPOINTS="http://192.168.13.131:2379" ##指定etcd服務地址
[root@promote ~]# systemctl stop firewalld.service ##關閉防火墻[root@promote ~]# setenforce 0[root@promote ~]# for SERVICES in flanneld kube-proxy kubelet docker; do systemctl restart $SERVICES; systemctl enable $SERVICES; systemctl status $SERVICES; done##開啟flanneld kube-proxy kubelet docker服務
[root@promote ~]# kubectl get nodesNAME STATUS AGE192.168.13.132 Ready 1m
關于如何進行Kubernetes()minikube的安裝就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當前文章:如何進行Kubernetes()minikube的安裝
本文來源:http://jinyejixie.com/article26/ggegjg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站建設、品牌網(wǎng)站建設、網(wǎng)站設計公司、Google、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)