最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署

 更新時(shí)間:2020年07月10日 08:59:03   作者:ysk_xh_521  
這篇文章主要介紹了Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.安裝docker

yum install docker
#啟動(dòng)服務(wù)
systemctl start docker.service
systemctl enable docker.service
#測試
docker version

2.安裝etcd

yum install etcd -y
#啟動(dòng)etcd
systemctl start etcd
systemctl enable etcd
#輸入如下命令查看 etcd 健康狀況
etcdctl -C http://localhost:2379 cluster-health
#安裝 Kubernetes
yum install kubernetes -y

安裝好后,編輯文件 /etc/kubernetes/apiserver,將 KUBE_ADMISSION_CONTROL 后面的 ServiceAccount 去掉,如:

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

然后分別啟動(dòng)以下程序(Master):

systemctl start kube-apiserver
systemctl enable kube-apiserver
systemctl start kube-controller-manager
systemctl enable kube-controller-manager
systemctl start kube-scheduler
systemctl enable kube-scheduler

接下來啟動(dòng) Node 節(jié)點(diǎn)的程序:

systemctl start kubelet
systemctl enable kubelet
systemctl start kube-proxy
systemctl enable kube-proxy

這樣,一個(gè)簡單的 K8S 集群環(huán)境就已經(jīng)搭建完成了,我們可以運(yùn)行以下命令來查看集群狀態(tài)。

 

但目前該集群環(huán)境還不能很好的工作,因?yàn)樾枰獙?duì)集群中 pod 的網(wǎng)絡(luò)進(jìn)行統(tǒng)一管理,所以需要?jiǎng)?chuàng)建覆蓋網(wǎng)絡(luò) flannel。

1.安裝 flannel:

yum install flannel -y

2.編輯文件 /etc/sysconfig/flanneld,增加以下代碼:

--logtostderr=false --log_dir=/var/log/k8s/flannel/ --etcd-prefix=/atomic.io/network --etcd-endpoints=http://localhost:2379 --iface=enp0s3

其中 –iface 對(duì)應(yīng)的是網(wǎng)卡的名字。

3.配置 etcd 中關(guān)于 flanneld 的 key

flannel 使用 etcd 進(jìn)行配置,來保證多個(gè) flannel 實(shí)例之間的配置一致性,所以需要在 etcd 上進(jìn)行如下配置:

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

/atomic.io/network/config 這個(gè) key 與上文 /etc/sysconfig/flannel 中的配置項(xiàng) FLANNEL_ETCD_PREFIX 是相對(duì)應(yīng)的,錯(cuò)誤的話啟動(dòng)就會(huì)出錯(cuò))

Network 是配置網(wǎng)段,不能和物理機(jī) IP 沖突,可以隨便定義,盡量避開物理機(jī) IP 段。

4.啟動(dòng)修改后的 flannel ,并依次重啟 docker、kubernete:

systemctl enable flanneld 
systemctl start flanneld
service docker restart
systemctl restart kube-apiserver
systemctl restart kube-controller-manager
systemctl restart kube-scheduler
systemctl enable flanneld
systemctl start flanneld
service docker restart
systemctl restart kubelet
systemctl restart kube-proxy

這樣,我們將應(yīng)用部署到 Docker 容器中時(shí),就可以通過物理IP訪問到容器了。

分布式應(yīng)用部署

1.搭建一個(gè)基于 SpringBoot 的框架,這里不再贅述。默認(rèn)已經(jīng)搭建好。
2.編寫Dockerfile,內(nèi)容示例如下:

#下載java8的鏡像
FROM java:8
#將本地文件掛到到/tmp目錄
VOLUME /tmp
#復(fù)制文件到容器
ADD demo-0.0.1-SNAPSHOT.jar /demo.jar
#暴露8080端口
EXPOSE 8080
#配置啟動(dòng)容器后執(zhí)行的命令
ENTRYPOINT ["java","-jar","/demo.jar"]

通過 docker build 命令創(chuàng)建鏡像:

docker build -t demo .

這時(shí),我們執(zhí)行 docker images 就將看到剛才構(gòu)建的鏡像,如:

利用 K8S 部署 SpringBoot 應(yīng)用

1.創(chuàng)建 rc 文件 demo-rc.yaml:

apiVersion: v1
kind: ReplicationController
metadata:
 name: demo
spec:
 # 節(jié)點(diǎn)數(shù),設(shè)置為多個(gè)可以實(shí)現(xiàn)負(fù)載均衡效果
 replicas: 1
 selector:
  app: demo
 template:
  metadata:
   labels:
    app: demo
  spec:
   containers:
   - name: demo
    #鏡像名
    image: demo
    #本地有鏡像就不會(huì)去倉庫拉取
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 8080

執(zhí)行以下命令創(chuàng)建 pod:

kubectl create -f demo-rc.yaml 

創(chuàng)建成功后,我們可以查看 pod:

 

ContainerCreating 提示正在創(chuàng)建中,這時(shí)可以查看創(chuàng)建日志:

 

可以發(fā)現(xiàn)他提示:redhat-cat.crt 不存在,我們先通過ll命令查看下該文件:

 

可以發(fā)現(xiàn)該文件是個(gè)鏈接文件,它指向的是 /etc/rhsm/ca/redhat-uep.pem,而這個(gè)文件發(fā)現(xiàn)確實(shí)不存在,那這個(gè)文件又是怎么來的呢?答案就在這個(gè)路徑里,我們需要安裝 rhsm 這個(gè)軟件,執(zhí)行命令安裝:

yum install *rhsm* -y

等待一段時(shí)間后,安裝即完成。

安裝完成后,執(zhí)行 ll 命令查看該文件是否存在:

[root@MiWiFi-R3-srv ~]# ll /etc/rhsm/ca/redhat-uep.pem
ls: 無法訪問/etc/rhsm/ca/redhat-uep.pem: 沒有那個(gè)文件或目錄

我們發(fā)現(xiàn),依然沒有該文件,不過沒關(guān)心,我們可以手動(dòng)創(chuàng)建:

touch /etc/rhsm/ca/redhat-uep.pem

執(zhí)行完以上操作后,我們先將 rc 刪除,再創(chuàng)建:

[root@MiWiFi-R3-srv ~]# kubectl delete rc demo
replicationcontroller "demo" deleted
[root@MiWiFi-R3-srv ~]# kubectl create -f demo-rc.yaml 
replicationcontroller "demo" created

等待一段時(shí)間后,重新查看 po,我們發(fā)現(xiàn)已經(jīng)成功啟動(dòng):

[root@MiWiFi-R3-srv ~]# kubectl get po
NAME     READY   STATUS  RESTARTS  AGE
demo-hdmxs  1/1    Running  0     1m

這時(shí),我們還無法通過局域網(wǎng)訪問應(yīng)用,還需要?jiǎng)?chuàng)建 Service:

1.創(chuàng)建 service 文件 demo-svc.yaml:

apiVersion: v1
kind: Service
metadata:
 name: demo
spec:
 type: NodePort
 ports:
 - port: 8080
  targetPort: 8080
  # 節(jié)點(diǎn)暴露給外部的端口(范圍必須為30000-32767)
  nodePort: 30001
 selector:
  app: demo

2.執(zhí)行命令:

[root@MiWiFi-R3-srv ~]# kubectl create -f demo-svc.yaml 
service "demo" created

3.我們可以查看剛才創(chuàng)建 service:

 

這時(shí),我們就可以通過 ip:30001 訪問應(yīng)用了,如圖:

 

如果訪問不到,需要關(guān)閉防火墻:

systemctl stop firewalld
iptables -P FORWARD ACCEPT

到此這篇關(guān)于Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署的文章就介紹到這了,更多相關(guān)Docker K8S 集群環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker安裝Nginx教程實(shí)現(xiàn)圖例講解

    Docker安裝Nginx教程實(shí)現(xiàn)圖例講解

    這篇文章主要介紹了Docker安裝Nginx教程圖例講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Docker中搭建FastDFS文件系統(tǒng)(多圖教程)

    Docker中搭建FastDFS文件系統(tǒng)(多圖教程)

    這篇文章主要介紹了Docker中搭建FastDFS文件系統(tǒng)(多圖教程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Docker images導(dǎo)出和導(dǎo)入操作

    Docker images導(dǎo)出和導(dǎo)入操作

    這篇文章主要介紹了Docker images導(dǎo)出和導(dǎo)入操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 如何解決mysql配置文件錯(cuò)誤導(dǎo)致在docker中無法啟動(dòng)的問題

    如何解決mysql配置文件錯(cuò)誤導(dǎo)致在docker中無法啟動(dòng)的問題

    這篇文章主要介紹了如何解決mysql配置文件錯(cuò)誤導(dǎo)致在docker中無法啟動(dòng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker registry私服搭建的方法

    docker registry私服搭建的方法

    這篇文章主要介紹了docker registry私服搭建的方法,docker官方的registry鏡像分為兩個(gè)版本,v2和v2以前的版本,本文將分別搭建基于SSL和登錄認(rèn)證的以上兩個(gè)版本的docker私服
    2018-05-05
  • docker system df命令詳解

    docker system df命令詳解

    docker system df 是 Docker 提供的一個(gè)非常有用的命令,用于查看 Docker 系統(tǒng)的磁盤使用情況,這篇文章主要介紹了docker system df命令,需要的朋友可以參考下
    2025-01-01
  • .netcore 使用surging框架發(fā)布到docker

    .netcore 使用surging框架發(fā)布到docker

    這篇文章主要介紹了netcore 使用surging框架發(fā)布到docker,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 最詳細(xì)的docker中安裝并配置redis(圖文詳解)

    最詳細(xì)的docker中安裝并配置redis(圖文詳解)

    這篇文章主要介紹了最詳細(xì)的docker中安裝并配置redis(圖文詳解),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • docker-compose如何定義容器的ip

    docker-compose如何定義容器的ip

    這篇文章主要介紹了docker-compose如何定義容器的ip問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker安裝,yum安裝失敗解決方案,阿里云鏡像安裝過程

    docker安裝,yum安裝失敗解決方案,阿里云鏡像安裝過程

    在配置Yum源遇到問題時(shí),嘗試使用阿里云鏡像可以有效解決,本文詳細(xì)介紹了如何配置阿里云源及安裝Docker的步驟,首先,若Yum源配置出錯(cuò),建議更換為阿里云鏡像;其次,詳述了安裝Docker的具體命令,包括啟用阿里云源和安裝過程中的選擇提示
    2024-11-11

最新評(píng)論

都江堰市| 昌图县| 射阳县| 徐州市| 博爱县| 远安县| 龙州县| 宜都市| 谷城县| 泌阳县| 吉水县| 达拉特旗| 齐齐哈尔市| 壶关县| 岫岩| 称多县| 衡阳县| 遂昌县| 夏河县| 石台县| 原平市| 阿克苏市| 渝北区| 宣恩县| 丰原市| 广安市| 乾安县| 右玉县| 洛阳市| 迁安市| 遵义市| 新乐市| 吉林市| 恩施市| 吉隆县| 敖汉旗| 潍坊市| 华坪县| 石景山区| 登封市| 双流县|