1、clusterip
kind: serviceapiversion: v1
metadata:
name: my-service
spec:
selector:
ports:
- protocol: tcp
port: 80
targetport: 80
[root@k8s-master rc-test]#[root@k8s-master rc-test]# kubectl get epkubectl get svc
name cluster-ip external-ip port(s) age
kubernetes 10.254.0.1 443/tcp 9d
my-service 10.254.233.44 80/tcp 16s
mysql none
3306/tcp 8d
name endpoints age
kubernetes 192.168.137.110:6443 9d
my-service 172.168.69.2:80,172.168.95.2:80 9m
mysql 172.168.69.3:3306 8d
此種方式可以在k8s內部使用,比如建立乙個busybox,在busybox上面,可以訪問10.254.233.44
在node上面,也可以使用endpoint的ip訪問,比如在master上面訪問172.168.69.2
2、nodeport
[root@k8s-master rc-test]# kubectl get svc
name cluster-ip external-ip port(s) age
kubernetes 10.254.0.1 443/tcp 10d
my-service 10.254.209.157 80:30062/tcp 5m
mysql none 3306/tcp 8d
[root@k8s-master rc-test]# kubectl get ep
name endpoints age
kubernetes 192.168.137.110:6443 10d
my-service 172.168.69.2:80,172.168.95.2:80 6m
mysql 172.168.69.3:3306 8d
相比clusterip,多了乙個node上面的介面,cluster的兩種方式還是可以訪問。
另外node ip方式也可以訪問了。
k8s網路基礎
為了保證網路方案的標準化 擴充套件性和靈活性,k8s 採用了 container networking inte ce cni 規範。cni 是由 coreos 提出的容器網路規範,它使用了外掛程式 plugin 模型建立容器的網路棧。它要求任何實現機制都必須滿足以下需求 因為k8s只約定了網路實現...
K8s部署prometheus監控K8s細節
prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...
k8s解除安裝flannel網路
在工作中,由於不同的需求,需要更換cni外掛程式 此場景為,解除安裝flannel網路,更換為calico網路 建議 在生產場景中,建議提前規劃好k8s的網路,如果中途更換網路外掛程式,產生的影響會比較大 解除安裝flannel網路步驟 第一步,在master節點刪除flannel kubectl ...