【kubeadm】用kubeadm安裝k8s集群

一、實驗環(huán)境

操作系統(tǒng): CentOS7.2 Minimal

k8s-master(serverA): 192.168.1.102

k8s-node01(serverB): ? ? 192.168.1.101

kubeadm的安裝方式:

kube-apiserver ? kube-controller-manager ?kube-scheduler ? etcd 在master節(jié)點以pod形式運行 ,kubeadm kubectl ?kubelet docker 在主節(jié)點上用rpm包安裝,kubelet docker 用systemd控制。

kube-proxy 在node節(jié)點以容器形式運行,kubeadm kubelet docker 在主節(jié)點上用rpm包安裝,kubelet docker 用systemd控制。

flannel?在master和node節(jié)點都以pod形式運行。

實驗基于一個前提條件是,k8s-master和k8s-node01兩臺主機,通過代理實現(xiàn)Linux主機的全局代理,也就是說能直接從谷歌官網(wǎng)拉取集群所需的鏡像。

如果你的實驗環(huán)境不滿足,那么可以先設(shè)置代理,或者通過別人的鏡像站點將所需鏡像打包到本地,重新打上標簽加載使用!

二、配置域名解析

在serverA和serverB

?# cat /etc/hosts

三、倉庫配置

在serverA和serverB

安裝docker,我們使用docker官方倉庫

#??yum ?-y ?install yum-utils

# yum ?-y install epel-release

# ?yum-config-manager ?--add-repohttps://download.docker.com/linux/centos/docker-ce.repo

# cat /etc/yum.repos.d/docker-ce.repo

安裝kubeadm kubelet kubectl,我們使用阿里云倉庫

# vim /etc/yum.repos.d/kubenetes.repo

###################################################################

[kubenetes]

name=Kubenetes Repo

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

gpgcheck=0

enabled=1

####################################################################

# yum repolist

四、軟件安裝

在serverA

# yum ?-y install docker-ce kubeadm kubelet kubectl

在serverB

# yum ?-y install docker-ce kubeadm kubelet?


五、設(shè)置docker代理

實驗的前提是我們設(shè)置了全局代理,也就是給docker設(shè)置代理后,能直接從谷歌官網(wǎng)拉取集群所需的鏡像。

在serverA和serverB

# vim ?/usr/lib/systemd/system/docker.service

Environment="HTTPS_PROXY=http://127.0.0.1:8118"

Environment="NO_PROXY=127.0.0.0/8,127.20.0.0/16,192.168.1.0/24"

# systemctl daemon-reload

# systemctl start docker

# systemctl enable docker

# systemctl enable kubelet

#?echo 1 >/proc/sys/net/bridge/bridge-nf-call-iptables

#?vim /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

六、集群初始化

在serverA

# export no_proxy=192.168.1.102

#?kubeadm ?--help

#?kubeadm init ?--help

#? kubeadm init --kubernetes-version=v1.11.2 ?\

? --apiserver-advertise-address=192.168.1.102\

? --pod-network-cidr=10.244.0.0/16\

?--service-cidr=10.96.0.0/12 \

? --ignore-preflight-errors=Swap

#?mkdir -p $HOME/.kube

# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

# chown $(id -u):$(id -g) $HOME/.kube/config

# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# systemctl status kubelet

七、node節(jié)點加入集群

在serverB

# export no_proxy=192.168.1.102

#?kubeadm ?--help

#?kubeadm join ?--help

#?kubeadm join 192.168.1.102:6443 ?\

--token xmacxe.xemyz987biqchbp6 ?\

?--discovery-token-ca-cert-hash sha256:166b854a63b6a29f6267e6ca3de4ccc73b095a9aba1ac21ef4ebfe4fa163a762 ?\

--ignore-preflight-errors=Swap

# systemctl status kubelet

# docker images

八、檢查集群狀態(tài)

在serverA

# docker images

# kubectl get nodes -o wide

# kubectl get pod -n kube-system -o wide

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容