แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ: แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒแƒ แƒ˜แƒก แƒกแƒแƒฏแƒแƒ แƒ แƒ“แƒแƒ›แƒ”แƒœแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ Learnk8s, แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ˜แƒœแƒ“แƒ˜แƒ•แƒ˜แƒ“แƒฃแƒแƒšแƒฃแƒ  แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒก Kubernetes-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒกแƒจแƒ˜, แƒ“แƒแƒœแƒ˜แƒ”แƒš แƒžแƒแƒšแƒ”แƒœแƒฉแƒ˜แƒฉแƒ˜, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜, แƒ˜แƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ  แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒ“แƒ’แƒแƒก K8s แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

TL;DR: แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— Kubernetes-แƒจแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒแƒจแƒ˜:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ•แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒ˜ (แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒแƒ“) แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” PDF ะธ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฃแƒ แƒแƒ—แƒ˜.

Kubernetes-แƒจแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒก:

  • แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ แƒ˜ แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— pods;
  • แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก - แƒจแƒ˜แƒ“แƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก;
  • Ingress โ€” แƒแƒฆแƒฌแƒ”แƒ แƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ’แƒแƒ แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒ“แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒแƒ›แƒ“แƒ”.

แƒแƒฅ แƒแƒ แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ:

1) Kubernetes-แƒจแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒ”แƒœ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒ’แƒแƒ แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒ“แƒแƒœ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒคแƒ”แƒœแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—: แƒจแƒ˜แƒ“แƒ แƒ“แƒ แƒ’แƒแƒ แƒ”.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

2) แƒจแƒ˜แƒ“แƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒก แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ’แƒแƒ แƒ”แƒก - แƒ˜แƒœแƒ’แƒ แƒ”แƒกแƒ˜.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

3) Deployment แƒฅแƒ›แƒœแƒ˜แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ— (แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒฎแƒ”แƒšแƒ˜แƒ—).

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ แƒแƒ› แƒ’แƒกแƒฃแƒ แƒ— แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ a la แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ แƒ›แƒกแƒแƒคแƒšแƒ˜แƒ. แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก YAML แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

apiVersion: apps/v1
kind: Deployment # <<<
metadata:
  name: my-deployment
  labels:
    track: canary
spec:
  selector:
    matchLabels:
      any-name: my-app
  template:
    metadata:
      labels:
        any-name: my-app
    spec:
      containers:
      - name: cont1
        image: learnk8s/app:1.0.0
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service # <<<
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    name: app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress # <<<
metadata:
  name: my-ingress
spec:
  rules:
  - http:
    paths:
    - backend:
        serviceName: app
        servicePort: 80
      path: /

แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ’แƒ แƒซแƒ”แƒšแƒ˜แƒ แƒ“แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒแƒ‘แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

  • แƒ แƒแƒ“แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒžแƒแƒ แƒขแƒ˜ 80 แƒ“แƒ แƒ แƒแƒ“แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— 8080?
  • แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ แƒ—แƒฃ แƒแƒ แƒ แƒแƒฎแƒแƒšแƒ˜ แƒžแƒแƒ แƒขแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ—แƒ แƒแƒ  แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ˜?
  • แƒแƒฅแƒ•แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒก? แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก?

แƒกแƒแƒœแƒแƒ› แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒแƒ–แƒ” แƒ’แƒแƒ•แƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ— แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก, แƒ’แƒแƒ•แƒ˜แƒฎแƒกแƒ”แƒœแƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜. แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ—.

แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒแƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒจแƒแƒ แƒ˜แƒก

แƒ’แƒแƒ’แƒ˜แƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒแƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  Pods-แƒ–แƒ”, แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—.

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ Pods แƒ“แƒ Services แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ. แƒกแƒแƒ›แƒ˜ แƒ แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก:

  1. แƒแƒ›แƒแƒ›แƒ แƒฉแƒ”แƒ•แƒ˜ (selector) แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ— แƒžแƒแƒ“ แƒšแƒ”แƒ˜แƒ‘แƒšแƒก.
  2. targetPort แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก containerPort แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒžแƒแƒ“แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—.
  3. port แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜. แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒแƒ แƒขแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒกแƒแƒฎแƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒก แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ—:

1) แƒฌแƒแƒ แƒ›แƒแƒ˜แƒ“แƒ’แƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒžแƒแƒ“แƒ–แƒ”:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

2) แƒžแƒแƒ“แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— containerPort แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ‘แƒฃแƒ“แƒ”แƒ”แƒ‘แƒจแƒ˜:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

3) แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— port ะธ targetPort. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“?

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

4) แƒ•แƒ˜แƒ targetPort. แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก containerPort.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

5) แƒ•แƒ—แƒฅแƒ•แƒแƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒฆแƒ˜แƒแƒ แƒžแƒแƒ แƒขแƒ˜ 3000. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ targetPort แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

YAML แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ ports / targetPort แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
  labels:
    track: canary
spec:
  selector:
    matchLabels:
      any-name: my-app
  template:
    metadata:
     labels:  # <<<
        any-name: my-app  # <<<
   spec:
      containers:
      - name: cont1
        image: learnk8s/app:1.0.0
        ports:
       - containerPort: 8080  # <<<
---
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
   targetPort: 8080  # <<<
 selector:  # <<<
    any-name: my-app  # <<<

แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒก track: canary แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜? แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก?

แƒ”แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜แƒ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฌแƒแƒ˜แƒจแƒแƒšแƒแƒก แƒแƒœ แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒแƒก แƒกแƒฎแƒ•แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ.

แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒก matchLabels?

แƒ˜แƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก Pod-แƒ˜แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ Deployment-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜แƒก แƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ“แƒแƒ•แƒฃแƒจแƒ•แƒแƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒกแƒฌแƒแƒ แƒ˜ แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜?

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— pod แƒšแƒ”แƒ˜แƒ‘แƒšแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

kubectl get pods --show-labels

แƒแƒœ, แƒ—แƒฃ แƒžแƒแƒ“แƒ˜ แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก:

kubectl get pods --selector any-name=my-app --show-labels

ะ“ะดะต any-name=my-app แƒแƒ แƒ˜แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ˜ any-name: my-app.

แƒ“แƒแƒ แƒฉแƒ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”?

แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ pod! แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ port-forward แƒ™แƒฃแƒ‘แƒ”แƒฅแƒขแƒšแƒจแƒ˜. แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜.

kubectl port-forward service/<service name> 3000:80

ะ—ะดะตััŒ:

  • service/<service name> - แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ; แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒกแƒ”แƒ my-service;
  • 3000 แƒแƒ แƒ˜แƒก แƒžแƒแƒ แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒฎแƒกแƒœแƒแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ”;
  • 80 - แƒ•แƒ”แƒšแƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ แƒขแƒ˜ port แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ.

แƒ—แƒฃ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ“แƒแƒ›แƒงแƒแƒ แƒ“แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒกแƒฌแƒแƒ แƒ˜แƒ.

แƒ—แƒฃ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ•แƒ”แƒ  แƒฎแƒ”แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ แƒแƒœ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜ แƒแƒ  แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ.

แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒกแƒ แƒ“แƒ แƒ˜แƒœแƒ’แƒ แƒ”แƒกแƒก แƒจแƒแƒ แƒ˜แƒก

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Ingress-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ. แƒ˜แƒœแƒ’แƒ แƒ”แƒกแƒ›แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒแƒ“แƒ”แƒก, แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒ˜แƒซแƒ˜แƒแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒก แƒžแƒแƒ“แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒ›แƒแƒ—แƒ™แƒ”แƒœ. Ingress แƒžแƒแƒฃแƒšแƒแƒ‘แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒ“แƒ แƒฆแƒ˜แƒ แƒžแƒแƒ แƒขแƒ˜แƒ—.

Ingress แƒ“แƒ Service-แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒแƒ แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก:

  1. servicePort Ingress-แƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒก port แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜;
  2. serviceName Ingress-แƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก แƒ•แƒ”แƒšแƒก name แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒฏแƒแƒ›แƒ”แƒ‘แƒก แƒžแƒแƒ แƒขแƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒก:

1) แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ™แƒ•แƒ” แƒ˜แƒชแƒ˜แƒ—, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฃแƒกแƒ›แƒ”แƒœแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒก port:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

2) Ingress-แƒก แƒแƒฅแƒ•แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ”.แƒฌ servicePort:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

3) แƒ”แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ (servicePort) แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก port แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒแƒจแƒ˜:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

4) แƒ—แƒฃ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒแƒ แƒขแƒ˜ 80, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ servicePort แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒงแƒ 80-แƒ˜แƒก แƒขแƒแƒšแƒ˜:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฎแƒแƒ–แƒ”แƒ‘แƒก:

apiVersion: v1
kind: Service
metadata:
 name: my-service  # <<<
spec:
  ports:
 - port: 80  # <<<
   targetPort: 8080
  selector:
    any-name: my-app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - http:
    paths:
    - backend:
       serviceName: my-service  # <<<
       servicePort: 80  # <<<
     path: /

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ—แƒฃ แƒแƒ แƒ Ingress?

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ kubectl port-forward, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒก.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ แƒ™แƒ•แƒ˜แƒแƒ— แƒžแƒแƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒ—:

kubectl get pods --all-namespaces
NAMESPACE   NAME                              READY STATUS
kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
kube-system etcd-minikube                     1/1   Running
kube-system kube-apiserver-minikube           1/1   Running
kube-system kube-controller-manager-minikube  1/1   Running
kube-system kube-proxy-zvf2h                  1/1   Running
kube-system kube-scheduler-minikube           1/1   Running
kube-system nginx-ingress-controller-6fc5bcc  1/1   Running

แƒ˜แƒžแƒแƒ•แƒ”แƒ— Ingress pod (แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒกแƒฎแƒ•แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜) แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ describeแƒžแƒแƒ แƒขแƒ˜แƒก แƒœแƒแƒ›แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒ แƒ™แƒ•แƒ”แƒ•แƒแƒ“:

kubectl describe pod nginx-ingress-controller-6fc5bcc 
--namespace kube-system 
 | grep Ports
Ports:         80/TCP, 443/TCP, 18080/TCP

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ˜แƒ— แƒžแƒแƒ“แƒก:

kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system

แƒแƒฎแƒšแƒ แƒงแƒแƒ•แƒ”แƒš แƒฏแƒ”แƒ แƒ–แƒ”, แƒ แƒแƒชแƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก 3000 แƒžแƒแƒ แƒขแƒ–แƒ” แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒจแƒ˜, แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒžแƒแƒ แƒขแƒ˜แƒก 80 แƒžแƒแƒ แƒขแƒจแƒ˜ Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒ—. แƒฌแƒแƒกแƒ•แƒšแƒ˜แƒ— http://localhost:3000, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒœแƒแƒฎแƒแƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜.

แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒแƒ•แƒ˜แƒฎแƒกแƒ”แƒœแƒแƒ— แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก:

  1. แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒจแƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก แƒžแƒแƒ“แƒ˜แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒก;
  2. targetPort แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒแƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก containerPort แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒงแƒ“แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—;
  3. port แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒแƒจแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜. แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒแƒ แƒขแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜;
  4. servicePort แƒจแƒ”แƒ›แƒแƒกแƒ•แƒšแƒ แƒฃแƒœแƒ“แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒแƒ“แƒ”แƒก port แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒแƒจแƒ˜;
  5. แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ•แƒ”แƒšแƒก serviceName แƒ˜แƒœแƒ’แƒ แƒ”แƒกแƒจแƒ˜.

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒ›แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒแƒฌแƒงแƒแƒ— YAML แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ.

แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒชแƒ แƒ แƒแƒ›แƒ” แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ›แƒ˜แƒ“แƒ˜แƒก?

แƒžแƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ›แƒแƒ•แƒแƒ แƒ“แƒ”แƒก.

3 แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ Kubernetes-แƒจแƒ˜ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒกแƒแƒœแƒแƒ› แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒแƒก, แƒ™แƒแƒ แƒ’แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒ”แƒกแƒ›แƒแƒ“แƒ”แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Kubernetes.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ K8s-แƒจแƒ˜ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒš แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒแƒฅแƒ•แƒก แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜, แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—, แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜.

  1. แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜...
  2. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—, แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’...
  3. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ Ingress แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“.

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ:

1) แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒซแƒ”แƒ‘แƒœแƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ—. แƒฏแƒ”แƒ  แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—, แƒ แƒแƒ› แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜ Ready ะธ Running:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

2) แƒ—แƒฃ แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก (Ready), แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ แƒ™แƒ•แƒ˜แƒแƒ—, แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒก แƒ—แƒฃ แƒแƒ แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

3) แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒกแƒ แƒ“แƒ Ingress-แƒก แƒจแƒแƒ แƒ˜แƒก:

แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒแƒ›แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜ แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“

1. แƒฌแƒ˜แƒžแƒฌแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ

แƒฃแƒ›แƒ”แƒขแƒ”แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฌแƒ˜แƒžแƒฌแƒแƒกแƒ—แƒแƒœ. แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ‘แƒฃแƒฉแƒฅแƒ”แƒ‘แƒ˜ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช Ready ะธ Running. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

kubectl get pods
NAME                    READY STATUS            RESTARTS  AGE
app1                    0/1   ImagePullBackOff  0         47h
app2                    0/1   Error             0         47h
app3-76f9fcd46b-xbv4k   1/1   Running           1         47h

แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒš แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒจแƒ˜, แƒ‘แƒแƒšแƒ pod แƒแƒ แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช Running ะธ Readyแƒ—แƒฃแƒ›แƒชแƒ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœ แƒแƒ แƒ–แƒ” แƒ”แƒก แƒแƒกแƒ” แƒแƒ  แƒแƒ แƒ˜แƒก.

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ—, แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ?

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒแƒ—แƒฎแƒ˜ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

  1. kubectl logs <ะธะผั pod'ะฐ> แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒแƒ›แƒแƒ˜แƒฆแƒแƒ— แƒ›แƒแƒ แƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒงแƒฃแƒ—แƒจแƒ˜;
  2. kubectl describe pod <ะธะผั pod'ะฐ> แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒœแƒแƒฎแƒแƒ— แƒžแƒแƒ“แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ;
  3. kubectl get pod <ะธะผั pod'ะฐ> แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— Kubernetes-แƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ pod-แƒ˜แƒก YAML แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ;
  4. kubectl exec -ti <ะธะผั pod'ะฐ> bash แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒญแƒฃแƒ แƒ•แƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒžแƒแƒ“ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜

แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ—?

แƒคแƒแƒฅแƒขแƒ˜แƒ, แƒ แƒแƒ› แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ. แƒ›แƒแƒ—แƒ˜ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒฏแƒ˜แƒจแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜

แƒžแƒแƒ“ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒ: แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜:

  • ImagePullBackoff
  • ImageInspectError
  • ErrImagePull
  • ErrImageNeverPull
  • RegistryUnavailable
  • InvalidImageName

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜:

  • CrashLoopBackOff
  • RunContainerError
  • KillContainerError
  • VerifyNonRootError
  • RunInitContainerError
  • CreatePodSandboxError
  • ConfigPodSandboxError
  • KillPodSandboxError
  • SetupNetworkError
  • TeardownNetworkError

แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒฃแƒคแƒ แƒ แƒฎแƒจแƒ˜แƒ แƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒกแƒฎแƒ•แƒ”แƒ‘แƒ˜. แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ แƒแƒ›แƒแƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒแƒกแƒฌแƒแƒ แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜.

ImagePullBackOff

แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช Kubernetes แƒ•แƒ”แƒ  แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ pod แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒฅ แƒแƒ แƒ˜แƒก แƒแƒ›แƒ˜แƒก แƒกแƒแƒ›แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜:

  1. แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜แƒ - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒ“แƒแƒฃแƒจแƒ•แƒ˜แƒ—, แƒแƒœ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก;
  2. แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ” แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ”แƒ’แƒ˜;
  3. แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒแƒ“ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒจแƒ˜ แƒ“แƒ Kubernetes-แƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒแƒกแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒœแƒ”แƒ‘แƒแƒ แƒ—แƒ•แƒ.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ - แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒแƒกแƒฌแƒแƒ แƒ”แƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒขแƒ”แƒ’แƒ˜. แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒแƒ— แƒ“แƒแƒฎแƒฃแƒ แƒฃแƒšแƒ˜ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒก แƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒแƒ—แƒ แƒกแƒ˜แƒ’แƒ”แƒšแƒ”แƒ‘แƒ˜ Secret-แƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒ›แƒแƒกแƒ–แƒ” แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒžแƒแƒ“แƒ”แƒ‘แƒจแƒ˜. แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ”แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก.

Crash Loop แƒฃแƒ™แƒแƒœ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ

แƒ™แƒฃแƒ‘แƒ”แƒœแƒ”แƒขแƒ”แƒกแƒ˜ แƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก CrashLoopBackOffแƒ—แƒฃ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒ•แƒ”แƒ  แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ. แƒ”แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช:

  1. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฎแƒ”แƒšแƒก แƒฃแƒจแƒšแƒ˜แƒก แƒ›แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก;
  2. แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜;
  3. Liveness แƒขแƒ”แƒกแƒขแƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ‘แƒ”แƒ•แƒ แƒฏแƒ”แƒ  แƒฉแƒแƒ•แƒแƒ แƒ“แƒ.

แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒกแƒชแƒแƒ“แƒแƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ•แƒ”แƒ“แƒ แƒ, แƒ แƒแƒ—แƒ แƒ’แƒแƒแƒ แƒ™แƒ•แƒ˜แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜. แƒ—แƒฃ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ:

kubectl logs <pod-name> --previous

แƒ˜แƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒฌแƒ˜แƒœแƒ แƒ˜แƒœแƒ™แƒแƒ แƒœแƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ.

RunContainerError

แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒ•แƒ”แƒ  แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก. แƒ˜แƒก แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ›แƒแƒ›แƒ”แƒœแƒขแƒก. แƒ”แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

  • แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒแƒ›แƒ˜แƒก แƒ“แƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ ConfigMap แƒแƒœ Secrets;
  • แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“แƒ˜ แƒขแƒแƒ›แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ-แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ.

แƒ’แƒฃแƒœแƒ“แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“ kubectl describe pod <pod-name>.

แƒžแƒแƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒจแƒ˜แƒ

แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒžแƒแƒ“แƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜ Pending.

แƒ แƒแƒขแƒแƒ› แƒฎแƒ“แƒ”แƒ‘แƒ แƒ”แƒก?

แƒแƒฅ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜ (แƒ•แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘, แƒ แƒแƒ› แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก):

  1. แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒซแƒšแƒแƒ•แƒ แƒ” แƒ“แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ, แƒžแƒแƒ“แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“.
  2. แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ ResourceQuota แƒ“แƒ pod แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ™แƒ•แƒแƒขแƒ˜แƒก แƒ›แƒ˜แƒฆแƒ›แƒ.
  3. Pod แƒ›แƒ˜แƒ‘แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ›แƒšแƒแƒ“แƒ˜แƒœแƒ” PersistentVolumeClaim.

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ kubectl describe แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ Events:

kubectl describe pod <pod name>

แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ ResourceQuotas, แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

kubectl get events --sort-by=.metadata.creationTimestamp

แƒขแƒแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก

แƒ—แƒฃ แƒžแƒแƒ“แƒ˜ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช Running, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜ Ready, แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก (แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒ˜แƒก แƒ–แƒแƒœแƒ“แƒ˜) แƒ›แƒแƒ แƒชแƒฎแƒ“แƒ”แƒ‘แƒ.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ”แƒก แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒžแƒแƒ“แƒ˜ แƒแƒ  แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒ“แƒ แƒแƒ  แƒ›แƒ˜แƒ”แƒ“แƒ˜แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒกแƒ–แƒ” แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜. แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ›แƒแƒกแƒแƒซแƒ”แƒ‘แƒœแƒแƒ“, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜ Events แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ kubectl describe.

2. แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ

แƒ—แƒฃ แƒฌแƒ˜แƒžแƒฌแƒ”แƒ‘แƒ˜ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช Running ะธ Ready, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜.

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒ–แƒ”, แƒ›แƒแƒ—แƒ˜ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ—, แƒแƒ แƒ˜แƒก แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒžแƒแƒ“แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜:

kubectl describe service <service-name> | grep Endpoints

แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒคแƒแƒ แƒ›แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ <IP-ะฐะดั€ะตั:ะฟะพั€ั‚>, แƒ“แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒจแƒ˜ (แƒแƒœแƒฃ, แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒžแƒแƒ“แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ).

แƒ—แƒฃ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ Endpoins แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜, แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜:

  1. แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒฌแƒแƒ แƒ˜ แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜ (แƒ›แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ: แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ—แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒšแƒ˜);
  2. แƒกแƒ”แƒšแƒ”แƒฅแƒขแƒแƒ แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ”แƒขแƒ˜แƒ™แƒ”แƒขแƒ”แƒ‘แƒจแƒ˜.

แƒ—แƒฃ แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ˜แƒœแƒช แƒ•แƒ”แƒ  แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒ แƒ“แƒแƒ›แƒœแƒแƒจแƒแƒ•แƒ” แƒแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ targetPort แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒแƒจแƒ˜.

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ?

แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒก แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ kubectl port-forward แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“:

kubectl port-forward service/<service-name> 3000:80

ะ—ะดะตััŒ:

  • <service-name> - แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ;
  • 3000 แƒแƒ แƒ˜แƒก แƒžแƒแƒ แƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฎแƒกแƒœแƒ˜แƒ— แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ”;
  • 80 - แƒžแƒแƒ แƒขแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ”แƒก.

3. แƒจแƒ”แƒ›แƒแƒกแƒ•แƒšแƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ

แƒ—แƒฃ แƒแƒฅแƒแƒ›แƒ“แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”, แƒ›แƒแƒจแƒ˜แƒœ:

  • แƒฌแƒ˜แƒžแƒฌแƒ”แƒ‘แƒ˜ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช Running ะธ Ready;
  • แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒจแƒ˜.

แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ•แƒ”แƒ  แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒžแƒก.

แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒฌแƒแƒ แƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒœแƒแƒ› Ingress-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ•แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒฆแƒแƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜. Ingress แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก serviceName ะธ servicePort แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

kubectl describe ingress <ingress-name>

แƒ—แƒฃ แƒกแƒ•แƒ”แƒขแƒ˜ Backend แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒแƒ. แƒ—แƒฃ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ“แƒ’แƒ˜แƒšแƒ–แƒ”แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก:

  • แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ•แƒšแƒ แƒกแƒแƒฏแƒแƒ แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒ“แƒแƒœ;
  • แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒกแƒแƒฏแƒแƒ แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒ“แƒแƒœ.

แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ Ingress pod-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฏแƒ”แƒ  แƒ˜แƒžแƒแƒ•แƒ”แƒ— Ingress Controller pod (แƒ˜แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒกแƒฎแƒ•แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜):

kubectl get pods --all-namespaces
NAMESPACE   NAME                              READY STATUS
kube-system coredns-5644d7b6d9-jn7cq          1/1   Running
kube-system etcd-minikube                     1/1   Running
kube-system kube-apiserver-minikube           1/1   Running
kube-system kube-controller-manager-minikube  1/1   Running
kube-system kube-proxy-zvf2h                  1/1   Running
kube-system kube-scheduler-minikube           1/1   Running
kube-system nginx-ingress-controller-6fc5bcc  1/1   Running

แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ describeแƒžแƒแƒ แƒขแƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“:

kubectl describe pod nginx-ingress-controller-6fc5bcc
--namespace kube-system 
 | grep Ports

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ˜แƒ— แƒžแƒแƒ“แƒก:

kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system

แƒแƒฎแƒšแƒ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ” 3000 แƒžแƒแƒ แƒขแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ“แƒ”แƒ‘แƒ แƒžแƒแƒ“แƒ˜แƒก 80 แƒžแƒแƒ แƒขแƒ–แƒ”.

แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒฎแƒšแƒ?

  • แƒ—แƒฃ แƒ™แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜แƒ. แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ’แƒแƒ˜แƒ แƒ™แƒ•แƒ”แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒ˜แƒ”แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜.
  • แƒ—แƒฃ แƒแƒ แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒ แƒ˜แƒก Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ—แƒแƒœ.

แƒ—แƒฃ แƒ•แƒ”แƒ  แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ— Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ.

Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒแƒ‘แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜แƒ Nginx, HAProxy, Traefik แƒ“แƒ แƒ.แƒจ. (แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ˜แƒฎ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ - แƒ“แƒแƒแƒฎแƒš. แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜.) แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜. แฒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› Ingress Nginx แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒจแƒ”แƒ•แƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒฉแƒ”แƒ•แƒ แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“.

Ingress Nginx แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ

Ingress-nginx แƒžแƒ แƒแƒ”แƒฅแƒขแƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒฐแƒงแƒแƒ•แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜ kubectl-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒฃแƒœแƒ“แƒ˜ kubectl ingress-nginx แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก:

  • แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก, แƒ‘แƒ”แƒฅแƒ”แƒœแƒ“แƒ”แƒ‘แƒ˜แƒก, แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ.แƒจ. แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜;
  • แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ Ingress-แƒ—แƒแƒœ;
  • แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ›แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ— แƒแƒ›แƒแƒจแƒ˜:

  • kubectl ingress-nginx lint - แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก nginx.conf;
  • kubectl ingress-nginx backend โ€” แƒ˜แƒ™แƒ•แƒšแƒ”แƒ•แƒก แƒฃแƒ™แƒแƒœแƒ แƒœแƒแƒฌแƒ˜แƒšแƒก (แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ kubectl describe ingress <ingress-name>);
  • kubectl ingress-nginx logs - แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒก.

แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ— แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— Ingress แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒกแƒฌแƒแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ --namespace <name>.

แƒ แƒ”แƒ–แƒ˜แƒฃแƒ›แƒ”

Kubernetes-แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก, แƒ—แƒฃ แƒแƒ  แƒ˜แƒชแƒ˜แƒ— แƒกแƒแƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ—. แƒ—แƒฅแƒ•แƒ”แƒœ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ“แƒ’แƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ“แƒแƒœ แƒ–แƒ”แƒ•แƒ˜แƒ—: แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ— แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ–แƒ” แƒ“แƒ Ingress-แƒ–แƒ”. แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒกแƒฎแƒ•แƒ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ:

  • แƒฃแƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒฏแƒแƒ‘แƒกแƒ˜ แƒ“แƒ CronJobs;
  • StatefulSets แƒ“แƒ DaemonSets.

แƒ›แƒแƒ“แƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ’แƒแƒ›แƒแƒ•แƒฎแƒแƒขแƒแƒ• แƒ’แƒ”แƒ แƒ’แƒ”แƒšแƒ˜ แƒ แƒ˜แƒกแƒ™แƒ, แƒ“แƒแƒœแƒ˜แƒ”แƒš แƒ•แƒ”แƒ˜แƒ‘แƒ”แƒšแƒ˜ ะธ แƒฉแƒแƒ แƒšแƒ– แƒ™แƒ แƒ˜แƒกแƒขแƒ˜แƒ แƒแƒŸแƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

PS แƒ›แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ