(七) Servicio Kubernetes

Oficial enlace al sitio web https://kubernetes.io/zh/docs/concepts/services-networking/service/
servicio es una aplicación método abstracto en un grupo de vainas de ejecución expuestas como servicios Web
¿Por qué el Servicio
POD tiene una destrucción sin parar, creación de la operación, y cada uno tiene su propia IP asignada la vaina, la vaina de la creación, los medios de destrucción que la IP que cambian constantemente, cómo rastrear la dirección IP de la parte delantera se hace muy difícil, el servicio es resolver este problema. Se puede efectuar un cambio en la vaina de la supervisión, y proporcionar acceso externo a una entrada fija (carga de entrada de equilibrio);
puntos finales
a través de los puntos finales, podemos conocer las vainas cuando la asociación detrás del servicio; criterios de valoración cambiará con las vainas de cambios. el servicio y la vaina por las etiquetas asociadas.
kubectl conseguir puntos finales # Ver puntos finales
importancia del servicio
para evitar que la vaina perdió a la
política de acceso define un conjunto de vaina (balanceo de carga, el valor predeterminado es de votación)
de apoyo ClusterIP, NodePort, LoadBalancer tres tipos de
enlace de sitio web oficial https://kubernetes.io/zh/ docs / tutoriales / Servicios / IP Fuente / E7 de tipo # clusterip - %%% B1% BB% 9E% 8B E5 E7-Servicios-% 84 %% 9A-Fuente-IP.
ClusetrIp: una asignación por defecto dentro del clúster puede acceder IP virtual (VIP)

NodePort: asignar un puerto como una entrada de acceso externo en cada nodo, puerto recomendado fijo, no aleatorio (red IP se puede acceder por cada nodo externo, usando el nodo IP equilibrio de carga SLB de unión).

LoadBalancer: trabajar en un proveedor de nube en particular. Por ejemplo Google nube, AWS, OpenStack (SLB no tienen nuestro propio servidor de configuración de nodo en el interior, el acceso a su propio equilibrio de carga)

Iptables subyacentes servicio principal aplicación y el modo de dos redes IPVS

Agente de servicio
en el grupo kubernetes, cada nodo ejecuta un proceso Kube-proxy. Kube-proxy de servicio es responsable de la realización de una forma de VIP (IP virtual).
modo de proxy se proporciona en /opt/kubernetes/cfg/kube-proxy.conf CAT #nodo
el modo proxy espacio de usuario

modo proxy iptables

Con el modo de espacio de usuario respecto, el modo de iptables después de detectar la primera barquilla de enlace asignado falla, el otro se asigna automáticamente reintento vaina.
iptable crea muchas reglas (actualización, no incrementales)
, uno por uno, de arriba abajo coincidirá iptable (retardo grande)
iptables -L # Ver regla
IPVS modo proxy

Iptables modo relativo, la interfaz orientada al usuario es iptables nivel del modo kernel IPVS directamente a una mayor eficiencia, Kube-proxy retenciones de tráfico de redirección es más corto, el proxy de sincronización gobierna mejor rendimiento,
los IPVS ipvsadm Ver Regla # ln
service.yaml

kubectl expose deployment nginx --type=NodePort --port=80 --target-port=80 --name=nginx-service -o yaml --dry-run #生成yaml
apiVersion: v1 #service api版本
kind: Service #设置为service
metadata: #元数据
  creationTimestamp: null
  labels:
    run: nginx #标签
  name: nginx-service #service名称
spec:
  ports:
  - port: 80 #service端口,用于集群内部访问的端口
    protocol: TCP #协议tcp、udp
    targetPort: 80 #容器内部应用的端口,例如ngin默认端口是8080
    nodePort=30001 #设置nodeport端口,限定在30000-50000之间
  selector:
    run: nginx #关联的标签
  type: NodePort #ClusterIP、NodePort、LoadBalancer三种类型
status:
  loadBalancer: {}

Multi-puerto de servicio
usando un multi-puerto, debe proporcionar los nombres de todos los puertos para hacerlos sin ambigüedades.

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - name: http #端口name1
      protocol: TCP
      port: 80
      targetPort: 9376
    - name: https #端口name2
      protocol: TCP
      port: 443
      targetPort: 9377

servicio de DNS interno Cluster
Core DNS es el kubernetes servicio DNS por defecto interno.
(七) Servicio Kubernetes
prueba Busybox usando DNS no está asumiendo que el mismo espacio de nombres se puede utilizar (七) Servicio Kubernetesmás tarde svc.cluster.local lata no llenar.

Supongo que te gusta

Origin blog.51cto.com/1014810/2484784
Recomendado
Clasificación