Teknologian jakaminen

Palvelutyypit ja käyttö k8s:ssa

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Kuvaus
Kubernetesissa on useita eri tapoja altistaa palvelut ulkoiselle liikenteelle. Nämä tilat määritetään määrittämällä palvelun spec.type-kenttä.
2. Yksityiskohtainen selitys
1. ClusterIP
Määritelmä: Oletustyyppi, palvelua voi käyttää vain klusterin sisällä.
Toiminto: Paljasta palvelut klusterin sisäisen IP-osoitteen kautta.
Esimerkki:

spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8080
  • 1
  • 2
  • 3
  • 4
  • 5

2.NodePort
Määritelmä: Avaa korkea portti (yleensä 30000-32767) jokaisessa solmussa, jotta ulkoinen liikenne pääsee käyttämään palvelua.
Toiminto: Käytä palvelua minkä tahansa solmun IP-osoitteen ja nodePortin kautta.
Esimerkki:

spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30007
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. LoadBalancer

Määritelmä: Pilvialustan tarjoama kuormituksen tasapainotin määrittää palvelulle ulkoisen IP-osoitteen.
Toiminto: Pääset palveluun tämän IP-osoitteen kautta, mikä sopii tilanteisiin, joissa tarvitaan ulkoista liikenteen kuormitusta.
Esimerkki:

spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-app
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4. Ulkoinen nimi

Määritelmä: yhdistä palvelu ulkoiseen toimialueen nimeen (kuten tietokantapalveluun).
Toiminto: Käytä palvelua määritetyn ulkoisen toimialueen nimen kautta klusterin sisäisen IP-osoitteen tai solmun IP-osoitteen sijaan.
Esimerkki:

spec:
  type: ExternalName
  externalName: example.com
  • 1
  • 2
  • 3

2. Yhteenveto
ClusterIP: Oletuspalvelutyyppi, joka on käytettävissä vain klusterin sisällä.
NodePort: Avaa portti jokaisessa solmussa, jotta ulkoinen liikenne pääsee palveluihin.
LoadBalancer: Pilvialustan tarjoama kuormitustasaaja varaa ulkoisen IP-osoitteen, joka sopii tilanteisiin, joissa kuormituksen tasapainottamista tarvitaan.
ExternalName: Yhdistää palvelun ulkoiseen toimialueen nimeen, joka sopii skenaarioihin, jotka edellyttävät pääsyä ulkoisiin palveluihin.