k8s關鍵知識點彙總(一)

k8s是什麼:Docker分佈式系統解決方案

單機版k8s環境搭建:centos7

systemctl disabled firewalld

systemctl stop firewalld

安裝etcd(高可用鍵值數據庫)和k8s

yum update #多次嘗試,確認網絡連接

yum install -y etcd kubernetes

啓動服務(進程)

systemctl start etcd

systemctl start docker #容器創建管理

systemctl start kube-apiserver #所有資源增、刪、改、查等操作入口

systemctl start kube-controller-manager #自動化控制中心

systemctl start kube-scheduler #pod調度

systemctl start kubelet #node節點進程,負責pod對應容器創建、起停

sustemctl start kube-proxy #service通信及負載均衡機制組件

常用操作命令

kubectl get nodes #查看集羣中node個數

kubectl descripe node <node_name> #查看詳細信息

kubectl create -f *.yaml #創建yaml對應資源文件(即kind對象)

kubectl get 對象名稱 #查看對象信息

kubectl get svc service_name -o yaml #查看service ClusterIP

kubectl get pods --namespace=namespace_name #查看命名空間的中的對象

基本概念

k8s中所有資源對象都可以使用yaml或JSON文件定義或描述

通常一個節點運行幾百個pod

master 集羣控制節點 佔用一個服務器,高可用佔3個服務器

node node工作節點 可以是物理機或虛擬機,node IP物理網卡的IP地址

pod kind:pod,包含一個pause容器和其他業務容器(共享pause的網絡棧和volume掛載卷),具有單獨的ip地址及Endpoint(Pod IP+ContainerPort pod之間彼此通信,流量通過TCP/IP node IP流出)

Label 一個資源對象(node、pod、service、rc)可以任意多label,一個label可以任意多資源對象

Replication Controller(RC) 描述期望pod的副本數,根據標籤篩選目標pod,實際副本小於預期則根據模版創建pod

Deployment RC的升級,可以隨時查看當前部署進度

Horizontal Pod Autoscaler(HPA) 橫向擴容,可以使用yaml定義之外的方式定義

StatefulSet 用於管理有狀態的集羣,例如MySql集羣,每個pod都有穩定唯一的網絡標示及規範名稱

Service 具有虛擬IP(Cluster IP)不可ping屬於k8s集羣內部地址,yaml可定義多端口,可使用type=NodePort實現外部訪問Service(例如web端的服務模塊),但有負載均衡問題,若運行在谷歌GCE公有云(type=LoardBalancer)則可以解決

Volume 存儲卷 Pod中能被多容器訪問的共享目錄

Persistent Volume 網絡存儲

Namespace 命名空間 實現多租戶資源隔離,一旦創建就可以指定資源對象(×.yaml)在那個Namespace

Annotation 註解

本文轉自CSDN-k8s關鍵知識點彙總(一)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章