1. 程式人生 > >深入玩轉K8S之使用kubeadm安裝Kubernetes v1.10以及常見問題解答

深入玩轉K8S之使用kubeadm安裝Kubernetes v1.10以及常見問題解答

關於K8S:

Kubernetes是Google開源的容器叢集管理系統。它構建於docker技術之上,為容器化的應用提供資源排程、部署執行、服務發現、擴 容縮容等整一套功能,本質上可看作是基於容器技術的mini-PaaS平臺。

相信看過我部落格的童鞋應該知道,我在14年的時候就發表了一篇名為Docker容器管理之Kubernetes當時國內Docker剛剛興起,對於Docker的興起我很有感觸,彷彿一瞬間就火了,當時也是一個偶然的機會了解到K8S,所以當時就寫文簡單的介紹了下K8S以及如何採用原始碼部署。今時不同往日K8S在容器界已經是翹首,再讀舊文有感而發,索性來研究下kubeadm安裝K8S以及Dashboard功能預覽。

環境描述:

採用CentOS7.4 minimual,docker 1.13,kubeadm 1.10.0,etcd 3.0, k8s 1.10.0

我們這裡選用三個節點搭建一個實驗環境。

10.0.100.202 k8smaster

10.0.100.203 k8snode1

10.0.100.204 k8snode2

準備環境:

1.配置好各節點hosts檔案

2.關閉各節點系統防火牆

3.關閉各節點SElinux

4.關閉各節點swap

5.配置各節點系統核心引數使流過網橋的流量也進入iptables/netfilter框架中,在/etc/sysctl.conf中新增以下配置:

12345net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1sysctl -p

使用kubeadm安裝:

1.首先配置各節點阿里K8S YUM源

123456789101112131415cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0EOFyum -y install epel-releaseyum clean all
yum makecache

2.在各節點安裝kubeadm和相關工具包

1yum -y install docker kubelet kubeadm kubectl kubernetes-cni

3.啟動Docker與kubelet服務

123systemctl enable docker && systemctl start dockersystemctl enable kubelet && systemctl start kubelet

提示:此時kubelet的服務執行狀態是異常的,因為缺少主配置檔案kubelet.conf。但可以暫不處理,因為在完成Master節點的初始化後才會生成這個配置檔案。

4.下載K8S相關映象(Master節點操作)

因為無法直接訪問gcr.io下載映象,所以需要配置一個國內的容器映象加速器

配置一個阿里雲的加速器:

在頁面中找到並點選映象加速按鈕,即可看到屬於自己的專屬加速連結,選擇Centos版本後即可看到配置方法。

提示:在阿里雲上使用 Docker 並配置阿里雲映象加速器,可能會遇到 daemon.json 導致 docker daemon 無法啟動的問題,可以通過以下方法解決。

1234567891011你需要的是編輯 vim /etc/sysconfig/docker 然後 OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=http://xxxx.mirror.aliyuncs.com' registry-mirror 輸入你的映象地址 最後 service docker restart 重啟 daemon 然後 ps aux | grep docker 然後你就會發現帶有映象的啟動引數了。

5.下載K8S相關映象

OK,解決完加速器的問題之後,開始下載k8s相關映象,下載後將映象名改為k8s.gcr.io/開頭的名字,以便kubeadm識別使用。

123456789#!/bin/bashimages=(kube-proxy-amd64:v1.10.0 kube-scheduler-amd64:v1.10.0 kube-controller-manager-amd64:v1.10.0 kube-apiserver-amd64:v1.10.0etcd-amd64:3.1.12 pause-amd64:3.1 kubernetes-dashboard-amd64:v1.8.3 k8s-dns-sidecar-amd64:1.14.8 k8s-dns-kube-dns-amd64:1.14.8k8s-dns-dnsmasq-nanny-amd64:1.14.8)for imageName in ${images[@]} ; dodocker pull keveon/$imageNamedocker tag keveon/$imageName k8s.gcr.io/$imageNamedocker rmi keveon/$imageNamedone

上面的shell指令碼主要做了3件事,下載各種需要用到的容器映象、重新打標記為符合k8s命令規範的版本名稱、清除舊的容器映象。

提示:映象版本一定要和kubeadm安裝的版本一致,否則會出現time out問題。

6.初始化安裝K8S Master

執行上述shell指令碼,等待下載完成後,執行kubeadm init

1234567891011121314151617181920212223242526272829303132333435363738394041424344

相關推薦

深入K8S使用kubeadm安裝Kubernetes v1.10以及常見問題解答

關於K8S:Kubernetes是Google開源的容器叢集管理系統。它構建於docker技術之上,為容器化的應用提供資源排程、部署執行、服務發現、擴 容縮容等整一套功能,本質上可看作是基於容器技術的mini-PaaS平臺。相信看過我部落格的童鞋應該知道,我在14年的時候就發

使用kubeadm安裝Kubernetes v1.10以及常見問題解答_Kubernetes中文社群

關於K8S: Kubernetes是Google開源的容器叢集管理系統。它構建於docker技術之上,為容器化的應用提供資源排程、部署執行、服務發現、擴 容縮容等整一套功能,本質上可看作是基於容器技術的mini-PaaS平臺。 相信看過我部落格的童鞋應該知道,我在14年的時候就發表了一篇名為D

深入K8S利用Label控制Pod位置

white fff size 利用 怎麽 oss 文件 cto yml 首先介紹下什麽是Label?Label是Kubernetes系列中一個核心概念。是一組綁定到K8s資源對象上的key/value對。同一個對象的labels屬性的key必須唯一。label可以附加到各種

深入K8S業務彈性伸縮和滾動更新操作(一)

nginx 副本 mil 容器 history 博客 limit 新的 ima 在實際應用場景中避免不了因為業務的壓力而增加容器數量以及業務應用版本叠代更新,那麽本篇文章我們來學習下簡單的業務彈性伸縮、滾動更新操作,滾動操作的好處在於零停機更新,也就是說每次更新一小部分副本

深入K8S如何訪問業務應用(Traefik-ingress篇)

個人 control http訪問 space desire ash 一個 dep read 上篇懶得寫了索性轉載了一篇nginx-ingress的,本篇我們來看神器Traefik,我個人是比較看好和偏向與Traefik的,它輕便易用而且還有節目。 先介紹下什麽是Traef

深入K8S如何訪問業務應用(Traefik-ingress配置https篇)

如何 cin lse eve max-width 簡單介紹 client spec control 上篇我們簡單介紹了下traefik以及如何http訪問, 但是在實際生產環境中不僅僅只是http的轉發訪問,還有https的轉發訪問, 前面一篇:traefik基礎部署記錄,

使用kubeadm安裝Kubernetes v1.10 centos 7.4

2、安裝請選擇最小核安裝即可(minimal)。3、使用 root 使用者登入虛擬機器,進入到 /etc/sysconfig/network-scripts/ 目錄下,檢視虛擬機器的網絡卡設定,使用 vi 開啟 ifcfg- 開頭的檔案( - 後邊為網絡卡名稱) ,開啟之後,

centos7使用kubeadm安裝kubernetes 1.12版本

最近在學習go 模板語法  還是有點小忙 !   感覺寫這種 kuberadm 搭建 kubernetes  還是有點水  好吧 可能我太高調了  前前後後搭過四 五次了  ! kuber

kubeadm安裝kubernetes v1.11.3 HA多主高可用並啟用ipvs

har 3.1 oba smt lec template prior yaml 應用 環境介紹: 系統版本:CentOS 7.5 內核:4.18.7-1.el7.elrepo.x86_64 Kubernetes: v1.11.3 Docker-ce: 18.06 Kee

基於Kubeadm搭建Kubernetes v1.10.0全記錄

本文主要目的在於記錄個人在配置K8S叢集的步驟,以及遇到的問題和相應的解決方案,內容從叢集搭建到Kubernetes-Dashboard安裝,角色許可權配置為止。先簡單介紹下環境,4個節點的情況如下:節點名IPOS安裝軟體Master10.211.55.6Centos7kub

k8s Kubernetes v1.10 單節點 kubeadm 快速安裝

ger label ID info manage Kubernete labels pod 容器管理 k8s Kubernetes v1.10 單節點 kubeadm 快速安裝 # Master 單節點快速安裝 # 傻瓜式安裝,只為快速部署測試環境 #測試環境centos

Kubernetes(K8s) 安裝(使用kubeadm安裝Kubernetes叢集)

概述:         這篇文章是為了介紹使用kubeadm安裝Kubernetes叢集(可以用於生產級別)。使用了Centos 7系統。 PS:      篇幅有點長,但是比較詳細、比較全面 一、Centos7 配置說明 1.1 

webajax(一)---使用表單的serialize()方法中文亂碼解決

ack track 獲取 enc uri clas serialize post class 有時候我們須要使用ajax提交去提交form的值,這樣就須要使用serialize()去獲取form的值。但這樣獲取的值假設有中文

Kubeadm安裝Kubernetes集群環境

ice pre eat tin cnblogs client master logs clas 先設置主機名 hostnamectl set-hostname k8s-1 修改/etc/hosts文件 cat /etc/hosts 127.0.0.1 loca

[經驗交流] kubeadm 安裝 kubernetes 一年過期的解決辦法

target 版本 默認 signature http style clas 有效 cipher 轉載註明原作者地址:http://www.cnblogs.com/hahp kubeadm 是 kubernetes 提供的一個初始化集群的工具,使用起來非常方便。但是它創建的

使用kubeadm安裝kubernetes

art conf CP 方法 default join googl led 集群 安裝kubenetes的方法有多種,本文將介紹如何用kubeadm安裝kubernetes。 一 node準備 1 /etc/hosts文件 192.168.235.133 kube01 1

centos7使用kubeadm安裝kubernetes 1.11版本多主高可用

ips refresh www ember issues abi dash iyu let centos7使用kubeadm安裝kubernetes 1.11版本多主高可用 [TOC] kubernetes介紹要學習一個新的東西,先了解它是什麽,熟悉基本概念會有很大幫助。以

k8s Kubernetes v1.10 最簡易安裝 shell

was blog mage flann Kubernete 概念 sel centos kubecon k8s Kubernetes v1.10 最簡易安裝 shell # Master 單節點快速安裝 # 最簡單的安裝shell,只為快速部署k8s測試環境 # 測試環境

LINUXsed命令詳解

用戶 常見 mail 括號 {} int 緩沖 復雜 commands Linux sed命令是利用script來處理文本文件。 sed可依照script的指令,來處理、編輯文本文件。 Sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等。 執行時,s

Ubuntu18.04 國內環境使用kubeadm安裝kubernetes+docker(單機版)

新增源,新增key,安裝docker.io, kubelet, kubernetes-cni=0.6.0-00,和 kubeadm 先到/etc/apt/sources.list.d/資料夾中手動建立檔案kubernetes.list,在該檔案中新增(使用中科大的源,否則要翻牆,或者速