真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

k8s之應用實踐-Service,Ingress

1.背景;

10余年的雙河網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整雙河建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“雙河網(wǎng)站設計”,“雙河網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

? ? ? ? 由于簡化部署k8s 集群 ,公司的k8s 部署方案使用的是 kubeadm ,且跟進線上線下維度進行集群劃分,為何要使用kubeadm 主要有兩個原因:1.部署方便快捷,2.k8s節(jié)點擴容方便? 3.部署難度降低;?

2.系統(tǒng)環(huán)境;

系統(tǒng)版本內核版本etcd?備注
CentOS Linux release 7.5.18043.10.0-862.14.4.el7.x86_64etcdctl version: 3.3.11




3.相關組件版本;

kubeadmin 組件名稱組件版本名稱備注

k8s.gcr.io/kube-apiserver?

v1.13.4

kube-apiserver 是 Kubernetes 最重要的核心組件之一,主要提供以下的功能
  • 提供集群管理的 REST API 接口,包括認證授權、數(shù)據(jù)校驗以及集群狀態(tài)變更等

  • 提供其他模塊之間的數(shù)據(jù)交互和通信的樞紐(其他模塊通過 API Server 查詢或修改數(shù)據(jù),只有 API Server 才直接操作 etcd)

k8s.gcr.io/kube-controller-manager?

v1.13.4

kube-scheduler 負責分配調度 Pod 到集群內的節(jié)點上,它監(jiān)聽 kube-apiserver,查詢還未分配 Node 的 Pod,然后根據(jù)調度策略為這些 Pod 分配節(jié)點(更新 Pod 的?NodeName?字段)

調度器需要充分考慮諸多的因素:

  • 公平調度

  • 資源高效利用

  • QoS

  • affinity 和 anti-affinity

  • 數(shù)據(jù)本地化(data locality)

  • 內部負載干擾(inter-workload interference)

  • deadlines

k8s.gcr.io/kube-scheduler

v1.13.4

Controller Manager 由 kube-controller-manager 和 cloud-controller-manager 組成,是 Kubernetes 的大腦,它通過 apiserver 監(jiān)控整個集群的狀態(tài),并確保集群處于預期的工作狀態(tài)。

?k8s.gcr.io/kube-proxy

v1.13.4

每臺機器上都運行一個 kube-proxy 服務,它監(jiān)聽 API server 中 service 和 endpoint 的變化情況,并通過 iptables 等來為服務配置負載均衡(僅支持 TCP 和 UDP)。

kube-proxy 可以直接運行在物理機上,也可以以 static pod 或者 daemonset 的方式運行。

k8s.gcr.io/pause3.1

Kubernetes為每個Pod都附屬了gcr.io/google_containers/pause:latest,這個容器只接管Pod的網(wǎng)絡信息,業(yè)務容器通過加入網(wǎng)絡容器的網(wǎng)絡來實現(xiàn)網(wǎng)絡共享。此容器隨著pod創(chuàng)建而創(chuàng)建,隨著Pod刪除而刪除,正如其名字“pause”

該容器是對業(yè)務pod的命名空間的解析。

k8s.gcr.io/coreDNS1.2.6DNS 是 Kubernetes 的核心功能之一,通過 kube-dns 或 CoreDNS 作為集群的必備擴展來提供命名服務。

weaveworks/weave

2.5.2

Weave Net是一個多主機容器網(wǎng)絡方案,支持去中心化的控制平面,各個host上的wRouter間通過建立Full Mesh的TCP鏈接,并通過Gossip來同步控制信息。這種方式省去了集中式的K/V Store,能夠在一定程度上減低部署的復雜性,

4.應用實踐;

(1).集群已經(jīng)正常運行如下所示;

k8s 之 應用實踐-Service,Ingress

2.查看deployment 配置;

apiVersion:?extensions/v1beta1?
kind:?Deployment?
metadata:?
??name:?nginx-dp
spec:?
??selector:
????matchLabels:
??????app:?nginx-dp
??replicas:?1
??template:?
????metadata:?
??????labels:?
????????app:?nginx-dp?
????spec:?
??????containers:?
????????-?name:?nginx?
??????????image:?nginx:alpine?
??????????ports:?
????????????-?containerPort:?80

3.查看ervice 配置;

apiVersion:?v1
kind:?Service
metadata:
??name:?nginx-dp-cpf
spec:
??type:?NodePort
??ports:
??-?nodePort:?30001
????port:?80
????targetPort:?80
????protocol:?TCP
??selector:
????app:?nginx-dp

4.查看生成endpoints?


k8s 之 應用實踐-Service,Ingress

5.查看service 規(guī)則;

k8s 之 應用實踐-Service,Ingress

6.查看由kube-proxy 生成的iptables 防火墻規(guī)則; (正常規(guī)則)

k8s 之 應用實踐-Service,Ingress

注意:

? ? ? 1.如果防火墻規(guī)則出現(xiàn) 類似如下規(guī)則:

? ? ? ? -A KUBE-EXTERNAL-SERVICES -p tcp -m comment --comment "default/nginx-dp-cpf: has no endpoints" -m addrtype --dst-type LOCAL -m tcp --dport 30001-j REJECT --reject-with icmp-port-unreachable

? ? ? 2.解決辦法;

? ? ? ? ?? (1).net.ipv4.ip_forward?= 1? #系統(tǒng)內核路由轉發(fā)功能

? ? ? ? ? ?(2).iptables -PFORWARD ACCEPT? #允許 iptables??FORWARD 鏈規(guī)則通過;

? ? ? ? ? ?(3).iptables -P?OUTPUT ACCEPT? #允許 iptables??OUTPUT?鏈規(guī)則通過;

? ? ? ? ? ?(4).檢查deployment?labels? 和 service?labels?設置是否關聯(lián)正確;

? ? ? ? ? ?(5).kubectl get endpoints? --show-labels? #注意此規(guī)則和防火墻規(guī)則匹配 若出現(xiàn)none 請檢查防火墻規(guī)則;

7.進行功能測試 (k8s 集群內進行測試);

k8s 之 應用實踐-Service,Ingress

8.ingress 部署;

#master?端執(zhí)行;
kubectl?apply?-f?https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl?apply?-f?https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml

注意:?

? ? ? nodeSelector 字段 labels? 和 node labels 關聯(lián); 否則運行ingres pod 出現(xiàn) peding 狀態(tài);

k8s 之 應用實踐-Service,Ingress

k8s 之 應用實踐-Service,Ingress

8.ingress 配置;

##配置yaml
apiVersion:?extensions/v1beta1
kind:?Ingress
metadata:
??name:?test-ingress
spec:
??rules:
??-?http:
??????paths:
??????-?path:?/
????????backend:
??????????serviceName:?test-nginx?
??????????servicePort:?80

###查看創(chuàng)建?ingress;

k8s 之 應用實踐-Service,Ingress

####測試訪問###

k8s 之 應用實踐-Service,Ingress

####基于域名多服務的 Ingress

路由到多服務的 Ingress 即根據(jù)請求路徑的不同轉發(fā)到不同的后端服務上,比如

www.breaklinux.com?->?10.109.21.77->?/test1?????s1:80
??????????????????????????????????—>?/test2??????s2:80
apiVersion:?extensions/v1beta1
kind:?Ingress
metadata:
??name:?test
spec:
??rules:
??-?host:?www.breaklinux.com
????http:
??????paths:
??????-?path:?/test1
????????backend:
??????????serviceName:?test-nginx
??????????servicePort:?80
??????-?path:?/test2
????????backend:
??????????serviceName:?nginx-dp-test-01?
??????????servicePort:?80

###虛擬主機 Ingress

apiVersion:?extensions/v1beta1
kind:?Ingress
metadata:
??annotations:
????nginx.ingress.kubernetes.io/configuration-snippet:?""
????nginx.ingress.kubernetes.io/proxy-body-size:?10240m
????nginx.ingress.kubernetes.io/proxy-read-timeout:?"36000"
????nginx.ingress.kubernetes.io/proxy-send-timeout:?"36000"
????nginx.ingress.kubernetes.io/rewrite-target:?/$1
????nginx.ingress.kubernetes.io/ssl-redirect:?"false"
??name:?test-nginx-ingess
spec:
??rules:
??-?host:?test-nginx-ingress.dev.k8s.chj.cloud
????http:
??????paths:
??????-?backend:
??????????serviceName:?test-nginx
??????????servicePort:?80?
????????path:?/?(.*)

? ##基于虛擬主機訪問測試#

##因為沒有dns 服務環(huán)境 綁定hosts 進行測試

cat?/etc/hosts

10.109.21.77???www.breaklinux.com?test-nginx-ingress.dev.k8s.chj.cloud

k8s 之 應用實踐-Service,Ingress


分享題目:k8s之應用實踐-Service,Ingress
本文地址:http://weahome.cn/article/gghosj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部