109
人物
K8S學習筆記
1.常用命令
服務啟動
[root@k8s-master ~]# systemctl start etcd
[root@k8s-master ~]# systemctl start docker
[root@k8s-master ~]# systemctl start kube-apiserver.service
[root@k8s-master ~]# systemctl start kube-apiserver.service
[root@k8s-master ~]# systemctl start kube-controller-manager.service
[root@k8s-master ~]# systemctl start kube-scheduler.service
[root@k8s-master ~]# systemctl start kubelet.service
[root@k8s-master ~]# systemctl start kube-proxy.service
[root@k8s-master ~]# kubectl expose deployment nginx-app --type=NodePort --port=80 --target-port=80
service "nginx-app" exposed
[root@k8s-master ~]# kubectl describe service nginx-app
Name: nginx-app
Namespace: default
Labels: run=nginx-app
Selector: run=nginx-app
Type: NodePort
IP: 10.254.73.139
Port: <unset> 80/TCP
NodePort: <unset> 30048/TCP
Endpoints: 172.17.0.2:80
Session Affinity: None
No events.
滾動升級
[root@k8s-master ~]# kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2
k8s概念
kubernetes集群
etcd
:分布式存儲;保存了整個集群的狀態;
controller
:控製節點; 控製節點負責整個集群的管理,例如:容器調度、資源狀態維護、自動擴展、滾動更新等;
node
:服務節點;服務節點是真正運行容器的主機;負責管理鏡像和容器以及cluster內的服務發現和負載均衡;
k8s架構原理
核心層:Kubernetes最核心的功能,對外提供API構建高層應用,對內提供插件式應用執行環境;
應用層:部署(無狀態應用、有狀態應用、批處理任務、集群應用)和路由(服務發現、DNS解析)
管理層:係統度量()
pod概念
K8S SLB限製
- 接入已有的負載均衡的設備;
- 多租戶的網絡情況下,容器網絡和主機網絡是隔離的,這種情況下Kube-proxy是無法工作的;
核心組件
- etcd:用於服務發現、共享配置以及一致性保障;
- API server: 核心組件,提供集群管理的REST API接口,
- Kubelet: 每個節點上運行一個Kubelet服務進程,默認監聽10250端口,接收並執行master發來的指令,管理Pod及Pod中的容器; ### 容器健康檢查
- LivenessProbe探針:判斷容器是否健康,如若檢查到不健康則執行刪除操作;
- ReadinessProbe探針:判斷容器是否啟動完成且準備接受請求;如果探測失敗則修改容器狀態;
- LivenessProbe探針檢測方式:
ExecAction#在容器內執行一個命令,如果退出狀態碼為0,則容器健康; TCPSocketActioon#通過容器的IP地址和端口號執行TCP檢查; HTTPGetAction#通過HTTP GET方法檢查,如果狀態碼大於200且小於400,則容器健康;
最後更新:2017-10-23 10:33:43