เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเดตเต, เดฑเต‚เดตเตป เดนเดพเดฐเดฟเดธเตบ, เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดตเดฟเด•เดธเดจเดคเตเดคเดฟเตฝ 20 เดตเตผเดทเดคเตเดคเดฟเดฒเต‡เดฑเต† เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณเดฏเดพเดณเดพเดฃเต, เด‡เดจเตเดจเต เดธเตเดฐเด•เตเดทเดพ เดจเดฏ เดฎเดพเดจเต‡เดœเตโ€Œเดฎเต†เดจเตเดฑเต เดธเตŠเดฒเตเดฏเต‚เดทเดจเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจ เด•เดฎเตเดชเดจเดฟเดฏเดพเดฏ เดŸเตเดซเดฟเดจเดฟเดจเตเดฑเต† เดธเดฟเดŸเดฟเด’เดฏเตเด‚ เดธเดนเดธเตเดฅเดพเดชเด•เดจเตเดฎเดพเดฃเต. เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดตเดฟเดญเดœเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดถเด•เตเดคเดฎเดพเดฏ เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเต† เด…เดฆเตเดฆเต‡เดนเด‚ เดตเต€เด•เตเดทเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด…เดคเตเดฐ เดŽเดณเตเดชเตเดชเดฎเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด…เดฆเตเดฆเต‡เดนเด‚ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ (เดตเดณเดฐเต† เดตเดฒเตเดคเดพเดฃเต) เดˆ เดชเตเดฐเดถเตเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเตเดชเต†เดทเตเดฏเดฒเดฟเดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดตเดฌเต‹เดงเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด…เดตเดฐเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเตเดณเตเดณเดคเดพเดฃเต.

เด‡เดจเตเดจเต, เดชเดฒ เด•เดฎเตเดชเดจเดฟเด•เดณเตเด‚ เด…เดตเดฐเตเดŸเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเด•เดณเต† เด•เต‚เดŸเตเดคเดฒเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดฒเตเดณเตเดณ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเด‚ เดตเดณเดฐเต† เด‰เดฏเตผเดจเตเดจเดคเดพเดฃเต, เดšเดฟเดฒเตผ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดฟเดจเต† "เดกเดพเดฑเตเดฑเดพ เดธเต†เดจเตเดฑเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เดชเตเดคเดฟเดฏ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฐเดฎเต‡เดฃ, เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ k8s) เดฌเดฟเดธเดฟเดจเดธเตเดธเดฟเดจเตเดฑเต† เด’เดฐเต เดจเดฟเตผเดฃเดพเดฏเด• เดญเดพเด—เดฎเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเดฟเดจเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเตเดฐเด•เตเดท เด‰เตพเดชเตเดชเต†เดŸเต†เดฏเตเดณเตเดณ เดฎเตเดคเดฟเตผเดจเตเดจ เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเตเดŸเต† เด“เตผเด—เดจเตˆเดธเต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

Kubernetes-เดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดฏ เดธเตเดฐเด•เตเดทเดพ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เต, เดฏเดฅเดพเตผเดคเตเดฅ เดตเต†เดณเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดจเตเดฑเต† เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดจเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚: เดŽเดฒเตเดฒเดพเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเตเดŸเต† เด†เดจเตเดคเดฐเดฟเด• เด˜เดŸเดจ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดˆ เด—เตˆเดกเต เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเด‚; เดธเดพเดงเดพเดฐเดฃ เดซเดฏเตผเดตเดพเดณเตเด•เดณเตเดŸเต† เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดต เดŽเด™เตเด™เดจเต† เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด•. เด‡เดคเต เดšเดฟเดฒ เดชเต‹เดฐเดพเดฏเตเดฎเด•เตพ เดฎเดฑเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเด•เดณเดฟเดฒเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเด•เตเด•เดพเตป เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดถเตเดชเดพเตผเดถเด•เตพ เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดฒเต†เดฏเดฑเดฟเดฒเต† เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เด‡เดŸเดชเต†เดŸเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเต‹เดณเดฟเดธเดฟ เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต (เด’เดŽเดธเตโ€Œเด เดฎเต‹เดกเดฒเดฟเดฒเต† เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต‡เดคเต). เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเดฟเตฝ เด’เดŽเดธเตโ€Œเด เดฒเต†เดฏเตผ 7 เดŽเตปเดซเต‹เดดเตโ€Œเดธเตโ€Œเดฎเต†เดจเตเดฑเต, เดญเต€เดทเดฃเดฟ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเตเดณเตเดณ เด†เดงเตเดจเดฟเด• เดซเดฏเตผเดตเดพเดณเตเด•เดณเตเดŸเต† เดšเดฟเดฒ เดจเต‚เดคเดจ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‡เดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเตเดฐเด•เตเดทเดฏเตเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจ เดคเดฒเด‚ เดจเตฝเด•เตเดจเตเดจเต, เด…เดคเต เด’เดฐเต เดจเดฒเตเดฒ เดคเตเดŸเด•เตเด•เดฎเดพเดฃเต.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดชเต‹เดกเตเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด’เดฐเตเดฎเดฟเดšเตเดšเต เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเต‹เดกเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดฟเดฒเต† เดœเต‹เดฒเดฟเดญเดพเดฐเด‚ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด“เดฐเต‹ เดชเต‹เดกเดฟเดจเตเด‚ เดฎเดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เด’เดฐเต IP เดตเดฟเดฒเดพเดธเด‚ เดจเตฝเด•เตเดจเตเดจเต. เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เด‡เตปเดธเตโ€Œเดฑเตเดฑเตปเดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด•เตเดฒเต—เดกเดฟเดฒเต† เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เด—เตเดฐเต‚เดชเตเดชเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเต‹เดกเตเด•เดณเตเดŸเต† เด—เตเดฐเต‚เดชเตเดชเตเด•เตพเด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เด…เดตเด•เดพเดถเด™เตเด™เตพ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเดจเตเดจเต.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต

เดฎเดฑเตเดฑเต Kubernetes เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดชเต‹เดฒเต†, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเตเด‚ YAML-เตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป balance เด†เด•เตเดธเดธเต postgres:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: balance
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

(เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เดˆ เดธเตเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเต, เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเดฎเดพเดจเดฎเดพเดฏเดตเดฏเตเด‚ เดชเต‹เดฒเต†, เดจเต‡เดฑเตเดฑเต€เดตเต เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดฏเดฅเดพเตผเดคเตเดฅ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเตเดฑเต† เด•เดฎเตเดชเดจเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเด‚ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดฎเดพเดฏ เดŸเตเดฏเต‚เดซเดฟเตป เด“เตผเด•เตเด•เดพ เดŸเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต.)

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด‚ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต YAML-เดจเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด…เดŸเดฟเดธเตเดฅเดพเดจ เด…เดฑเดฟเดตเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดˆ เดญเดพเดท เด‡เตปเดกเดจเตเดฑเต‡เดทเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดพเดฃเต (เดŸเดพเดฌเตเด•เตพเด•เตเด•เต เดชเด•เดฐเด‚ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดพเดฃเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดคเต). เด’เดฐเต เด‡เตปเดกเดจเตเดฑเต เดฎเต‚เดฒเด•เด‚ เด…เดคเดฟเดจเต เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เด…เดŸเตเดคเตเดคเตเดณเตเดณ เด‡เตปเดกเดจเตเดฑเต เดฎเต‚เดฒเด•เดคเตเดคเดฟเดจเตเดฑเต‡เดคเดพเดฃเต. เด’เดฐเต เดชเตเดคเดฟเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เด˜เดŸเด•เด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดนเตˆเดซเดจเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต, เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพ เด˜เดŸเด•เด™เตเด™เตพเด•เตเด•เตเด‚ เดซเต‹เด‚ เด‰เดฃเตเดŸเต เด•เต€-เดฎเต‚เดฒเตเดฏเด‚.

YAML-เตฝ เดจเดฏเด‚ เดตเดฟเดตเดฐเดฟเดšเตเดš เดถเต‡เดทเด‚, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เด•เตเดฌเต†เด•เตเดฒเดฟเด‡เดคเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป:

kubectl create -f policy.yaml

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเต‹เดณเดฟเดธเดฟ เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเต‹เดณเดฟเดธเดฟ เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดจเดพเดฒเต เด˜เดŸเด•เด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต:

  1. podSelector: เดˆ เดจเดฏเด‚ เดฌเดพเดงเดฟเดšเตเดš เดชเต‹เดกเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต (เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ) - เด†เดตเดถเตเดฏเดฎเดพเดฃเต;
  2. policyTypes: เด‡เดคเดฟเตฝ เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเดฏเด™เตเด™เดณเดพเดฃเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต: เดชเตเดฐเดตเต‡เดถเดจเด‚ เด•เต‚เดŸเดพเดคเต†/เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตฝ - เด“เดชเตเดทเดฃเตฝ, เดŽเดจเตเดจเดพเตฝ เดŽเดฒเตเดฒเดพ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚ เด‡เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต;
  3. ingress: เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต†เดจเตเดจเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดŸเตเดฐเดพเดซเดฟเด•เต - เด“เดชเตเดทเดฃเตฝ;
  4. egress: เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต†เดจเตเดจเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต outเดŸเตเดŸเตเด—เต‹เดฏเดฟเด‚เด—เต เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเตเดฐเดพเดซเดฟเด•เต เด“เดชเตเดทเดฃเตฝ เด†เดฃเต.

Kubernetes เดตเต†เดฌเตเดธเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดŸเตเดคเตเดค เด‰เดฆเดพเดนเดฐเดฃเด‚ (เดžเดพเตป เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดšเตเดšเต role เด“เตบ app), เดจเดพเดฒเต เด˜เดŸเด•เด™เตเด™เดณเตเด‚ เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:    # <<<
    matchLabels:
      app: db
  policyTypes:    # <<<
  - Ingress
  - Egress
  ingress:        # <<<
  - from:
    - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 172.17.1.0/24
    - namespaceSelector:
        matchLabels:
          project: myproject
    - podSelector:
        matchLabels:
          role: frontend
    ports:
    - protocol: TCP
      port: 6379
  egress:         # <<<
  - to:
    - ipBlock:
        cidr: 10.0.0.0/24
    ports:
    - protocol: TCP
      port: 5978

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚
เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดจเดพเดฒเต เด˜เดŸเด•เด™เตเด™เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•. เด…เดคเต เดจเดฟเตผเดฌเดจเตเดงเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต podSelector, เดฎเดฑเตเดฑเต เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด†เดตเดถเตเดฏเดพเดจเตเดธเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

เดจเดฟเด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ policyTypes, เดจเดฏเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚:

  • เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เด‡เดคเต เดชเตเดฐเดตเต‡เดถเดจ เดตเดถเด‚ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดจเดฏเด‚ เด‡เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพ เด—เดคเดพเด—เดคเดตเตเด‚ เดจเดฟเดฐเต‹เดงเดฟเดšเตเดšเดคเดพเดฏเดฟ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเด‚.
  • เดŽเด—เตเดฐเดธเต เดธเตˆเดกเดฟเดฒเต† เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดจเตเดฌเดจเตเดง เดŽเด—เตเดฐเดธเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเดฎเต‹ เด…เดญเดพเดตเดฎเต‹ เด…เดจเตเดธเดฐเดฟเดšเตเดšเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

เดคเต†เดฑเตเดฑเตเด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดŽเดชเตเดชเต‹เดดเตเด‚ เด…เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด• policyTypes.

เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดž เดฏเตเด•เตเดคเดฟ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด†เดฃเต†เด™เตเด•เดฟเตฝ ingress เด’เดชเตเดชเด‚ / เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ egress เด’เดดเดฟเดตเดพเด•เตเด•เดฟ, เดจเดฏเด‚ เดŽเดฒเตเดฒเดพ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด‚ (เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ "เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เดฑเต‚เตพ" เด•เดพเดฃเตเด•).

เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดจเดฏเด‚

เดจเดฏเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ Kubernetes เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ เด•เดพเดฏเตเด•เตพเด•เตเด•เตเด‚ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเดฐเดธเตเดชเดฐเด‚ เด•เตˆเดฎเดพเดฑเดพเตป เด•เดดเดฟเดฏเตเด‚. เด’เดฐเต เดธเตเดฐเด•เตเดทเดพ เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดคเต เดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดจเตเดฑเตผเด“เดชเตเดชเดฑเดฌเดฟเดณเดฟเดฑเตเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดคเดพเดฃเต Kubernetes เดŽเดจเตเดจเต เด“เตผเด•เตเด•เตเด•. เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต เดšเต‡เตผเดคเตเดคเต.

เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เตพ

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเดนเด•เดฐเดฃ เดธเด‚เดตเดฟเดงเดพเดจเดฎเดพเดฃเต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เตพ. เด…เดต เดชเดฐเดธเตเดชเดฐเด‚ เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เด‡เดŸเด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต.

เดฎเดฟเด•เตเด• เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด˜เดŸเด•เด™เตเด™เดณเต†เดฏเตเด‚ เดชเต‹เดฒเต†, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเต‹เดณเดฟเดธเดฟเด•เดณเตเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดœเต€เดตเดฟเด•เตเด•เตเดจเตเดจเต. เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ metadata เดชเต‹เดณเดฟเดธเดฟ เดเดคเต เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดจเตเดฑเต‡เดคเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: my-namespace  # <<<
spec:
...

เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด‚ kubectl-เตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ (เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ namespace=default):

kubectl apply -n my-namespace -f namespace.yaml

เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•, เดจเดฟเด™เตเด™เตพ เด’เดฐเต‡เดธเดฎเดฏเด‚ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ เดฒเด•เตเดทเตเดฏเดฎเดฟเดŸเตเดจเตเดจ เด’เดฐเต เดจเดฏเด‚ เดŽเดดเตเดคเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ.

เดชเตเดฐเดงเดพเดจเด‚ เดฎเต‚เดฒเด•เด‚ podSelector เดชเต‹เดณเดฟเดธเดฟเดฏเดฟเตฝ เดชเต‹เดณเดฟเดธเดฟ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเต‹เดกเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด‚ (เดฎเดฑเตเดฑเตŠเดฐเต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เด‡เดคเดฟเดจเต เดจเดฟเดทเต‡เดงเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต).

เด…เดคเตเดชเต‹เดฒเต†, podSelectors เด‡เตปเด—เตเดฐเต†เดธเต, เดŽเด—เตเดฐเดธเต เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเตฝ เดชเต‹เดกเตเด•เตพ เด…เดตเดฐเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต‡ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเดจเดพเด•เต‚, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดจเดฟเด™เตเด™เตพ เด…เดตเดฏเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ namespaceSelector (เด‡เดคเต "เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเตเด‚ เดชเต‹เดกเตเด•เดณเตเด‚ เดชเตเดฐเด•เดพเดฐเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•" เดŽเดจเตเดจ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเตเด‚).

เดจเดฏ เดจเดพเดฎเด•เดฐเดฃ เดจเดฟเดฏเดฎเด™เตเด™เตพ

เดชเต‹เดณเดฟเดธเดฟ เดจเดพเดฎเด™เตเด™เตพ เด’เดฐเต‡ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฃเต. เด’เดฐเต‡ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เด’เดฐเต‡ เดชเต‡เดฐเดฟเตฝ เดฐเดฃเตเดŸเต เดชเต‹เดณเดฟเดธเดฟเด•เตพ เด‰เดฃเตเดŸเดพเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเตฝ เด’เดฐเต‡ เดชเต‡เดฐเดฟเตฝ เดชเต‹เดณเดฟเดธเดฟเด•เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚. เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเตฝ เด’เดฐเต‡ เดชเต‹เดณเดฟเดธเดฟ เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต.

เดชเต‡เดฐเดฟเดŸเตฝ เดฐเต€เดคเดฟเด•เดณเดฟเตฝ เด’เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เด‡เดทเตเดŸเดฎเดพเดฃเต. เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเตเดฎเดพเดฏเดฟ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต เดจเดพเดฎเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres  # <<<
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: admin
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดฒเต‡เดฌเดฒเตเด•เตพ

เดชเต‹เดกเตเด•เดณเตเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเตเด‚ เดชเต‹เดฒเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดฒเต‡เดฌเดฒเตเด•เตพ เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚. เดฒเต‡เดฌเดฒเตเด•เตพ (เดฒเต‡เดฌเดฒเตเด•เตพ - เดŸเดพเด—เตเด•เตพ) เด•เตเดฒเต—เดกเดฟเดฒเต† เดŸเดพเด—เตเด•เตพเด•เตเด•เต เดคเตเดฒเตเดฏเดฎเดพเดฃเต. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เดฒเต‡เดฌเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เด•เดพเดฏเตเด•เตพเด…เดตเตผ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดต:

podSelector:
  matchLabels:
    role: db

โ€ฆ เด…เดฅเดตเดพ เดจเดพเดฎเดฎเต‡เด–เดฒเด•เตพเด…เดคเดฟเดจเต เด…เดตเตผ เดฌเดพเดงเด•เดฎเดพเดฃเต. เดˆ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เด…เดจเตเดฌเดจเตเดง เดฒเต‡เดฌเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต:

namespaceSelector:
  matchLabels:
    project: myproject

เด’เดฐเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต: เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ namespaceSelector เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดถเดฐเดฟเดฏเดพเดฏ เดฒเต‡เดฌเตฝ เด‰เดฃเตเดŸเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด•. เดชเต‹เดฒเตเดณเตเดณ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ เดŽเดจเตเดจเต เด…เดฑเดฟเดžเตเดžเดฟเดฐเดฟเด•เตเด•เตเด• default ะธ kube-system, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดฒเต‡เดฌเดฒเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดฐเตเดคเต.

เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฒเต‡เดฌเตฝ เดšเต‡เตผเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚:

kubectl label namespace default namespace=default

เด…เดคเต‡ เดธเดฎเดฏเด‚, เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต metadata เดฒเต‡เดฌเดฒเดฒเตเดฒ, เดฏเดฅเดพเตผเดคเตเดฅ เดธเตเดฅเดฒ เดจเดพเดฎเดคเตเดคเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดฃเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default   # <<<
spec:
...

เด‰เดฑเดตเดฟเดŸเดตเตเด‚ เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเดตเตเด‚

เดซเดฏเตผเดตเดพเตพ เดจเดฏเด™เตเด™เดณเดฟเตฝ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเด‚ เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เด’เดฐเต เดŸเดพเตผเด—เต†เดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต - เด…เดต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดชเต‹เดกเตเด•เตพ - เดคเตเดŸเตผเดจเตเดจเต เด‡เตปเด—เตเดฐเต†เดธเต เด•เต‚เดŸเดพเดคเต†/เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเด—เตเดฐเดธเต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดจเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดฒเด•เตเดทเตเดฏเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ default เดคเดพเด•เตเด•เต‹เดฒเตเดณเตเดณ เดฒเต‡เดฌเดฒเดฟเดจเตŠเดชเตเดชเด‚ app เด…เตผเดคเตเดฅเดตเตเด‚ db:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: db   # <<<
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 172.17.1.0/24
    - namespaceSelector:
        matchLabels:
          project: myproject
    - podSelector:
        matchLabels:
          role: frontend
    ports:
    - protocol: TCP
      port: 6379
  egress:
  - to:
    - ipBlock:
        cidr: 10.0.0.0/24
    ports:
    - protocol: TCP
      port: 5978

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚
เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด‰เดชเดตเดฟเดญเดพเด—เด‚ ingress เดˆ เดจเดฏเดคเตเดคเดฟเตฝ, เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เต เดคเตเดฑเด•เตเด•เตเดจเตเดจเต. เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เดชเตเดฐเดตเต‡เดถเดจเด‚ เด‰เดฑเดตเดฟเดŸเดตเตเด‚ เดฒเด•เตเดทเตเดฏเดฎเดพเดฃเต เด…เดจเตเดฌเดจเตเดง เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเดตเตเด‚. เด…เดคเตเดชเต‹เดฒเต†, เด‰เดฆเตเดตเต‡เด—เด‚ เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเดตเตเด‚ เดฒเด•เตเดทเตเดฏเด‚ เด…เดคเดฟเดจเตเดฑเต† เด‰เดฑเดตเดฟเดŸเดตเตเดฎเดพเดฃเต.

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด‡เดคเต เดฐเดฃเตเดŸเต เดซเดฏเตผเดตเดพเตพ เดจเดฟเดฏเดฎเด™เตเด™เตพเด•เตเด•เต เดคเตเดฒเตเดฏเดฎเดพเดฃเต: Ingress โ†’ Target; เดฒเด•เตเดทเตเดฏเด‚ โ†’ เดŽเด—เตเดฐเดธเต.

เดŽเด—เตเดฐเดธเตเด‚ เดกเดฟเดŽเตปเดŽเดธเตเด‚ (เดชเตเดฐเดงเดพเดจเด‚!)

เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดกเดฟเดŽเตปเดŽเดธเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด• เดถเตเดฐเดฆเตเดง เดจเตฝเด•เตเด• - IP เดตเดฟเดฒเดพเดธเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดธเต‡เดตเดจเด™เตเด™เตพ เดฎเดพเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเตป เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดˆ เดธเต‡เดตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฏเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ balance DNS เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเด•:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.balance
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: balance
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: postgres
  policyTypes:
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

DNS เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต เดคเตเดฑเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.balance
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: balance
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: postgres
  - to:               # <<<
    ports:            # <<<
    - protocol: UDP   # <<<
      port: 53        # <<<
  policyTypes:
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด…เดตเดธเดพเดจ เด˜เดŸเด•เด‚ to เดถเต‚เดจเตเดฏเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เด…เดคเต เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต เดŽเดฒเตเดฒเดพ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เดณเดฟเดฒเตเด‚ เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚, เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต balance เด‰เดšเดฟเดคเดฎเดพเดฏ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต DNS เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด• (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดฌเดนเดฟเดฐเดพเด•เดพเดถเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต kube-system).

เดˆ เดธเดฎเต€เดชเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด…เดฎเดฟเดคเดฎเดพเดฏเดฟ เด…เดจเตเดตเดฆเดจเต€เดฏเดตเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดกเดฟเดŽเตปเดŽเดธเต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดฎเต‚เดจเตเดจเต เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚.

1. DNS เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เดฎเดพเดคเตเดฐเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• เด…เด•เดคเตเดคเต เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด•เตเดฒเดธเตเดฑเตเดฑเตผ namespaceSelector:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.balance
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: balance
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: postgres
  - to:
    - namespaceSelector: {} # <<<
    ports:
    - protocol: UDP
      port: 53
  policyTypes:
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

2. เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ DNS เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• kube-system.

เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เด’เดฐเต เดฒเต‡เดฌเตฝ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต kube-system: kubectl label namespace kube-system namespace=kube-system - เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฏเดคเตเดคเดฟเตฝ เดŽเดดเตเดคเตเด• namespaceSelector:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.balance
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: balance
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: postgres
  - to:
    - namespaceSelector:         # <<<
        matchLabels:             # <<<
          namespace: kube-system # <<<
    ports:
    - protocol: UDP
      port: 53
  policyTypes:
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

3. เดชเดฐเดฟเดญเตเดฐเดพเดจเตเดคเดฐเดพเดฏ เด†เดณเตเด•เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดฎเตเดจเตเดจเต‹เดŸเตเดŸเต เดชเต‹เด•เดพเดจเตเด‚ เดกเดฟเดŽเตปเดŽเดธเต เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดกเดฟเดŽเตปเดŽเดธเต เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ kube-system. "เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเตเด‚ เดชเต‹เดกเตเด•เดณเตเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•" เดŽเดจเตเดจ เดตเดฟเดญเดพเด—เด‚ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดจเต‡เดŸเดพเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚.

เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต เดคเดฒเดคเตเดคเดฟเตฝ DNS เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดฎเดฑเตเดฑเตŠเดฐเต เด“เดชเตเดทเตป. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด“เดฐเต‹ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเด‚ เด‡เดคเต เดคเตเดฑเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.dns
  namespace: default
spec:
  podSelector: {} # <<<
  egress:
  - to:
    - namespaceSelector: {}
    ports:
    - protocol: UDP
      port: 53
  policyTypes:
  - Egress

เดถเต‚เดจเตเดฏเดฎเดพเดฃเต podSelector เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด†เดฆเตเดฏ เดชเตŠเดฐเตเดคเตเดคเดตเตเด‚ เดจเดฟเดฏเดฎ เด•เตเดฐเดฎเดตเตเด‚

เดชเดฐเดฎเตเดชเดฐเดพเด—เดค เดซเดฏเตผเดตเดพเดณเตเด•เดณเดฟเตฝ, เด’เดฐเต เดชเดพเด•เตเด•เดฑเตเดฑเดฟเดฒเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ (เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•) เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดคเต เดคเตƒเดชเตเดคเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เด†เดฆเตเดฏ เดจเดฟเดฏเดฎเดฎเดพเดฃเต. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ, เดจเดฏเด™เตเด™เดณเตเดŸเต† เด•เตเดฐเดฎเด‚ เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ.

เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ, เดจเดฏเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดคเตเดคเดชเตเดชเต‹เตพ, เดชเต‹เดกเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเตเด•เตเด•เต เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚. เดจเดฟเด™เตเด™เตพ เดชเต‹เดณเดฟเดธเดฟเด•เตพ เดฐเต‚เดชเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟเด•เตเด•เดดเดฟเดžเตเดžเดพเตฝ, เด…เดตเดฏเดฟเดฒเตŠเดจเตเดจเต†เด™เตเด•เดฟเดฒเตเด‚ เดฌเดพเดงเดฟเดšเตเดš เด“เดฐเต‹ เดชเต‹เดกเตเด‚ เด…เดคเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เดŽเดฒเตเดฒเดพ เดชเต‹เดณเดฟเดธเดฟเด•เดณเตเดŸเต†เดฏเตเด‚ เดกเดฟเดธเตเดœเด‚เด—เตเดทเตป (เดฒเต‹เดœเดฟเด•เตเด•เตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ) เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟเดคเตเดคเต€เดฐเตเด‚. เด’เดฐเต เดจเดฏเดตเตเด‚ เดฌเดพเดงเดฟเด•เตเด•เดพเดคเตเดค เดชเต‹เดกเตเด•เตพ เดคเตเดฑเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเด‚.

เด’เดฐเต เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เดฑเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดธเตเดตเดญเดพเดตเด‚ เดฎเดพเดฑเตเดฑเดพเดจเดพเด•เตเด‚.

เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด‚ ("เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•")

เดซเดฏเตผเดตเดพเตพ เดจเดฏเด™เตเด™เตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดเดคเตŠเดฐเต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เด’เดฐเต เดจเดฟเดทเต‡เดง เดจเดŸเดชเดŸเดฟเดฏเตเดฎเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดธเต‹เดดเตโ€Œเดธเต เดชเต‹เดกเตเด•เตพ (เด‡เตปเด—เตเดฐเต†เดธเต) เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ (เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ) เดจเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดชเตเดฐเดญเดพเดตเด‚ เดจเต‡เดŸเดพเดจเดพเด•เตเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดˆ เดจเดฏเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเต† เดจเดฟเดทเต‡เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดธเดฎเดพเดจเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ, เด’เดฐเต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-egress
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด…เดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดงเดฟเด• เดจเดฏเด™เตเด™เตพ เดˆ เดจเดฟเดฏเดฎเดคเตเดคเต†เด•เตเด•เดพเตพ เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเด‚ (เด’เดฐเต เดซเดฏเตผเดตเดพเตพ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เด’เดฐเต เดจเดฟเดทเต‡เดง เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด’เดฐเต เด…เดจเตเดตเดฆเดจเต€เดฏ เดจเดฟเดฏเดฎเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต).

เดŽเดฒเตเดฒเดพเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• (Any-Any-Any-Allow)

เดŽเดฒเตเดฒเดพเดตเดฐเต†เดฏเตเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด• เดŽเดจเตเดจ เดจเดฏเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด• เดŽเดจเตเดจ เดจเดฏเด‚ เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด’เดฐเต เด˜เดŸเด•เดคเตเดคเดฟเดจเตŠเดชเตเดชเด‚ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต ingress:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all
  namespace: default
spec:
  podSelector: {}
  ingress: # <<<
  - {}     # <<<
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด‡เดคเต เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดฒเตเดฒเดพ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เดณเดฟเดฒเต†เดฏเตเด‚ (เดŽเดฒเตเดฒเดพ เดเดชเดฟเดฏเตเด‚) เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดเดคเต เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เตเด‚ default. เดˆ เดธเตเดตเดญเดพเดตเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด•เต‚เดŸเตเดคเตฝ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดšเดฟเดฒเดชเตเดชเต‹เตพ เดชเตเดฐเดถเตเดจเด‚ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เดšเดฟเดฒ เดชเตเดฐเดคเตเดฏเต‡เด• เด…เดจเตเดฎเดคเดฟเด•เตพ เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚.

เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดตเต‡เดถเดจเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดฏเดฎเด‚ เดšเตเดฐเตเด•เตเด•เดพเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‚เดŸเตเดŸเด‚ เด•เดพเดฏเตเด•เตพ (app:balance) เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ default:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all-to-balance
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: balance
  ingress: 
  - {}
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเตเดณเตเดณ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดเดชเดฟเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เด‰เตพเดชเตเดชเต†เดŸเต† เดŽเดฒเตเดฒเดพ เด‡เตปเด—เตเดฐเต†เดธเต, เดŽเด•เตโ€Œเด—เตเดฐเดธเต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฏเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all
spec:
  podSelector: {}
  ingress:
  - {}
  egress:
  - {}
  policyTypes:
  - Ingress
  - Egress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚
เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดจเดฏเด™เตเด™เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดฒเต‹เดœเดฟเด•เตเด•เตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเต‚เดจเตเดจเต เดคเดฒเด™เตเด™เดณเดฟเตฝ เดจเดฏเด™เตเด™เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต; เด“เดฐเต‹ เดชเต‹เดกเดฟเดจเตเดฑเต†เดฏเตเด‚ เด…เดจเตเดฎเดคเดฟเด•เตพ เด…เดคเดฟเดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดจเดฏเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดšเตเด›เต‡เดฆเดจเดคเตเดคเดฟเดจเต เด…เดจเตเดธเตƒเดคเดฎเดพเดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

1. เดตเดฏเดฒเตเด•เดณเดฟเตฝ from ะธ to เดฎเต‚เดจเตเดจเต เดคเดฐเด‚ เดฎเต‚เดฒเด•เด™เตเด™เดณเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเด‚ (เด‡เดตเดฏเต†เดฒเตเดฒเดพเด‚ OR เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต):

  • namespaceSelector - เดฎเตเดดเตเดตเตป เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต;
  • podSelector - เด•เดพเดฏเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต;
  • ipBlock โ€” เด’เดฐเต เดธเดฌเตเดจเต†เดฑเตเดฑเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด‰เดชเดตเดฟเดญเดพเด—เด™เตเด™เดณเดฟเดฒเต† เดฎเต‚เดฒเด•เด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ (เดธเดฎเดพเดจเดฎเดพเดฏเดต เดชเต‹เดฒเตเด‚). from/to เดชเดฐเดฟเดฎเดฟเดคเดฎเดฒเตเดฒ. เด…เดตเดฏเต†เดฒเตเดฒเดพเด‚ เดฒเต‹เดœเดฟเด•เตเด•เตฝ OR เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres
  namespace: default
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: indexer
    - podSelector:
        matchLabels:
          app: admin
  podSelector:
    matchLabels:
      app: postgres
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

2. เดชเต‹เดณเดฟเดธเดฟ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ ingress เดจเดฟเดฐเดตเดงเดฟ เด˜เดŸเด•เด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚ from (เดฒเต‹เดœเดฟเด•เตเด•เตฝ OR เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดคเต). เด…เดคเตเดชเต‹เดฒเต†, เดตเดฟเดญเดพเด—เด‚ egress เดจเดฟเดฐเดตเดงเดฟ เด˜เดŸเด•เด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดŸเต‡เด•เตเด•เดพเด‚ to (เดกเดฟเดœเด‚เด—เตเดทเตป เดตเดดเดฟเดฏเตเด‚ เด•เต‚เดŸเดฟเดšเตเดšเต‡เตผเดจเตเดจเต):

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres
  namespace: default
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: indexer
  - from:
    - podSelector:
        matchLabels:
          app: admin
  podSelector:
    matchLabels:
      app: postgres
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

3. เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดจเดฏเด™เตเด™เดณเตเด‚ เดฒเต‹เดœเดฟเด•เตเด•เตฝ OR เดŽเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดŽเดจเตเดจเดพเตฝ เด…เดต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเดฟเดจเต เด’เดฐเต เดชเดฐเดฟเดฎเดฟเดคเดฟเดฏเตเดฃเตเดŸเต เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดŸเตเดŸเดฟ เด•เตเดฐเดฟเดธเต เด•เต‚เดฃเดฟ: เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเด•เตพเด•เตเด•เต เดตเตเดฏเดคเตเดฏเดธเตเดค เดจเดฏเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เดจเดฏเด™เตเด™เตพ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚ policyTypes (Ingress เด…เดฅเดตเดพ Egress). เดชเตเดฐเดตเต‡เดถเดจเด‚ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตฝ) เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ เดจเดฏเด™เตเด™เตพ เดชเดฐเดธเตเดชเดฐเด‚ เดคเดฟเดฐเตเดคเตเดคเดฟเดฏเต†เดดเตเดคเตเด‚.

เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด‚

เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเด™เตเด•เดฟเดŸเตเดจเตเดจเดคเต เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต. เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต‡เด•เตเด•เต เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เด•เต‚เดŸเดพเดคเต†/เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เตปเด•เดฎเดฟเด‚เด—เต เดŸเตเดฐเดพเดซเดฟเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดจเดฟเดทเต‡เดง เดจเดฏเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต (เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ "เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เดฑเต‚เตพ" เด•เดพเดฃเตเด•).

เด’เดฐเต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เดจเดฟเด™เตเด™เตพ เดคเดŸเดžเตเดžเตเด•เดดเดฟเดžเตเดžเดพเตฝ (เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ "เดธเตเดŸเตเดฐเดฟเดชเตเดชเดฟเด‚เด—เต เดฑเต‚เตพ" เด•เดพเดฃเตเด•), เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เดฃเด•เตเดทเดจเตเด•เตพ เด…เดจเตเดตเดฆเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดธเดฟเด•เตเด•เตเดจเตเดจ เดจเดฏเดคเตเดคเดฟเตฝ เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เตพ เดจเดŸเดคเตเดคเดพเด‚ namespaceSelector:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: database.postgres
  namespace: database
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - namespaceSelector: # <<<
        matchLabels:
          namespace: default
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ default เด•เดพเดฏเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเดตเต‡เดถเดจเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ postgres เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ database. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เด•เตเดธเดธเต เดคเตเดฑเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเตเด‚ postgres เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเต‹เดกเตเด•เตพ เดฎเดพเดคเตเดฐเด‚ default?

เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด‚ เดชเต‹เดกเตโ€Œเดธเตเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•

Kubernetes เดชเดคเดฟเดชเตเดชเต 1.11-เด‰เด‚ เด…เดคเดฟเดฒเตเด‚ เด‰เดฏเตผเดจเตเดจเดคเตเด‚ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต namespaceSelector ะธ podSelector เดฒเต‹เดœเดฟเด•เตเด•เตฝ AND เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: database.postgres
  namespace: database
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          namespace: default
      podSelector: # <<<
        matchLabels:
          app: admin
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด‡เดคเต เดธเดพเดงเดพเดฐเดฃ OR เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚ AND เดŽเดจเตเดจเต เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเต?

เด…เดคเดฒเตเดฒ podSelector เด’เดฐเต เดนเตˆเดซเดจเดฟเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. YAML-เตฝ เด‡เดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต podSelector เด…เดตเดจเตเดฑเต† เดฎเตเดจเตเดจเดฟเตฝ เดจเดฟเตฝเด•เตเด•เตเดจเตเดจเต namespaceSelector เด…เดคเต‡ เดฒเดฟเดธเตเดฑเตเดฑเต เด˜เดŸเด•เด‚ เด•เดพเดฃเตเด•. เด…เดคเดฟเดจเดพเตฝ, เด…เดต เดฒเต‹เดœเดฟเด•เตเด•เตฝ AND เดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดฎเตเดฎเตเดชเต เด’เดฐเต เดนเตˆเดซเตป เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต podSelector เด’เดฐเต เดชเตเดคเดฟเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เด˜เดŸเด•เดคเตเดคเดฟเดจเตเดฑเต† เด†เดตเดฟเตผเดญเดพเดตเดคเตเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเด‚, เด…เดคเต เดฎเตเดฎเตเดชเดคเตเดคเต† เด’เดจเตเดจเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚ namespaceSelector เดฒเต‹เดœเดฟเด•เตเด•เตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต.

เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเต‡เดฌเตฝ เด‰เดณเตเดณ เดชเต‹เดกเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เดŽเดฒเตเดฒเดพ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เดณเดฟเดฒเตเด‚, เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเด•เตเด• namespaceSelector:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: database.postgres
  namespace: database
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - namespaceSelector: {}
      podSelector:
        matchLabels:
          app: admin
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฒเต‡เดฌเดฒเตเด•เตพ เดเดฏเตเดฎเดพเดฏเดฟ เดธเดนเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ (เดนเต‹เดธเตเดฑเตเดฑเตเด•เตพ, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ, เด—เตเดฐเต‚เดชเตเดชเตเด•เตพ) เด‰เดณเตเดณ เด’เดฐเต เดซเดฏเตผเดตเดพเดณเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดฒเต‹เดœเดฟเด•เตเด•เตฝ OR เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดพเด•เตเด•เดฑเตเดฑเต เด‰เดฑเดตเดฟเดŸเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเดฏเดฎเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚ Host_1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Host_2:

| Source | Destination | Service | Action |
| ----------------------------------------|
| Host_1 | Subnet_A    | HTTPS   | Allow  |
| Host_2 |             |         |        |
| ----------------------------------------|

เดจเต‡เดฐเต†เดฎเดฑเดฟเดšเตเดšเต, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เดตเดฟเดตเดฟเดง เดฒเต‡เดฌเดฒเตเด•เตพ podSelector เด…เดฅเดตเดพ namespaceSelector เดฒเต‹เดœเดฟเด•เตเด•เตฝ AND เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเดฏเดฎเด‚ เดฐเดฃเตเดŸเต เดฒเต‡เดฌเดฒเตเด•เดณเตเด‚ เด‰เดณเตเดณ เดชเต‹เดกเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด‚, role=db ะ˜ version=v2:

podSelector:
  matchLabels:
    role: db
    version: v2

เดŽเดฒเตเดฒเดพ เดคเดฐเด‚ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผเด•เตเด•เตเด‚ เด’เดฐเต‡ เดฒเต‹เดœเดฟเด•เต เดฌเดพเดงเด•เดฎเดพเดฃเต: เดชเต‹เดณเดฟเดธเดฟ เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดธเต†เดฒเด•เตโ€ŒเดŸเดฑเตเด•เตพ, เดชเต‹เดกเต เดธเต†เดฒเด•เตโ€ŒเดŸเดฑเตเด•เตพ, เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเต เดธเต†เดฒเด•เตโ€ŒเดŸเดฑเตเด•เตพ.

เดธเดฌเตเดจเต†เดฑเตเดฑเตเด•เดณเตเด‚ IP เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเด‚ (IPBlocks)

เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเต†เด—เตโ€Œเดฎเต†เดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดซเดฏเตผเดตเดพเดณเตเด•เตพ VLAN-เด•เตพ, IP เดตเดฟเดฒเดพเดธเด™เตเด™เตพ, เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

Kubernetes-เตฝ, IP เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดธเตเดตเดฏเดฎเต‡เดต เดจเดฟเดฏเต‹เด—เดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เดŸเดฏเตเด•เตเด•เดฟเดŸเต† เดฎเดพเดฑเดพเด‚, เด…เดคเดฟเดจเดพเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเดฟเตฝ เดชเต‹เดกเตเด•เดณเตเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เดฒเต‡เดฌเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

เดธเดฌเตเดจเต†เดฑเตเดฑเตเด•เตพ (ipBlocks) เด‡เตปเด•เดฎเดฟเด‚เด—เต (เดชเตเดฐเดตเต‡เดถเดจเด‚) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต (เดŽเด—เตเดฐเดธเต) เดฌเดพเดนเตเดฏ (เดตเดŸเด•เตเด•เต-เดคเต†เด•เตเด•เต) เด•เดฃเด•เตเดทเดจเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดˆ เดจเดฏเด‚ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดคเตเดฑเด•เตเด•เตเดจเตเดจเต default Google DNS เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: egress-dns
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 8.8.8.8/32
    ports:
    - protocol: UDP
      port: 53

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเต† เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดชเต‹เดกเต เดธเต†เดฒเด•เตเดŸเตผ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต "เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•" เดŽเดจเตเดจเดพเดฃเต.

เดˆ เดจเดฏเด‚ 8.8.8.8-เดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเตเดธเต เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‚; เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดเดชเดฟเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเตเดฐเดตเต‡เดถเดจเด‚ เดจเดฟเดฐเต‹เดงเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เดธเดพเดฐเดพเด‚เดถเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด†เดจเตเดคเดฐเดฟเด• Kubernetes DNS เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต เดคเดŸเดžเตเดžเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เด‡เดคเต เดคเตเดฑเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.

เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ ipBlocks ะธ podSelectors เดชเต‹เดกเตเด•เดณเตเดŸเต† เด†เดจเตเดคเดฐเดฟเด• IP เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ เดชเดฐเดธเตเดชเดฐเดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฃเต ipBlocks. เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เด†เดจเตเดคเดฐเดฟเด• เดเดชเดฟ เดชเต‹เดกเตเด•เตพ, เดจเดฟเด™เตเด™เตพ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดˆ เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเดณเตเดณ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ/เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เดฃเด•เตเดทเดจเตเด•เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚. เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เดเดคเต IP เดตเดฟเดฒเดพเดธเดฎเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเดฒเดพเดฃเต เดชเต‹เดกเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เด…เดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฐเตเดคเต.

เด’เดฐเต เดŽเดคเดฟเตผ-เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฏเดคเตเดคเดฟเตฝ เดŽเดฒเตเดฒเดพ IP-เด•เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดชเตเดฐเดตเต‡เดถเดจเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: egress-any
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 0.0.0.0/0

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดชเต‹เดกเตเด•เดณเตเดŸเต† เด†เดจเตเดคเดฐเดฟเด• เดเดชเดฟ เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เด’เดดเดฟเด•เต†, เดฌเดพเดนเตเดฏ เดเดชเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เด•เตเดธเดธเต เดคเตเดฑเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเต‹เดกเดฟเดจเตเดฑเต† เดธเดฌเตเดจเต†เดฑเตเดฑเต 10.16.0.0/14 เด†เดฃเต†เด™เตเด•เดฟเตฝ:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: egress-any
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 0.0.0.0/0
        except:
        - 10.16.0.0/14

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเด‚ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เดณเตเด‚

เดธเดพเดงเดพเดฐเดฃ เดชเต‹เดกเตโ€Œเดธเต เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเต เด•เต‡เตพเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฏเด™เตเด™เดณเดฟเตฝ เดชเต‹เตผเดŸเตเดŸเต เดจเดฎเตเดชเดฑเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เดŽเดฒเตเดฒเดพเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเดฎเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฏเด™เตเด™เตพ เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเด•เตเด•เดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดšเดฟเดฒ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres
  namespace: default
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: indexer
    - podSelector:
        matchLabels:
          app: admin
    ports:             # <<<
      - port: 443      # <<<
        protocol: TCP  # <<<
      - port: 80       # <<<
        protocol: TCP  # <<<
  podSelector:
    matchLabels:
      app: postgres
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดธเต†เดฒเด•เตเดŸเตผ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• ports เดฌเตเดฒเต‹เด•เตเด•เดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด˜เดŸเด•เด™เตเด™เตพเด•เตเด•เตเด‚ เดฌเดพเดงเด•เดฎเดพเดฃเต to เด…เดฅเดตเดพ from, เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดตเตเดฏเดคเตเดฏเดธเตเดค เด˜เดŸเด•เด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดตเดฟเดญเดœเดฟเด•เตเด•เตเด• ingress เด…เดฅเดตเดพ egress เด•เต‚เดŸเต† เดจเดฟเดฐเดตเดงเดฟ เด‰เดชเดตเดฟเดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ to เด…เดฅเดตเดพ from เด“เดฐเต‹เดจเตเดจเดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default.postgres
  namespace: default
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: indexer
    ports:             # <<<
     - port: 443       # <<<
       protocol: TCP   # <<<
  - from:
    - podSelector:
        matchLabels:
          app: admin
    ports:             # <<<
     - port: 80        # <<<
       protocol: TCP   # <<<
  podSelector:
    matchLabels:
      app: postgres
  policyTypes:
  - Ingress

เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดฎเตเด–เด‚

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดชเต‹เตผเดŸเตเดŸเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚:

  • เดจเดฟเด™เตเด™เตพ เดชเต‹เตผเดŸเตเดŸเต เดจเดฟเตผเดตเดšเดจเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ (ports), เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดŽเดฒเตเดฒเดพ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เดณเตเด‚ เดŽเดฒเตเดฒเดพ เดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเด‚;
  • เดจเดฟเด™เตเด™เตพ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เดจเดฟเตผเดตเดšเดจเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ (protocol), เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดŸเดฟเดธเดฟเดชเดฟ;
  • เดจเดฟเด™เตเด™เตพ เดชเต‹เตผเดŸเตเดŸเต เดจเดฟเตผเดตเดšเดจเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ (port), เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดŽเดฒเตเดฒเดพ เดคเตเดฑเดฎเตเด–เด™เตเด™เดณเตเด‚ เดŽเดจเตเดจเดพเดฃเต.

เดฎเดฟเด•เดšเตเดš เดชเดฐเดฟเดถเต€เดฒเดจเด‚: เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดฐเตเดคเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•.

เดธเต‡เดตเดจ เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฒเตเดฒ, เดชเต‹เดกเต เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจ เด•เดพเดฐเตเดฏเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• (เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เด…เดŸเตเดคเตเดค เด–เดฃเตเดกเดฟเด•เดฏเดฟเตฝ).

เดชเต‹เดกเตเด•เตพเด•เตเด•เต‹ โ€‹โ€‹เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เต‹ โ€‹โ€‹เดตเต‡เดฃเตเดŸเดฟ เดจเดฏเด™เตเด™เตพ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹?

เดธเดพเดงเดพเดฐเดฃเด—เดคเดฟเดฏเดฟเตฝ, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เดชเต‹เดกเตเด•เตพ เด’เดฐเต เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต‚เดŸเต† เดชเดฐเดธเตเดชเดฐเด‚ เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต - เดธเต‡เดตเดจเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฒเต‹เดกเต เดฌเดพเดฒเตปเดธเตผ. เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด…เด™เตเด™เดจเต†เดฏเดฒเตเดฒ. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดชเต‹เดกเต เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดธเตผเดตเต€เดธเต เดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเดฒเดฒเตเดฒ.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดธเต‡เดตเดจเด‚ เดชเต‹เตผเดŸเตเดŸเต 80 เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเตเดฑเต† เดชเต‹เดกเตเด•เดณเตเดŸเต† เดชเต‹เตผเดŸเตเดŸเต 8080-เดฒเต‡เด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ 8080 เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฃเด‚.

เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเด‚เดตเดฟเดงเดพเดจเด‚ เด‰เดชเดฏเตเด•เตเดคเดฎเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดฃเด‚: เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เดจเตเดคเดฐเดฟเด• เด˜เดŸเดจ (เดชเต‹เดกเตเด•เตพ เด•เต‡เตพเด•เตเด•เตเดจเตเดจ เดชเต‹เตผเดŸเตเดŸเตเด•เตพ) เดฎเดพเดฑเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚.

เดธเตผเดตเต€เดธเต เดฎเต†เดทเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดชเตเดคเดฟเดฏ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดพ เดธเดฎเต€เดชเดจเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดคเดพเดดเต†เดฏเตเดณเตเดณ เด‡เดธเตเดคเดฟเดฏเต‹เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เดพเดฃเตเด• - เดเด•เดฆเต‡เดถเด‚. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.) เดˆ เดชเตเดฐเดถเตเดจเด‚ เดจเต‡เดฐเดฟเดŸเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เตปเด—เตเดฐเดธเตเด‚ เดŽเด—เตเดฐเดธเตเด‚ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต‹?

เดšเต†เดฑเดฟเดฏ เด‰เดคเตเดคเดฐเด‚ เด…เดคเต† เดŽเดจเตเดจเดคเดพเดฃเต, เดชเต‹เดกเต เดฌเดฟเดฏเตเดฎเดพเดฏเดฟ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เดจเดŸเดคเตเดคเดพเตป เดชเต‹เดกเต เดŽเดฏเตเด•เตเด•เต, เด’เดฐเต เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เด•เดฃเด•เตเดทเตป เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เดฃเด‚ (เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดŽเด•เตโ€Œเดธเต เดชเต‹เดณเดฟเดธเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต), เดชเต‹เดกเต เดฌเดฟเด•เตเด•เต เด‡เตปเด•เดฎเดฟเด‚เด—เต เด•เดฃเด•เตเดทเตป เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฃเด‚ ( เด‡เดคเดฟเดจเดพเดฏเดฟ, เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเตเดฐเดตเต‡เดถเดจ เดจเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต).

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เด’เดจเตเดจเต‹ เดฐเดฃเตเดŸเต‹ เดฆเดฟเดถเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดทเดจเตเด•เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดจเดฏเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต.

เด•เตเดฑเดšเตเดšเต เดชเต‹เดกเต เดŽเด™เตเด•เดฟเตฝ-เด‰เดฑเดตเดฟเดŸเด‚ เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดชเต‡เตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด‚ เดชเตเดฑเดคเตเดคเต‡เด•เตเด•เต เดชเต‡เดพเด•เตเด•-เดฐเดพเดทเตเดŸเตเดฐเต€เดฏเด•เตเด•เดพเดฐเต‡, เด…เดคเดฟเดจเต เดเตผเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ เด…เดตเดฐเตเดŸเต† เดตเดฟเดšเตเด›เต‡เดฆเดจเดฎเดจเตเดธเดฐเดฟเดšเตเดšเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต -เดตเดฟเดฒเดพเดธเด•เตเด•เดพเดฐเตป. เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฏเด‚ เดตเดดเดฟ เด’เดฐเต เดชเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต (เดŽเด—เตเดฐเดธเต) เดŸเตเดฐเดพเดซเดฟเด•เต เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.

เด…เดคเตเดชเต‹เดฒเต†, เดชเต‹เดกเดฟเดจเตเดฑเต† เดตเดฟเดงเดฟเดตเดฟเดฒเดพเดธเด•เตเด•เดพเดฐเตป, เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เดชเตเดฐเดตเต‡เดถเดฟเด•เตเด•เตเด•-เดฐเดพเดทเตเดŸเตเดฐเต€เดฏเด•เตเด•เดพเตผ, เด…เดตเดฐเตเดŸเต† เดตเดฟเดญเดœเดจเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเด‚. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‰เดฑเดตเดฟเดŸ เดชเต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดŸเตเดฐเดพเดซเดฟเด•เต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด…เดคเดฟเดจเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด…เดจเตเดตเดฆเดฟเด•เตเด•เดฃเด‚. เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฏเด‚ เดตเดดเดฟ เด’เดฐเต เดชเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเต‡เดถเดจ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต.

เดคเดพเดดเต† เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดซเตเตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดฒเต†เดธเต เด•เดพเดฃเตเด•.

เดฐเต‡เด–เด•เตพ

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เดฒเต‹เด—เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด’เดฐเต เดจเดฏเด‚ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดš เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เด‡เดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเด•เตเด•เตเด•เดฏเตเด‚ เดธเตเดฐเด•เตเดทเดพ เดตเดฟเดถเด•เดฒเดจเดคเตเดคเต† เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฌเดพเดนเตเดฏ เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดŸเตเดฐเดพเดซเดฟเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ, เดŽเด—เตเดฐเดธเต เดตเดฟเดญเดพเด—เด™เตเด™เดณเดฟเตฝ เดชเต‚เตผเดฃเตเดฃ เดฏเต‹เด—เตเดฏเดคเดฏเตเดณเตเดณ เด’เดฐเต เดกเตŠเดฎเต†เดฏเตเตป เดจเดพเดฎเด‚ (DNS) เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดเดชเดฟ เดตเดฟเดฒเดพเดธเด‚ (aws.com เดชเต‹เดฒเตเดณเตเดณเดต) เด‡เดฒเตเดฒเดพเดคเตเดค เดฌเดพเดนเตเดฏ เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดŸเตเดฐเดพเดซเดฟเด•เต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดˆ เดตเดธเตเดคเตเดค เด•เดพเดฐเตเดฏเดฎเดพเดฏ เด…เดธเต—เด•เดฐเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฏ เดชเดฐเดฟเดถเต‹เดงเดจ

เดซเดฏเตผเดตเดพเดณเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเต†เดฑเตเดฑเดพเดฏ เดจเดฏเด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดพเตป เดชเต‹เดฒเตเด‚ เดตเดฟเดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเด‚. เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดšเดฟเดฒ เดชเดฐเดฟเดถเต‹เดงเดจเด•เดณเตเด‚ เดจเดŸเดคเตเดคเตเดจเตเดจเต. kubectl เดตเดดเดฟ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเต เดคเต†เดฑเตเดฑเดพเดฃเต†เดจเตเดจเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดตเดฟเดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต‡เด•เตเด•เดพเด‚. เดฎเดฑเตเดฑเต เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดชเต‹เดณเดฟเดธเดฟ เดŽเดŸเตเดคเตเดคเต เดตเดฟเดŸเตเดŸเตเดชเต‹เดฏ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต‚เดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚:

kubernetes get networkpolicy <policy-name> -o yaml

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดฎเต‚เดฒเตเดฏเดจเดฟเตผเดฃเตเดฃเดฏ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดคเต†เดฑเตเดฑเดฒเตเดฒเต†เดจเตเดจเตเด‚ เดšเดฟเดฒ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดฟเดถเด•เตเด•เตพ เดจเดทเตโ€ŒเดŸเดฎเดพเดฏเต‡เด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด•.

เดตเดงเดถเดฟเด•เตเดท

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต เด‡เดจเตเดฑเตผเดซเต‡เดธเต (เดธเดฟเดŽเตปเด) เดŽเดจเตเดจ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเด‚เดตเดฟเดงเดพเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดญเดพเดฐเด‚ เดจเดฟเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดŽเดชเดฟเด เด—เต‡เดฑเตเดฑเตโ€Œเดตเต‡ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. เด‰เดšเดฟเดคเดฎเดพเดฏ CNI เดจเตฝเด•เดพเดคเต† Kubernetes เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดจเดฏเด™เตเด™เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดซเดฏเตผเดตเดพเดณเตเด•เดณเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดคเต† เด’เดฐเต เดซเดฏเตผเดตเดพเตพ เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฏเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดพเดจเตเดฏเดฎเดพเดฏ เด’เดฐเต CNI เด‰เดฃเตเดŸเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เต‡เดฃเตเดŸเดคเต เดจเดฟเด™เตเด™เดณเดพเดฃเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เตเดฒเต—เดกเดฟเตฝ เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดฆเดพเดคเดพเด•เตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด• เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเด‚ เด‡เดตเดฟเดŸเต† - เดเด•เดฆเต‡เดถเด‚. เดŸเตเดฐเดพเตปเดธเต.), เดจเดฟเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ CNI เดธเดœเตเดœเดฎเดพเด•เตเด•เตเดจเตเดจ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเด•.

เด‰เดšเดฟเดคเดฎเดพเดฏ เดธเดนเดพเดฏเดฟ CNI เด‡เดฒเตเดฒเดพเดคเต† เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, Kubernetes เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•.

เดธเตโ€Œเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดซเตเตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดฒเต†เดธเต?

เดžเดพเตป เดจเต‡เดฐเดฟเดŸเตเดŸ เดŽเดฒเตเดฒเดพ Kubernetes CNI-เด•เดณเตเด‚ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดซเตเตพ เด†เดฃเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Calico Linux contrack เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต). เด‡เดคเต เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเดคเต† เดคเดจเตเดจเต† เด…เดคเต เด†เดฐเด‚เดญเดฟเดšเตเดš TCP เด•เดฃเด•เตเดทเดจเดฟเตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดชเต‹เดกเดฟเดจเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดซเตเตพเดจเต†เดธเต เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดฎเดพเดจเดฆเดฃเตเดกเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดฟเดฒเตเดฒ.

เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดธเตเดฐเด•เตเดทเดพ เดจเดฏ เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต

เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† เดธเตเดฐเด•เตเดทเดพ เดจเดฏ เดจเดฟเตผเดตเตเดตเดนเดฃเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดšเดฟเดฒ เดตเดดเดฟเด•เตพ เด‡เดคเดพ:

  1. เดธเต‡เดตเดจ เดคเดฒเดคเตเดคเดฟเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏ เดŸเต†เดฒเดฟเดฎเต†เดŸเตเดฐเดฟเดฏเตเด‚ เดŸเตเดฐเดพเดซเดฟเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดตเตเด‚ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต เดธเตผเดตเต€เดธเต เดฎเต†เดทเต เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตฝ เดชเดพเดฑเตเดฑเต‡เตบ เดธเตˆเดกเตเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดจเดฎเตเด•เตเด•เต เดŽเดŸเตเด•เตเด•เดพเด‚ เด‡เดธเตเดคเต‹.
  2. เดšเดฟเดฒ CNI เดตเต†เดฃเตเดŸเตผเดฎเดพเตผ Kubernetes เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพเด•เตเด•เดชเตเดชเตเดฑเดคเตเดคเต‡เด•เตเด•เต เดชเต‹เด•เดพเตป เด…เดตเดฐเตเดŸเต† เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต.
  3. เดคเตเดซเดฟเตป เด“เตผเด•เตเด• เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เดณเตเดŸเต† เดฆเตƒเดถเตเดฏเดชเดฐเดคเดฏเตเด‚ เด“เดŸเตเดŸเต‹เดฎเต‡เดทเดจเตเด‚ เดจเตฝเด•เตเดจเตเดจเต.

Tufin Orca เดชเดพเด•เตเด•เต‡เดœเต Kubernetes เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฏเด™เตเด™เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดธเตโ€Œเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเตเด•เดณเตเดŸเต† เด‰เดฑเดตเดฟเดŸเดตเตเด‚).

เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ

เดคเต€เดฐเตเดฎเดพเดจเด‚

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเต‹เดณเดฟเดธเดฟเด•เตพ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเด•เตพ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเดฟเด•เดšเตเดš เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดŸเต‚เดณเตเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด…เดต เด…เดตเดฌเต‹เดงเดœเดจเตเดฏเดฎเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† เดจเดฟเดฐเดตเดงเดฟ เดธเต‚เด•เตเดทเตเดฎเดคเด•เดณเตเดฎเตเดฃเตเดŸเต. เดˆ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดค เด•เดพเดฐเดฃเด‚, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดชเดฒ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดจเดฏเด™เตเด™เดณเตเด‚ เดฌเด—เตเด—เดฟเดฏเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเดฟเตฝ เดชเต‹เดณเดฟเดธเดฟ เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เดฎเดฑเตเดฑเต เดธเต†เด—เตเดฎเต†เดจเตเดฑเต‡เดทเตป เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดšเดฟเดฒ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เดฎเดพเดฏเตโ€Œเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต‡เด•เตเด•เดพเดตเตเดจเตเดจ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดˆ เด—เตˆเดกเต เดธเดนเดพเดฏเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดฟเดตเตผเดคเตเดคเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟ.เดŽเดธเต

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•