使用指令碼部署kubernetes叢集
docker部署
系統需求
// ubuntu 14.04 docker版本1.10.1
// 解除安裝已有環境
apt-get purge docker-engine
安裝docker
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://p80.pool.sks- keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D // 開啟 /etc/apt/sources.list.d/docker.list 若無,則建立 // 寫入:deb https://apt.dockerproject.org/repo ubuntu-trusty main sudo apt-get update sudo apt-get purge lxc-docker apt-cache policy docker-engine sudo apt-get update sudo apt-get install linux-image-extra-$(uname -r) sudo apt-get update sudo apt-get install docker-engine=1.10.1-0~trusty sudo service docker start // install docker-engine 速度慢可用使用deb安裝 // 映象地址 http://mirrors.aliyun.com/docker-engine/apt/repo/pool/main/d/docker-engine/docker-engine_1.10.1-0~trusty_amd64.deb // sudo dpkg -i docker-engine_1.10.1-0~trusty_amd64.deb
參考地址
kubernetes部署
系統需求
- docker version 1.2 以上以及 bridge-utils(預設ubuntu都有)
- 所有節點機器網路互通
- ubuntu 14.04
- 多節點需要進行配置ssh連線不需要密碼[1]
準備工作
- github下載二進位制包 kubernetes.tar.gz 並解壓 (本實驗選擇1.3.5版本)
- 其中 kubernetes/platforms/linux/amd64/kubectl 是與 apiserver 互動的 client 程式
- 解壓 kubernetes/server/kubernetes-server-linux-amd64.tar.gz
- 在解壓到的 kubernetes 資料夾中找到 kubernetes-src.tar.gz 檔案
- 解壓 kubernetes-src.tar.gz 得到原始碼
- 以下類似 kubernetes/cluster/… 路徑中的 kubernetes 資料夾均指kubernetes-src.tar.gz 解壓出的資料夾
部署步驟
- 根據部署環境 修改kubernetes/cluster/ubuntu/config-default.sh 裡的配置[2]
執行修改好的config-default.sh
./config-default.sh
設定版本環境變數
export KUBE_VERSION=1.3.5 // kubernetes的版本 export FLANNEL_VERSION=0.5.5 // flannel的版本 export ETCD_VERSION=2.2.1 // etcd的版本
為了安裝進度,將 etcd.tar.gz flannel.tar.gz kubernetes.tar.gz(提前下載好,改好名字) 拷貝到kubernetes/cluster/ubuntu下,並且修改該目錄的download-release.sh,註釋掉以下語句
# curl https://github.com/coreos/flannel/releases/download/v${FLANNEL_VERSION}/flannel-${FLANNEL_VERSION}-linux-amd64.tar.gz -o flannel.tar.gz # curl -L https://github.com/coreos/etcd/releases/download/v${ETCD_VERSION}/${ETCD}.tar.gz -o etcd.tar.gz # curl -L https://github.com/kubernetes/kubernetes/releases/download/v${KUBE_VERSION}/kubernetes.tar.gz -o kubernetes.tar.gz
啟動安裝指令碼
// 在 kubernetes/cluster/ 目錄下執行 KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
DNS配置
// 在 kubernetes/cluster/ubuntu 目錄下執行 KUBERNETES_PROVIDER=ubuntu ./deployAddons.sh
參考地址
重啟kubernetes
首先到kubernetes/cluster/,命執行
KUBERNETES_PROVIDER=ubuntu ./kube-down.sh
ssh到其他節點
cd /opt/bin rm -rf * service flanneld stop service kube stop service kubelet stop service kube-proxy stop cd /etc/default/ rm flanneld rm kubelet rm kube-proxy exit // 退出
進入 /kubernetes/cluster/ 執行
KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
附錄
[1] 配置ssh無密碼登入
實驗中 TargetUser 使用者為 root 使用者
ssh-keygen -t dsa
ssh-add ~/.ssh/id_dsa
scp /root/.ssh/id-dsa.pub <TargetUser>@<TargetIP>:~
ssh <TargetUser>@<TargetIP>
cat id_dsa.pub >> ~/.ssh/authorized_keys
chmod +x ~/.ssh/authorized_keys
[2] 配置k8s的export詳解
// 代表所要部署的節點,使用ssh連線的使用者名稱@節點地址
export nodes=${nodes:-"[email protected] [email protected]"}
// 代表各節點的屬性,‘ai’表示既是主機也是節點,‘a’表示是主機,‘i'表示時節點
roles=${roles:-"ai i"} export roles_array=($roles)
// 代表節點個數
export NUM_NODES=${NUM_NODES:-2}
// 代表kubernetes服務IP範圍,可根據RFC1918使用以下三個私有網路範圍進行定義,不要與自己專用的私有網路衝突
export SERVICE_CLUSTER_IP_RANGE=${SERVICE_CLUSTER_IP_RANGE:-192.168.3.0/24}
三個私有網路範圍:
- 10.0.0.0 - 10.255.255.255 (10/8 prefix)
- 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
- 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
gcr.io host IP
kubernetes預設會去gcr.io/google_containers/pause下載映象,pod建立停留在ContainerCreating階段,修改hosts檔案解決(每個k8s Node都需要修改)
64.233.162.82 gcr.io
64.233.162.82 https://gcr.io/
相關推薦
使用指令碼部署kubernetes叢集
docker部署 系統需求 // ubuntu 14.04 docker版本1.10.1 // 解除安裝已有環境 apt-get purge docker-engine 安裝docker sudo apt-get update sudo a
使用kubeadm部署kubernetes叢集
一、安裝環境準備 1、安裝環境: centos7.5,一個master節點,兩個node節點 CentOS Linux release 7.5.1804 (Core) 2、設定/etc/hosts檔案的IP和主機名對映 10.20.0.14 k8smaster 10.
[Kubernetes]CentOS7部署Kubernetes叢集
環境介紹及安裝前準備 三臺機器,用於部署k8s的執行環境: 節點 ip Master 192.168.243.138
Kubernetes(k8s)中文文件 Mesos部署Kubernetes叢集_Kubernetes中文社群
譯者:王樂 關於在Mesos上執行Kubernetes Mesos允許Kubernetes和其他Mesos構架,例如:Hadoop,Spark和Chronos來動態分享叢集資源。 Mesos確保同一叢集上的執行的不同架構上的應用之間相互隔離,和較公平資源的分配。 Mesos叢集幾乎可以部署在任何Ia
Kubernetes(k8s)中文文件 CentOS部署Kubernetes叢集_Kubernetes中文社群
譯者:張以法 前提條件 你需要2臺或以上安裝有CentOS的機器 啟動一個叢集 本文是針對CentOS系統的Kubernetes入門教程。通過手動配置,你將會理解所有底層的包、服務、埠等。 本文只會讓一個節點工作。多節點需要在Kubernetes之外配置一個可用的的網路環境,儘管這個額外的配置條件是
Kubernetes(k8s)中文文件 CloudStack部署Kubernetes叢集_Kubernetes中文社群
簡介 CloudStack是一個用於構建基於硬體虛擬化的公有云和私有云(傳統IaaS)的軟體。在CloudStack 上部署 Kubernetes 有好幾種方法,需要根據 CloudStack 所使用的哪種雲和有哪些可用映象來決定。 例如 Exoscale 就提供了一個 coreOS 的可用模版,因
Kubernetes(k8s)中文文件 CoreOS部署Kubernetes叢集_Kubernetes中文社群
在Coreos執行Kubernetes有多個指南: CoreOS官方指南 這些指南由CoreOs維護,“CoreOS Way”提供了TLS協議,DNS add-on等部署Kubernetes的指南。指南都通過了Kubernetes的一致性測試,當然,也鼓勵自己測試自己的部署。 Vagrant Mul
Kubernetes(k8s)中文文件 Ferdora部署Kubernetes叢集_Kubernetes中文社群
前提條件 1. 你需要2臺或以上安裝有Fedora的機器 說明 本文是針對Fedora系統的Kubernetes入門教程。通過手動配置,你將會理解所有底層的包、服務、埠等。 本文只會讓一個節點(之前稱從節點)工作。多節點需要在Kubernetes之外配置一個可用的網路環境,儘管這個額外的配置條件是顯
Kubernetes(k8s)中文文件 vSphere部署Kubernetes叢集_Kubernetes中文社群
譯者:tiger 下面的示例使用了4個虛擬工作節點和1個虛擬主機(即叢集中一共有5臺虛擬機器)來建立一個Kubernetes叢集。叢集是通過你的工作站(或任何你覺得方便的地方)來安裝和控制的。 前提條件 需要有一臺ESXi機器或vCenter例項的管理員許可權。 需要先安裝Go(1.2或以上版本)
如何在 Azure 上部署 Kubernetes 叢集_Kubernetes中文社群
本文是一篇技術教程,由 Mike Chaliy 撰寫。他是一位 .NET 平臺使用者,嘗試在 Azure 上部署 Kubernetes 叢集,並將步驟寫成了這篇帖子。文章描寫了部署叢集過程,還對 Kubernetes 的一些功能進行了簡要描述。 以下是文章主要內容: 在實驗、演示的時候,或者是
使用kubeadm一鍵部署kubernetes叢集
此連結中有kubeadm v1.10.3安裝 用了flannel網路 我使用calico網路https://blog.csdn.net/nklinsirui/article/details/80602724github地址https://github.com/cookcode
K8s 二、(1、kubeadm部署Kubernetes叢集)
準備工作 滿足安裝 Docker 專案所需的要求,比如 64 位的 Linux 作業系統、3.10 及以上的核心版本; x86 或者 ARM 架構均可; 機器之間網路互通,這是將來容器之間網路互通的前提; 有外網訪問許可權,因為需要拉取映象; 能夠訪問到gcr.io、
【雲星資料---Nik(精品版)】:通過ansible playbook實現自動化部署 KUBERNETES 叢集
環境要求 實驗環境通過MBP下的virtualbox和vagrant來提供3臺虛擬機器(centos 7)進行部署,其中1臺配置為k8s master其他2臺配置為k8s nodes。可以根據實際環境擴充套件k8s noded的數量。 假設虛擬機器I
Kubeadm 安裝部署 Kubernetes 叢集
閱讀目錄: 準備工作 部署 Master 管理節點 部署 Minion 工作節點 部署 Hello World 應用 安裝 Dashboard 外掛 安裝 Heapster 外掛 後記 關於 Kubernetes 的相關概念內容,上面這篇文章已經整理的很詳細了,這邊就不再進行敘述了。 這篇文章主要記錄的
使用Kubeadm在CentOS7.2上部署Kubernetes叢集
本文參考kubernetes官網文章Installing Kubernetes on Linux with kubeadm在CentOS7.2使用Kubeadm部署Kuebernetes叢集,解決了一些在按照該文件部署時遇到的問題。 作業系統版本
部署 Kubernetes 叢集日誌外掛 Fluentd、Elasticsearch、Kibana
目錄 Kubernetes 日誌架構介紹 環境、軟體準備 啟動 Fluentd 啟動 Elasticsearch 啟動 Kibana 瀏覽器新增證書 RBAC 認證模式介紹 1、Kubernetes 日誌架構介紹 對於任何基礎架構或者服務系
Centos7 虛機部署Kubernetes叢集
在三臺OpenStack虛機環境下搭建Kubernetes + Flannel。環境準備:1.1 伺服器:IPHostNameRole172.28.43.13k8s-masterMaster,etcd, registry172.28.43.16k8s-node1Node-11
在 Azure 上部署 Kubernetes 叢集
在實驗、演示的時候,或者是生產過程中,我經常會需要執行一些 Docker 負載。雖然這在本地計算機上十分容
Shell指令碼實現----Kubernetes單叢集二進位制部署
Shell指令碼實現----Kubernetes單叢集二進位制部署 搭建Kubernetes叢集環境有以下三種方式: 1. Minikube安裝方式Minikube是一個工具,可以在本地快速執行一個單點的Kubernetes,
使用kubeadm快速部署Kubernetes(v1.12.1)叢集---來源:馬哥教育馬哥原創
使用kubeadm快速部署Kubernetes(v1.12.1)叢集------來源:馬哥教育馬哥原創 Kubernetes技術已經成為了原生雲技術的事實標準,它是目前基礎軟體領域最為熱門的分散式排程和管理平臺。於是,Kubernetes也幾乎成了時下開發工程師和運維工程師必備的技能之一。 一、主機環境預