日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VituralBox从零搭建基于CentOS 7(64位)的Kubernetes+docker集群

發(fā)布時間:2025/3/11 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VituralBox从零搭建基于CentOS 7(64位)的Kubernetes+docker集群 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

VituralBox從零搭建基于CentOS 7(64位)的Kubernetes+docker集群

  • 1. 下載CentOS 7官方minimal鏡像
  • 2. 安裝VituralBox(Windows 10 64位)
  • 3. 安裝Git for windows(Windows 10 64位)
  • 4. 安裝VituralBox虛擬機(jī)并創(chuàng)建CentOS 7 Master主機(jī)
  • 5. 設(shè)置CentOS 7的網(wǎng)絡(luò)環(huán)境和ssh連接(開放22端口)
  • 6. 構(gòu)建CentOS虛擬機(jī)局域網(wǎng)
  • 7. Master主節(jié)點配置kubernetes+docker
  • 8. Node子節(jié)點配置kubernetes+docker
  • 附錄

? ??


?

1. 下載CentOS 7官方minimal鏡像

  • 安裝迅雷軟件
  • 使用迅雷訪問官方地址,下載鏡像:http://mirrors.huaweicloud.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

?

2. 安裝VituralBox(Windows 10 64位)

  • 官方下載地址:https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe

?

3. 安裝Git for windows(Windows 10 64位)

? ? ? ?官方下載地址:https://git-scm.com/download/win

? ? ? ?下載完成后,直接安裝,下一步下一步就好了,主要是用于接上虛擬機(jī)輸入命令,復(fù)制粘貼命令和文本非常方便,安裝完成后,點擊Git Bash可以看到以下界面:

? ? ? ??


?

4.安裝VituralBox虛擬機(jī)并創(chuàng)建CentOS 7 Master主機(jī)

? ? ? VituralBox是“下一步,下一步”的“傻瓜式安裝”,這里注意下,安裝位置不要選擇C盤,因為會占用硬盤大量的空間,導(dǎo)致系統(tǒng)非常卡頓!

? ? ? ?安裝完成后,在CMD界面輸入“ifconfig”,查看虛擬網(wǎng)卡是否存在,存在就是裝好了:

? ? ???

? ? ??打開VirtualBox主界面,如下圖所示,點擊新建:

? ? ???

? ? ?新建虛擬機(jī),?切記保存位置不能選擇C盤!,名字為“CentOS7-Master”,點擊“下一步”

? ? ??

? ? 內(nèi)存至少分配3.5GB,下一步,創(chuàng)建虛擬硬盤

? ? ??

? ? 創(chuàng)建虛擬硬盤->VDI->動態(tài)分配->硬盤大小至少分配20G以上,創(chuàng)建

? ? ??? ???? ? ??? ? ? ? ? ????

? ? ?這時我們看到已經(jīng)創(chuàng)建成功了,點擊“啟動”,載入下載好的CentOS7 minimal鏡像ISO文件

? ???

? ? ? 點擊設(shè)置->顯示→顯示控制器更改為“VBoxVGA”(這一步是為了防止,啟動后無法顯示鼠標(biāo),就無法安裝CentOS7 了)

? ? ???

? ? ? 設(shè)置完成后,選擇“Install CentOS 7”,這里我們選擇“英語”(美國),下一步,點擊“安裝位置”,選擇分配的硬盤空間,下一步,設(shè)置用戶名和密碼,安裝完成,點擊重啟

? ? ?????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?? ?????

?


5. 設(shè)置CentOS 7的網(wǎng)絡(luò)環(huán)境和ssh連接(開放22端口)

? ? ?輸入用戶名root,root密碼,進(jìn)入CentOS 7,這時我們輸入“ping www.baidu.com”發(fā)現(xiàn)網(wǎng)卡無法訪問外網(wǎng),這時,輸入命令

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

? ? # 找到 ONBOOT,把 no 改成 yes ,保存退出

??????

重啟虛擬機(jī)后,執(zhí)行命令,yum環(huán)境可以使用了

sudo yum install net-tools

?

sudo vi /etc/ssh/sshd_config

? # 把 Port 22 前面的#注釋去掉

?

firewall-cmd --permanent --zone=public --add-port=22/tcp # 輸入命令,把22端口添加到防火墻外

?

關(guān)閉虛擬機(jī),右鍵點擊設(shè)置->網(wǎng)絡(luò),進(jìn)行如下配置,主機(jī)ip填寫windows下虛擬機(jī)網(wǎng)卡的ip,子ip填寫CentOS里面enp0s3網(wǎng)卡的ip地址,端口填寫22

?? ? ??

啟動虛擬機(jī),打開Git? Bash輸入命令,發(fā)現(xiàn)可以連接進(jìn)去虛擬機(jī):

ssh root@192.168.56.1 # ssh root@虛擬網(wǎng)卡ip地址

?


6.構(gòu)建CentOS虛擬機(jī)局域網(wǎng)

點擊管理->主機(jī)網(wǎng)絡(luò)管理器,新建2個和前面的虛擬網(wǎng)卡統(tǒng)一網(wǎng)段的ip網(wǎng)卡

?

把之前配置好的虛擬機(jī),右鍵選擇“克隆”

?

克隆完成后,我們發(fā)現(xiàn)多出來了兩個新的虛擬機(jī)

???

? 點擊“管理”->"全局設(shè)定"->"網(wǎng)絡(luò)"->新建一個網(wǎng)段為“10.0.3.0/24”的網(wǎng)段,配置如下圖

?

好了,這里我們需要分別設(shè)置3個虛擬機(jī)的網(wǎng)絡(luò),打開主機(jī) Master的設(shè)置-網(wǎng)絡(luò),網(wǎng)卡1和網(wǎng)卡2配置如下:?

?? ??

Node1的網(wǎng)卡1、網(wǎng)卡2配置:

????

Node2的網(wǎng)卡1、網(wǎng)卡2配置:

?? ??

?分別開啟3臺虛擬機(jī),輸入”ifconfig“查詢到3個ip地址

?

?

? 根據(jù)對應(yīng)的ip地址重新填寫各虛擬機(jī)網(wǎng)卡1的”端口轉(zhuǎn)發(fā)“規(guī)則

??

?

最后利用git bash 用ssh命令登陸3臺虛擬機(jī),然后兩兩相互ping,如果能ping通,證明局域網(wǎng)CentOS環(huán)境已經(jīng)搭建完成,我們正式進(jìn)入k8s+docker的環(huán)境搭建

?


7. Master主節(jié)點配置kubernetes+docker

目前我們的3臺虛擬機(jī)如下:

  • Master主節(jié)點(ip:10.0.3.4)
  • Node1子節(jié)點(ip:10.0.3.5)
  • Node2子節(jié)點(ip:10.0.3.6)

輸入以下命令關(guān)閉防火墻:

setenforce 0systemctl stop firewalld & systemctl disable firewalldsed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinuxswapoff -afirewall-cmd --reload

yum安裝k8s和etcd:

yum -y install etcd kubernetes

?

修改配置如下,保存退出

?

sudo vi /etc/etcd/etcd.conf

?

?

?

#[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" #ETCD_LISTEN_PEER_URLS="http://localhost:2380" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" ETCD_NAME=default #ETCD_SNAPSHOT_COUNT="100000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" #ETCD_QUOTA_BACKEND_BYTES="0" #ETCD_MAX_REQUEST_BYTES="1572864" #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s" #ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s" #ETCD_GRPC_KEEPALIVE_TIMEOUT="20s" # #[Clustering] #ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380" ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379" #ETCD_DISCOVERY="" #ETCD_DISCOVERY_FALLBACK="proxy" #ETCD_DISCOVERY_PROXY="" #ETCD_DISCOVERY_SRV="" #ETCD_INITIAL_CLUSTER="default=http://localhost:2380" #ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #ETCD_INITIAL_CLUSTER_STATE="new" #ETCD_STRICT_RECONFIG_CHECK="true" #ETCD_ENABLE_V2="true" # #[Proxy] #ETCD_PROXY="off" #ETCD_PROXY_FAILURE_WAIT="5000" #ETCD_PROXY_REFRESH_INTERVAL="30000" #ETCD_PROXY_DIAL_TIMEOUT="1000" #ETCD_PROXY_WRITE_TIMEOUT="5000" #ETCD_PROXY_READ_TIMEOUT="0" # #[Security] #ETCD_CERT_FILE="" #ETCD_KEY_FILE="" #ETCD_CLIENT_CERT_AUTH="false" #ETCD_TRUSTED_CA_FILE="" #ETCD_AUTO_TLS="false" #ETCD_PEER_CERT_FILE="" #ETCD_PEER_KEY_FILE="" #ETCD_PEER_CLIENT_CERT_AUTH="false" #ETCD_PEER_TRUSTED_CA_FILE="" #ETCD_PEER_AUTO_TLS="false" # #[Logging] #ETCD_DEBUG="false" #ETCD_LOG_PACKAGE_LEVELS="" #ETCD_LOG_OUTPUT="default" # #[Unsafe] #ETCD_FORCE_NEW_CLUSTER="false" # #[Version] #ETCD_VERSION="false" #ETCD_AUTO_COMPACTION_RETENTION="0" # #[Profiling] #ETCD_ENABLE_PPROF="false" #ETCD_METRICS="basic" # #[Auth] #ETCD_AUTH_TOKEN="simple"

?

修改配置如下,保存退出 sudo vi /etc/kubernetes/apiserver

?

### # kubernetes system config # # The following values are used to configure the kube-apiserver # # The address on the local server to listen to. KUBE_API_ADDRESS="--address=0.0.0.0" # The port on the local server to listen on. KUBE_API_PORT="--port=8080" # Port minions listen on KUBELET_PORT="--kubelet-port=10250" # Comma separated list of nodes in the etcd cluster KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379" # Address range to use for services KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" # default admission control policies KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,L imitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota" # Add your own! KUBE_API_ARGS=""
  • 輸入命令:
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES systemctl enable $SERVICES systemctl status $SERVICES done

?

  • 10.0.2.7換成自己主機(jī)節(jié)點虛擬機(jī)的ip

?

etcdctl -C http://10.0.3.4:2379 set /atomic.io/network/config '{ "Network":"10.1.0.0/16"}'

?

?


8. Node子節(jié)點配置kubernetes+docker

setenforce 0systemctl stop firewalld & systemctl disable firewalld sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinuxswapoff -afirewall-cmd --reload

#安裝k8s

yum -y install flannel kubernetes sudo vi /etc/kubernetes/config

? ? 修改配置如下,保存退出 , 這里填寫的ip是主節(jié)點的ip,不是自己的ip!

?

KUBE_MASTER="--master=http://10.0.3.4:8080" KUBE_ETCD_SERVERS="--etcd_servers=http://10.0.3.4:2379" sudo vi /etc/kubernetes/kubelet

? ?修改配置如下,保存退出 ,

KUBELET_ADDRESS="--address=0.0.0.0" # The port for the info server to serve on KUBELET_PORT="--port=10250" # You may leave this blank to use the actual hostname KUBELET_HOSTNAME="--hostname-override=10.0.3.6" # location of the api-server KUBELET_API_SERVER="--api-servers=http://10.0.3.4:8080" # pod infrastructure container KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat. com/rhel7/pod-infrastructure:latest" # Add your own! KUBELET_ARGS=""

?輸入命令

ip link delete docker0 sudo vi /etc/sysconfig/flanneld

? ?修改配置如下,保存退出 ,

# Flanneld configuration options # etcd url location. Point this to the server where etcd runs FLANNEL_ETCD_ENDPOINTS="http://10.0.3.4:2379" # etcd config key. This is the configuration key that flannel queries # For address range assignment FLANNEL_ETCD_PREFIX="/atomic.io/network" # Any additional options that you want to pass #FLANNEL_OPTIONS=""

? ?輸入命令:

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

?

最后一步,在主機(jī)節(jié)點(10.0.3.4)輸入命令:

kubectl get nodes

?

大功告成!如果這篇文章可以幫到你,就資助下小弟吧

?? ? ? ? ? ? ? ? ??

附錄

三篇參考博客:

  • vituralbox虛擬機(jī)安裝及配置(一、二):https://www.jianshu.com/p/78a5afd0c597
  • vituralbox搭建局域網(wǎng)虛擬機(jī):https://jingyan.baidu.com/article/22a299b5d5989d9e19376ab7.html
  • Kubernetes+docker集群搭建博客:https://blog.csdn.net/real_myth/article/details/78719244
  • CentOS minimal剛完成安裝無法聯(lián)網(wǎng):https://www.cnblogs.com/syscn/p/9802924.html
  • CentOS 開放22端口:https://www.cnblogs.com/xxx91hx/p/4374289.html

?

posted @ 2019-03-19 17:27 luyanjie 閱讀(...) 評論(...) 編輯 收藏

總結(jié)

以上是生活随笔為你收集整理的VituralBox从零搭建基于CentOS 7(64位)的Kubernetes+docker集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。