电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Docker+K8S 集群環境搭建及分布式應用部署

瀏覽:6日期:2024-11-19 18:39:12

1.安裝docker

yum install docker#啟動服務systemctl start docker.servicesystemctl enable docker.service#測試docker version

2.安裝etcd

yum install etcd -y#啟動etcdsystemctl start etcdsystemctl enable etcd#輸入如下命令查看 etcd 健康狀況etcdctl -C http://localhost:2379 cluster-health#安裝 Kubernetesyum install kubernetes -y

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

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

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

systemctl start kube-apiserversystemctl enable kube-apiserversystemctl start kube-controller-managersystemctl enable kube-controller-managersystemctl start kube-schedulersystemctl enable kube-scheduler

接下來啟動 Node 節點的程序:

systemctl start kubeletsystemctl enable kubeletsystemctl start kube-proxysystemctl enable kube-proxy

這樣,一個簡單的 K8S 集群環境就已經搭建完成了,我們可以運行以下命令來查看集群狀態。

Docker+K8S 集群環境搭建及分布式應用部署

但目前該集群環境還不能很好的工作,因為需要對集群中 pod 的網絡進行統一管理,所以需要創建覆蓋網絡 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 對應的是網卡的名字。

3.配置 etcd 中關于 flanneld 的 key

flannel 使用 etcd 進行配置,來保證多個 flannel 實例之間的配置一致性,所以需要在 etcd 上進行如下配置:

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

/atomic.io/network/config 這個 key 與上文 /etc/sysconfig/flannel 中的配置項 FLANNEL_ETCD_PREFIX 是相對應的,錯誤的話啟動就會出錯)

Network 是配置網段,不能和物理機 IP 沖突,可以隨便定義,盡量避開物理機 IP 段。

4.啟動修改后的 flannel ,并依次重啟 docker、kubernete:

systemctl enable flanneld systemctl start flanneldservice docker restartsystemctl restart kube-apiserversystemctl restart kube-controller-managersystemctl restart kube-schedulersystemctl enable flanneldsystemctl start flanneldservice docker restartsystemctl restart kubeletsystemctl restart kube-proxy

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

分布式應用部署

1.搭建一個基于 SpringBoot 的框架,這里不再贅述。默認已經搭建好。 2.編寫Dockerfile,內容示例如下:

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

通過 docker build 命令創建鏡像:

docker build -t demo .

這時,我們執行 docker images 就將看到剛才構建的鏡像,如:

Docker+K8S 集群環境搭建及分布式應用部署

利用 K8S 部署 SpringBoot 應用

1.創建 rc 文件 demo-rc.yaml:

apiVersion: v1kind: ReplicationControllermetadata: name: demospec: # 節點數,設置為多個可以實現負載均衡效果 replicas: 1 selector: app: demo template: metadata: labels: app: demo spec: containers: - name: demo #鏡像名 image: demo #本地有鏡像就不會去倉庫拉取 imagePullPolicy: IfNotPresent ports: - containerPort: 8080

執行以下命令創建 pod:

kubectl create -f demo-rc.yaml

創建成功后,我們可以查看 pod:

Docker+K8S 集群環境搭建及分布式應用部署

ContainerCreating 提示正在創建中,這時可以查看創建日志:

Docker+K8S 集群環境搭建及分布式應用部署

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

Docker+K8S 集群環境搭建及分布式應用部署

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

yum install *rhsm* -y

等待一段時間后,安裝即完成。

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

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

我們發現,依然沒有該文件,不過沒關心,我們可以手動創建:

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

執行完以上操作后,我們先將 rc 刪除,再創建:

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

等待一段時間后,重新查看 po,我們發現已經成功啟動:

[root@MiWiFi-R3-srv ~]# kubectl get poNAME READY STATUS RESTARTS AGEdemo-hdmxs 1/1 Running 0 1m

這時,我們還無法通過局域網訪問應用,還需要創建 Service:

1.創建 service 文件 demo-svc.yaml:

apiVersion: v1kind: Servicemetadata: name: demospec: type: NodePort ports: - port: 8080 targetPort: 8080 # 節點暴露給外部的端口(范圍必須為30000-32767) nodePort: 30001 selector: app: demo

2.執行命令:

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

3.我們可以查看剛才創建 service:

Docker+K8S 集群環境搭建及分布式應用部署

這時,我們就可以通過 ip:30001 訪問應用了,如圖:

Docker+K8S 集群環境搭建及分布式應用部署

如果訪問不到,需要關閉防火墻:

systemctl stop firewalldiptables -P FORWARD ACCEPT

到此這篇關于Docker+K8S 集群環境搭建及分布式應用部署的文章就介紹到這了,更多相關Docker K8S 集群環境搭建內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 旗帜网络笔记-免费领取《旗帜网络笔记》电子书| 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 聚合氯化铝厂家-聚合氯化铝铁价格-河南洁康环保科技 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 青岛成人高考_山东成考报名网 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械| 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 识禅_对禅的了解,从这里开始 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 北京成考网-北京成人高考网| 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 千淘酒店差旅平台-中国第一家针对TMC行业的酒店资源供应平台 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 电缆接头_防水接头_电缆防水接头_防水电缆接头_上海闵彬 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 |