Ubuntu 安裝k8s集群

鏡像下載椒功、域名解析心墅、時(shí)間同步請點(diǎn)擊 阿里云開源鏡像站

前言

本文介紹如何在ubuntu上部署k8s集群,大致可以分為如下幾個(gè)步驟

  • 修改ubuntu配置
  • 安裝docker
  • 安裝kubeadm持灰、kubectl以及kubelet
  • 配置master節(jié)點(diǎn)
  • 將slave節(jié)點(diǎn)加入網(wǎng)絡(luò)

因?yàn)閗8s分為管理節(jié)點(diǎn)和工作節(jié)點(diǎn)盔夜,所以我們將要 在master上部署管理節(jié)點(diǎn),在worker上部署工作節(jié)點(diǎn),master和worker節(jié)點(diǎn)信息如下

主機(jī)名:master喂链,主機(jī)IP:192.168.56.11返十,版本:Ubuntu server 18.04,CPU:2核椭微,內(nèi)存:1G
主機(jī)名:worker洞坑,主機(jī)IP:192.168.56.21,版本:Ubuntu server 18.04蝇率,CPU:2核迟杂,內(nèi)存:1G

file

一.修改 ubuntu 配置

首先,k8s 要求我們的 ubuntu 進(jìn)行一些符合它要求的配置本慕。很簡單排拷,包括以下兩步:關(guān)閉 Swap 內(nèi)存 以及 配置免密登錄,這一步兩臺(tái)主機(jī)都需要進(jìn)行配置

關(guān)閉 swap 內(nèi)存

執(zhí)行如下命令關(guān)閉swap內(nèi)存

swapoff -a

配置免密登錄

更新中

二.安裝docker

docker 是 k8s 的基礎(chǔ)锅尘,在安裝完成之后也需要修改一些配置來適配 k8s 监氢,所以我們分為 docker 的安裝 與 docker 的配置 兩部分。這一步兩臺(tái)主機(jī)都需要進(jìn)行安裝

docker 的安裝

docker的安裝再簡單不過藤违,執(zhí)行下面命令進(jìn)行安裝

sudo apt install docker.io

等安裝完成之后使用docker --version來驗(yàn)證 docker是否可用

docker --version

docker 的配置

kubernetes默認(rèn)設(shè)置cgroup驅(qū)動(dòng)(cgroupdriver)為"systemd"浪腐,而docker服務(wù)的cgroup驅(qū)動(dòng)默認(rèn)為"cgroupfs",建議將其修改為"systemd"纺弊,與kubernetes保持一致牛欢,可以通過修改docker的/etc/docker/daemon.js文件進(jìn)行設(shè)置骡男,如下結(jié)果

file

然后通過systemctl restart docker命令重啟docker讓配置生效

三.安裝kubeadm淆游、kubectl以及kubelet

安裝完了 docker 就可以下載 k8s 的三個(gè)主要組件kubelet、kubeadm以及kubectl隔盛。這一步兩臺(tái)主機(jī)都需要進(jìn)行安裝犹菱。先來簡單介紹一下這三者

  • kubelet: k8s 的核心服務(wù)
  • kubeadm: 這個(gè)是用于快速安裝 k8s 的一個(gè)集成工具,我們在master1和worker1上的 k8s 部署都將使用它來完成吮炕。
  • kubectl: k8s 的命令行工具腊脱,部署完成之后后續(xù)的操作都要用它來執(zhí)行

其實(shí)這三個(gè)的下載很簡單,直接用apt-get就好了龙亲,但是因?yàn)槟承┰蛏掳迹鼈兊南螺d地址不存在了。所以我們需要用國內(nèi)的鏡像站來下載鳄炉,也很簡單杜耙,依次執(zhí)行下面五條命令即可

1.使得 apt 支持 ssl 傳輸

apt-get update && apt-get install -y apt-transport-https

2.下載 gpg 密鑰

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

3.添加 k8s 鏡像源

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

4.更新源列表

apt-get update

5.安裝 kubectl,kubeadm以及 kubelet

apt-get install -y kubelet kubeadm kubectl

直接在/etc/apt/sources.list里添加https://mirrors.aliyun.com/kubernetes/apt/ 是不行的拂盯,因?yàn)檫@個(gè)阿里鏡像站使用的ssl進(jìn)行傳輸?shù)挠优砸劝惭bapt-transport-https并下載鏡像站的密鑰才可以進(jìn)行下載

6.運(yùn)行systemctl start命令啟動(dòng)kubelet服務(wù),并設(shè)置為開機(jī)自動(dòng)啟動(dòng)

root@master01:/app# systemctl start kubelet
root@master01:/app# systemctl enable kubelet

四. 配置master 節(jié)點(diǎn)

1.系統(tǒng)配置預(yù)檢查

在安裝之前需要注意,kubeadm init 命令在執(zhí)行具體的安裝過程之前,會(huì)做一系列的系統(tǒng)預(yù)檢查团驱,以確保主機(jī)環(huán)境符合安裝要求摸吠,如果檢查失敗,就直接終止嚎花,不在進(jìn)行init操作寸痢。因此我們可以通過kubeadm init phase preflight命令執(zhí)行預(yù)檢查操作,確保系統(tǒng)就緒后再進(jìn)行init操作紊选,如果檢查結(jié)果提示我的CPU和內(nèi)存小于最低要求轿腺。

file

2.準(zhǔn)備鏡像

為了加快kubeadm創(chuàng)建集群的過程,可以預(yù)先將所有鏡像下載完成丛楚∽蹇牵可以通過kubeadm config images list命令查看所需要的鏡像列表

root@master01:/app# kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.23.5
k8s.gcr.io/kube-controller-manager:v1.23.5
k8s.gcr.io/kube-scheduler:v1.23.5
k8s.gcr.io/kube-proxy:v1.23.5
k8s.gcr.io/pause:3.6
k8s.gcr.io/etcd:3.5.1-0
k8s.gcr.io/coredns/coredns:v1.8.6

因?yàn)槌跏蓟痬aster節(jié)點(diǎn)時(shí),執(zhí)行命令 kubeadm init 要下載k8s.gcr.io的docker鏡像趣些,但是國內(nèi)連不上k8s.gcr.io仿荆,因此我們可以從阿里云先下載kubeadm需要的鏡像,執(zhí)行如下下載命令

root@master01:/app# kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers

下載完成后坏平,通過docker images就可以在本地查看到如下鏡像

file

然后通過docker tag重命名上面的鏡像拢操,結(jié)果如下

root@master01:/app# docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.5 k8s.gcr.io/kube-apiserver:v1.23.5
file

3.配置master節(jié)點(diǎn)

準(zhǔn)備工作完成后,就可以運(yùn)行kubeadm init 命令配置master節(jié)點(diǎn)了

root@master01:/app# kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=192.168.0.0/16

配置項(xiàng)說明:

--apiserver-advertise-address k8s 中服務(wù)apiserver的部署地址舶替,如果不填寫令境,默認(rèn)是本機(jī)

--image-repository 拉取的 docker 鏡像源,因?yàn)槌跏蓟臅r(shí)候kubeadm會(huì)去拉 k8s 的很多組件來進(jìn)行部署顾瞪,所以需要指定國內(nèi)鏡像源舔庶,下不然會(huì)拉取不到鏡像

--pod-network-cidr k8s 采用的節(jié)點(diǎn)網(wǎng)絡(luò),因?yàn)槲覀儗⒁褂胒lannel作為 k8s 的網(wǎng)絡(luò)陈醒,所以這里填192.168.0.0/16就好

--kubernetes-version: 這個(gè)是用來指定你要部署的 k8s 版本的惕橙,一般不用填,不過如果初始化過程中出現(xiàn)了因?yàn)榘姹静粚?dǎo)致的安裝錯(cuò)誤的話钉跷,可以用這個(gè)參數(shù)手動(dòng)指定

安裝成功后弥鹦,可看到如下的提示信息

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.130.239:6443 --token 6k1i68.aml4dfgyfqwcezkp \
    --discovery-token-ca-cert-hash sha256:85eedec31c61177648373d4c7a8a547aa0e0a0816fe91601a99352c84d9545f0

4.配置 kubectl 工具

由于kubeadm默認(rèn)使用CA證書,所以需要為kubectl配置證書才能訪問master.

安裝安裝成功的提示爷辙,非root用戶可以將admin.conf配置文件復(fù)制到HOME目錄的.kube子目錄下彬坏,命令如下:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

如果是root用戶,也可以通過設(shè)置環(huán)境變量KUBECONFIG完成kubectl的配置

export KUBECONFIG=/etc/kubernetes/admin.conf

設(shè)置完成后膝晾,可以使用kubectl命令行工具對kubernetes集群進(jìn)行訪問和操作了

# 查看已加入的節(jié)點(diǎn)
kubectl get nodes
# 查看集群狀態(tài)
kubectl get cs

原文鏈接:https://blog.csdn.net/kity9420/article/details/123674582

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末栓始,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子玷犹,更是在濱河造成了極大的恐慌混滔,老刑警劉巖洒疚,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坯屿,居然都是意外死亡油湖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門领跛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乏德,“玉大人,你說我怎么就攤上這事吠昭『袄ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵矢棚,是天一觀的道長郑什。 經(jīng)常有香客問我,道長蒲肋,這世上最難降的妖魔是什么蘑拯? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮兜粘,結(jié)果婚禮上申窘,老公的妹妹穿的比我還像新娘。我一直安慰自己孔轴,他們只是感情好剃法,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著路鹰,像睡著了一般贷洲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悍引,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天恩脂,我揣著相機(jī)與錄音帽氓,去河邊找鬼趣斤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛黎休,可吹牛的內(nèi)容都是我干的浓领。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼势腮,長吁一口氣:“原來是場噩夢啊……” “哼联贩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捎拯,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤泪幌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祸泪,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吗浩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了没隘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懂扼。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖右蒲,靈堂內(nèi)的尸體忽然破棺而出阀湿,到底是詐尸還是另有隱情,我是刑警寧澤瑰妄,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布陷嘴,位于F島的核電站,受9級特大地震影響间坐,放射性物質(zhì)發(fā)生泄漏罩旋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一眶诈、第九天 我趴在偏房一處隱蔽的房頂上張望涨醋。 院中可真熱鬧,春花似錦逝撬、人聲如沸浴骂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溯警。三九已至,卻和暖如春狡相,著一層夾襖步出監(jiān)牢的瞬間梯轻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工尽棕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喳挑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓滔悉,卻偏偏與公主長得像伊诵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子回官,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容