k8s 在Centos上 安裝


k8s安裝步驟:

1、所有機器上執行以下命令,准備安裝環境:(注意是所有機器,主機master,從機node都要安裝)

 1.1、安裝epel-release源(EPEL (Extra Packages for Enterprise Linux)是基於Fedora的一個項目,為“紅帽系”的操作系統提供額外的軟件包,適用於RHEL、CentOS和Scientific Linux.)

yum -y install epel-release

 1.2、所有機器關閉防火牆

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#查看防火牆狀態

firewall-cmd --state

2、現在開始master主機上192.168.126.130 安裝kubernetes Master

  2.1、使用yum安裝etcd、kubernetes-master

yum -y install etcd kubernetes-master

  2.2、編輯:vi /etc/etcd/etcd.conf文件,修改結果如下:

#etcd名稱
ETCD_NAME=default
#etcd數據存儲位置
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#監聽的端口
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
#集群監聽的端口
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

 2.3、配置:vi /etc/kubernetes/apiserver文件,配置結果如下:

#監聽的接口,如果配置為127.0.0.1則只監聽localhost,配置為0.0.0.0會監聽所有接口,這里配置為0.0.0.0
KUBE_API_ADDRESS="--address=0.0.0.0"

#apiserver的監聽端口,默認8080
KUBE_API_PORT="--port=8080"

#minion上kubelet監聽的端口,默認10250
KUBELET_PORT="--kubelet-port=10250"

#etcd服務地址,前面已經啟動了etcd服務,端口為2379
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"

#kubernetes可以分配的ip的范圍,kubernetes啟動的每一個pod以及serveice都會分配一個ip地址,將從這個范圍分配
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

#需要額外添加的配置項,簡單地啟用一個集群無需配置
KUBE_API_ARGS=""

2.4、啟動etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服務,並設置開機啟動。

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

 2.5、在etcd中定義flannel網絡

etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

以上master主機上的配置安裝什么的都弄完了

3、接下來弄node從機上的配置安裝什么的

3.1、在node機上192.168.126.128 安裝kubernetes Node和flannel組件應用

yum -y install flannel kubernetes-node

3.2、為flannel網絡指定etcd服務,修改/etc/sysconfig/flanneld文件,配置結果如下圖:

#etcd的訪問地址及端口
FLANNEL_ETCD_ENDPOINTS="http://192.168.126.130:2379"
#服務范圍
FLANNEL_ETCD_PREFIX="/kube-centos/network"
#其他
FLANNEL_OPTIONS=""

 3.3、修改:vi /etc/kubernetes/config文件,配置結果如下圖:

#表示錯誤日志記錄到文件還是輸出到stderr
KUBE_LOGTOSTDERR="--logtostderr=true"

#日志等級
KUBE_LOG_LEVEL="--v=0"

#允許運行特權容器
KUBE_ALLOW_PRIV="--allow-privileged=false"

#apiserver的服務地址,controller-manager、scheduler及kubelet都會用到這個配置,這里配置為192.168.126.130
KUBE_MASTER="--master=http://192.168.126.130:8080"

 3.4、修改node機的kubelet配置文件/etc/kubernetes/kubelet

#minion監聽的地址,每個minion根據實際的ip配置,這里配置為0.0.0.0
KUBELET_ADDRESS="--address=0.0.0.0"
#監聽的端口
KUBELET_PORT="--port=10250"
#apiserver的訪問地址及端口
KUBELET_API_SERVER="--api-servers=http://192.168.126.130:8080"
#額外增加的參數
KUBELET_ARGS="--logtostderr=false --v=0 --log-dir=/data/logs/kubernetes"

3.5、node節點機上啟動kube-proxy,kubelet,docker,flanneld等服務,並設置開機啟動。

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

以上所有master主機,node節點機上的配置就完成了,接下來看看k8s集群是否搭建起來了

在master主機上192.168.126.130 執行如下命令,查看運行的node節點機器:

kubectl get nodes

 成功啦,結果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM