原创 在k8s+jenkins+github+dockerhub環境中用pipeline部署應用

用k8s+jenkins+github+dockerhub部署應用:jenkins有兩種方式實現CI/CD1、自由風格,通過shell代碼實現2、pipeline流水線,通過jenkins代碼或者jenkinsfile文件實現Pipelin

原创 在k8s中安裝jenkins並實現動態生成 jenkins slave

安裝jenkins1、創建一個命名空間$ kubectl create namespace kube-ops2、爲jenkins創建pvc(也可以使用存儲類創建) apiVersion: v1 kind: PersistentVolume

原创 k8s中的pod控制器之Deployment、DaemonSet、StatefulSet

pod控制器分類:1、ReplicationController2、ReplicaSet3、Deployment4、StatefulSet5、DaemonSet6、Job,Cronjob7、HPApod控制器:一般包括3部分1、標籤選擇器2

原创 用heapster實現HPA

Horizontal Pod Autoscaling(Pod水平自動伸縮),簡稱HPA。HAP通過監控分析RC或者Deployment控制的所有Pod的負載變化情況來確定是否需要調整Pod的副本數量,這是HPA最基本的原理。HPA在kube

原创 k8s集羣中的rbac權限管理

啓用RBAC,需要在 apiserver 中添加參數--authorization-mode=RBAC,如果使用的kubeadm安裝的集羣,1.6 版本以上的都默認開啓了RBAC查看是否開啓:$ cat /etc/kubernetes/ma

原创 使用prometheus監控traefik、redis、k8s集羣各節點、各節點kubelet

1、Prometheus的數據指標是通過一個公開的 HTTP(S) 數據接口獲取到的,我們不需要單獨安裝監控的 agent,只需要暴露一個 metrics 接口,Prometheus 就會定期去拉取數據;對於一些普通的 HTTP 服務,我們

原创 用prometheus監控容器、apiserver以及自動發現並監控服務

使用內置的cAdvisor監控容器cAdvisor已經內置在了 kubelet 組件之中,所以我們不需要單獨去安裝,cAdvisor的數據路徑爲/api/v1/nodes/<node>/proxy/metrics1、增加job,更新prom

原创 在k8s集羣中安裝prometheus

在早期的版本中 Kubernetes 提供了 heapster、influxDB、grafana 的組合來監控系統,現在更加流行的監控工具是 prometheus,prometheus 是 Google 內部監控報警系統的開源版本 Kube

原创 配置Grafana用於prometheus

安裝Grafana$ docker pull grafana/grafana:5.3.41、準備pvc apiVersion: v1 kind: PersistentVolume metadata: name: grafana spec

原创 k8s集羣中的EFK日誌蒐集系統

Kubernetes 集羣本身不提供日誌收集的解決方案,一般來說有主要的3種方案來做日誌收集:1、在每個節點上運行一個 agent 來收集日誌由於這種 agent 必須在每個節點上運行,所以直接使用 DaemonSet 控制器運行該應用程序

原创 使用nfs在k8s集羣中實現持久化存儲

準備NFS服務192.168.1.244$ yum -y install nfs-utils rpcbind$ systemctl start nfs-server rpcbind$ systemctl enable nfs-server

原创 k8s集羣中的ingress----基於nginx實現

基於nginx創建ingress1、創建基於nginx的ingress控制器pod及svc$ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ing

原创 k8s集羣中的存儲持久化概述

存儲分類:直連式存儲,集中式共享存儲,分佈式存儲文件存儲,塊存儲,對象存儲DAS,NAS,SANDAS屬於直連式存儲,將存儲設備通過SCSI接口或者光纖通道直接和主板連接,不能實現數據共享NAS和SAN屬於集中式共享存儲NAS使用NFS和C

原创 k8s集羣中的ingress---基於traefik

爲了對外發布pod內的應用,k8s支持兩種負載均衡機制1、一種是service,用於實現四層TCP負載均衡service主要實現集羣內部通信,以及基於四層的內外通信(如端口)2、另一種是ingress,用戶實現七層HTTP負載均衡ingre

原创 k8s集羣中的service

k8s集羣內部服務發現的方式有兩種:1、通過變量發現只能獲取相同namespace裏的變量變量的獲取有先後順序,引用的變量必須要先創建2、通過DNS的方式發現在kube-system裏有dns,可以自動發現所有命名空間裏的服務的cluste