1. 程式人生 > >部署 Kubernetes+Heapster+InfluxDB+Grafana 詳解

部署 Kubernetes+Heapster+InfluxDB+Grafana 詳解

1. 部署 Kubernetes

一 、安裝步驟

準備工作

關閉防火牆

為了避免和Docker的iptables產生衝突,我們需要關閉node上的防火牆:

1
2
$ systemctl stop firewalld
$ systemctl disable firewalld

安裝NTP

為了讓各個伺服器的時間保持一致,還需要為所有的伺服器安裝NTP:

1
2
$ yum -y install ntp
$ systemctl start ntpd
$ systemctl enable ntpd

部署Master

安裝etcd和kubernetes

1
$ yum -y install etcd kubernetes

配置etcd

修改etcd的配置檔案/etc/etcd/etcd.conf

1
2
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

配置etcd中的網路

定義etcd中的網路配置,nodeN中的flannel service會拉取此配置

1
$ etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'

配置Kubernetes API server

1
2
3
4
5
API_ADDRESS="--address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet_port=10250"
KUBE_ETCD_SERVERS="--etcd_servers=http://10.0.222.2:2379"
KUBE_SERVICE_ADDRESSES="--portal_net=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,
NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""

這裡需要注意原來KUBE_ADMISSION_CONTROL預設包含的ServiceAccount要刪掉,不然啟動API server的時候會報錯。

啟動服務

接下來,在Master上啟動下面的服務:

1
2
3
$for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do 
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES 
done

部署Node

安裝Kubernetes和Flannel

1
$ yum -y install flannel kubernetes

配置Flannel

修改Flannel的配置檔案/etc/sysconfig/flanneld:

1
2
FLANNEL_ETCD="http://10.0.222.2:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"
FLANNEL_OPTIONS="--iface=ens3"

這裡需要注意FLANNEL_OPTIONS中的iface的值是你自己伺服器的網絡卡,不同的伺服器以及配置下和我的是不一樣的。

啟動Flannel

1
2
$systemctl restart flanneld
$systemctl enable flanneld
$systemctl status flanneld

上傳網路配置

在當前目錄下建立一個config.json,內容如下:

1
2
3
4

{
"Network": "172.17.0.0/16",
"SubnetLen": 24,
"Backend": {
     "Type": "vxlan",
     "VNI": 7890
     }
 }

然後將配置上傳到etcd伺服器上:

1
$ curl -L http://10.0.222.2:2379/v2/keys/coreos.com/network/config -XPUT --data-urlencode [email protected]

修改Kubernetes配置

修改kubernetes預設的配置檔案/etc/kubernetes/config:

1
KUBE_MASTER="--master=http://10.0.222.2:8080"

修改kubelet配置

修改kubelet服務的配置檔案/etc/kubernetes/kubelet:

1
2
3
4
5
6
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
# change the hostname to minion IP address
KUBELET_HOSTNAME="--hostname_override=node1"
KUBELET_API_SERVER="--api_servers=http://10.0.222.2:8080"
KUBELET_ARGS=""

不同node節點只需要更改KUBELET_HOSTNAME 為node的hostname即可。

啟動node服務

1
2
3
$ for SERVICES in kube-proxy kubelet docker; do 
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES 
done

建立快照,其他節點用快照安裝(修改相應的hostname以及KUBELET_HOSTNAME即可)

檢視叢集nodes

部署完成之後,可以kubectl命令來檢視整個叢集的狀態:

1      kubectl -s "http://10.0.222.2:8080" get nodes 2. 部署 InfluxDB

1.部署influxdb

wget https://dl.influxdata.com/influxdb/releases/influxdb-0.10.3-1.x86_64.rpm
rpm -ivh influxdb-0.10.3-1.x86_64.rpm 也可以配置yum源,下載最新版本
12345678910111213141516171819202122232425[root@influxdb~]# cat<<EOF|sudo tee/etc/yum.repos.d/influxdb.repo[influxdb]name=InfluxDB Repository-RHEL\$releaseverbaseurl=https://repos.influxdata.com/rhel/\$releasever/\$basearch/stableenabled=1gpgcheck=1

相關推薦

部署 Kubernetes+Heapster+InfluxDB+Grafana

1. 部署 Kubernetes 一 、安裝步驟 準備工作 關閉防火牆 為了避免和Docker的iptables產生衝突,我們需要關閉node上的防火牆: 1 2 $ systemctl stop firewall

kubernetes 監控方案之:heapster+influxdb+grafana(十八)

目錄 一、Heapster 介紹 二、部署 三、使用 heapster已經deprecated了:https://github.com/kubernetes/heapster 一、Heapster 介紹 Heapster 是容器叢集監控和效能分析工具,天然的支援 Kubernetes

Kubernetes K8S之通過helm部署metrics-server與HPA

  Kubernetes K8S之通過helm部署metrics-server與 Horizontal Pod Autoscaling (HPA)詳解   主機配置規劃 伺服器名稱(hostname)系統版本配置內網IP外網IP(模擬) k8s-master CentOS7.

Ansible安裝部署及常用模塊

就會 新用戶 特殊 packages add chdir epel change ima Ansible命令使用 Ansible語法使用ansible <pattern_goes_here> -m <module_name> -a <argum

建立Heapster Influxdb Grafana集群性能監控平臺

color targe variable alt select external nmb comment space 依賴於kubenets dns服務地址:https://note.youdao.com/web/#/file/WEB42cf75c02ae113136ff6

Influxdb原理

本文屬於《 InfluxDB系列教程》文章系列,該系列共包括以下 18 部分: InfluxDB系列學習教程目錄 InfluxDB學習之InfluxDB的安裝和簡介 InfluxDB學習之InfluxDB的基本概念 InfluxDB學習之InfluxDB的基本操作

虛擬機器,伺服器中原來是這麼部署的(Tomcat篇

在別的系統中例如redhat,centos系統中就可以直接放到指定位置直接解壓安裝了。 因為在烏班圖的系統中由於只能註冊普通的使用者,不能註冊root使用者。 所以需要先把apache-tomcat-7.0.67.tar.gz的安裝包拷貝到普通使用者的許可權中去。 我們可以使用W

kubernetes資源創建【持續完善中】

edi arr 顯示 replicat _id describe load 主機名 create 目錄 資源創建詳解 一:Pod及常用參數 1.簡介 2.模板 3.刪除pod 4.設置Pod主機名 5.鏡像拉取策略(ImagePullPolicy) 二:RC 1.簡介

通過describe命令學習Kubernetes的pod屬性

我們可以首先使用kubectl get pods命令得到pod列表,比如我們想研究pod nginx-storage-pod的明細: 使用命令kubectl describe pod nginx-storage-pod > nginx-storage-pod.yaml,

WebStorm + BootStrap 安裝 用 Tomcat 部署Web專案(圖文 + 例項 )

                                 WebStorm安裝和破解 1.官網下載 2.安裝

Eclipse 安裝+ 用 Tomcat 部署Web專案(圖文 + 例項 )

                                          Ecl

Docker Kubernetes 服務發現原理

轉換 size 提供服務 通信 環境變量 path soft family 0.10 Docker Kubernetes 服務發現原理詳解 服務發現支持Service環境變量和DNS兩種模式: 一、環境變量 (默認) 當一個Pod運行到Node,kubelet會為每個容器

Symantec NetBackup 部署需要調整Linux核心

ipcs 和 ipcrm 命令 ipcs -a  是預設的輸出資訊 打印出當前系統中所有的程序間通訊方式的資訊 ipcs -m  打印出使用共享記憶體進行程序間通訊的資訊 ipcs -q   打印出使用訊息佇列進行程序間通訊的資訊 ipcs -

負載均衡部署方式《CDN技術

1. 負載均衡部署方式 負載均衡裝置在具體實現中分直連和旁掛兩種部署方式。此外,為了提高網路可用性,負載均衡裝置的雙機熱備部署也是十分必要的。 常用負載均衡部署方式 (1)直連部署方式 直連部署方式比較簡單,就是將負載均衡裝置直接部署在報文必經之路上,作為伺服器

Spring boot實現熱部署的兩種方式

熱部署是什麼大家都知道在專案開發過程中,常常會改動頁面資料或者修改資料結構,為了顯示改動效果,往往需要重啟應用檢視改變效果,其實就是重新編譯生成了新的 Class 檔案,這個檔案裡記錄著和程式碼等對應的各種資訊,然後 Class 檔案將被虛擬機器的 ClassLoader 載入。而熱部署正是利用了這個特點,它

Kubernetes Service配置資訊

Service是kubernetes最核心的概念,通過建立Service,可以為一組具有相同功能的容器應用提供一個統一的入口地址,並且將請求進行負載分發到後端的各個容器應用上。 Service服務是一個虛擬概念,邏輯上代理後端pod。眾所周知,pod生命週期短

influxdb安裝&&

InfluxDB使用 一、安裝要求: 需要Linux的root許可權進行安裝。 由於會預設使用到8083和8086兩個埠,所以要保證這兩個埠沒有被佔用。 Once installation is complete you can chan

【DataGuard】部署Data Guard相關引數

有關物理Data Guard部署參考《【DataGuard】同一臺主機實現物理Data Guard配置安裝》(http://space.itpub.net/519536/viewspace-578181),本文對部署Data Guard過程中主備庫使用到的引數進行比較描述。1.DB_NAME,資料庫名字,需

阿里雲伺服器centos部署web環境的步驟

主要任務 使用ssh工具,在阿里雲伺服器配置jdk,tomcat,mysql,並部署專案。 所需工具 SSH Secure Shell 、jdk1.7(linux版)、tomcat7(linux版)、mysql5.5(linux版) 文中有連結

部署storm和配置檔案

#########安裝storm######## storm_install.sh sudo ansible -i ansible_hosts elk -m copy -a "src=/letv/apache-storm-1.1.0.tar.gz dest=/l