เด
เดคเต เดถเดฐเดฟเดฏเดพเดฃเต, เดฑเดฟเดฒเตเดธเดฟเดจเต เดถเตเดทเด
เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ เดเดเตเดเตพ เดเดเตเดเด เดเดเตเดเดฎเดพเดฏเดฟ เดธเตเดทเตเดเดฟเดเตเดเตเด
เดชเตเดพเดคเต เด เดตเดฒเตเดพเดเดจเด
เดจเดฎเตเดฎเตพ เดชเตเดฏเดพเตฝ
เดกเดฏเดเตเดฐเด 1: เดเตเตบเดธเตฝ เด เดงเดฟเดเดพเดฐเดชเตเดชเตเดเตเดคเตเดคเตฝ เดฐเตเดคเดฟเดฏเตเดเต เดเดฆเตเดฏเตเดเดฟเด เด เดตเดฒเตเดเดจเด
เดจเดฎเตเดเตเดเต เด
เดเดคเตเดคเตเดเตเดเต เดจเตเดเตเดเดพเด
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เด เดตเดฟเดเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเดเตเดเตพ เดเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพเด เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดเดเตเดเดจเต เดเดชเดฏเตเดเดฟเดเตเดเดฃเด เดเดจเตเดจเดคเดฟเดจเต เดเตเดฑเดฟเดเตเดเต เดเดฐเต เดเตเดกเตเด เดเดฒเตเดฒ. เด เดคเดฟเดจเดพเตฝ, เดตเดฟเดตเตเดเดฎเตเดณเตเดณ เดเดคเตเดฐเต เดตเตเดฏเดเตเดคเดฟเดฏเตเดฏเตเด เดชเตเดฒเต, เดจเดฟเดเตเดเตพ เดฎเดพเตผเดเดจเดฟเตผเดฆเตเดถเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดจเตเดฑเตผเดจเตเดฑเตเดฑเต เดชเดฐเดคเตเดจเตเดจเต. เดชเดฟเดจเตเดจเต... เดจเดฟเดเตเดเตพ เดชเดฐเดพเดเดฏเดชเตเดชเตเดเตเดจเตเดจเต. เด เดคเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเต. เดจเดฎเตเดเตเดเต เดเดคเต เดถเดฐเดฟเดฏเดพเดเตเดเดพเด.
เดเดเตเดเดณเตเดเต เดชเดฟโเดโเดธเดฟ เดธเตเดทเตโเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเตเดเต เดชเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดจเดฎเตเดเตเดเต เดเตเตบเดธเดฒเดฟเดจเตเดฑเต เด เดงเดฟเดเดพเดฐเดชเตเดชเตเดเตเดคเตเดคเตฝ เดฐเตเดคเดฟเดเดณเตเดเต (เดกเดฏเดเตเดฐเด 1) เด เดตเดฒเตเดเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดเดฏเตเด เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดฑเต เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เด เดคเต เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเดพเด.
เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏ
เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ, เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดค เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเตเดฎเดพเดฏเดฟ เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเตเดฎเดพเดฏเดฟ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด เดจเดเดคเตเดคเตเดจเตเดจ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดฎเตเดทเตเดจเดฟเตฝ เดเดเตเดเตพ เดเดฐเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดธเตเดทเตเดเดฟเดเตเดเตเด. เดคเตเดเตผเดจเตเดจเต เดเดเตเดเตพ เดเดเตเดเดณเตเดเต เดกเดฎเตเดฎเดฟ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดกเดฟเตฝ เดธเตเดทเตโเดเดฟเดเตเดเตเดเดฏเตเด เดเตเตบเดธเตฝ เดเต/เดฎเตเดฒเตเดฏเด เดธเตเดฑเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฏเดฟเดเตเดเดพเตป เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตโเดค เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
เดเตเดตเดเตเดฏเตเดณเตเดณ เดกเดฏเดเตเดฐเด เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ เดเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจ เดเตผเดเตเดเดฟเดเตเดเตเดเดฑเดฟเดจเตเดฏเตเด เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟเดฏเตเดเต เดชเดฟเดจเตเดจเดฟเดฒเต เดฏเตเดเตเดคเดฟเดฏเตเดฏเตเด เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจเต, เด เดคเต เดชเดฟเดจเตเดจเตเดเต เดตเดฟเดถเดฆเตเดเดฐเดฟเดเตเดเตเด.
เดกเดฏเดเตเดฐเด 2: เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดคเดฑเตเดธเตเดทเตป เดฐเตเดคเดฟ เด เดตเดฒเตเดเดจเด
เดเดฐเต เดชเตเดเตเดเตเดจเตเดจเตเดณเตเดณ เดเตเดฑเดฟเดชเตเดชเต: เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดคเดพเดฎเดธเดฟเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ. เดชเดเตเดทเต เด เดคเต, เด เดฏเดพเตพเดเตเดเต เด เดคเต เดเดเตเดเดจเตเดฏเตเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด.
เด เดคเดฟเดจเดพเตฝ, เดเตเตบเดธเตฝ เด เดตเดฒเตเดเดจ เดกเดฏเดเตเดฐเด (เดกเดฏเดเตเดฐเด 1) เดเดเตเดคเตเดคเต เด เดคเดฟเตฝ เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดกเดฏเดเตเดฐเด เดจเดฎเตเดเตเดเต เดฒเดญเดฟเดเตเดเตเด (เดกเดฏเดเตเดฐเด 2), เดเดตเดฟเดเตเดฏเตเดณเตเดณ เดฏเตเดเตเดคเดฟ เดเดชเตเดฐเดเดพเดฐเดฎเดพเดฃเต:
- เดเดฐเต เดชเตเดกเดฟเดฒเตเด เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดจเดฑเตเดฑเตเดฑเตเดเตเดฏเตโเดคเดคเตเด เด เดฑเดฟเดฏเดชเตเดชเตเดเตเดจเตเดจเดคเตเดฎเดพเดฏ เดเดฐเต JWT เดเตเดเตเดเตบ เด เดเดเตเดเตเดจเตเดจ เดเดฐเต เดธเตเดตเดจ เด เดเตเดเตเดฃเตเดเต เด เดฑเตเดฑเดพเดเตเดเต เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเด. เด เดเตเดเตเดเดฃเตเด เดกเดฟเดซเตเตพเดเตเดเดพเดฏเดฟ เดชเตเดกเดฟเดฒเตเดเตเดเต เดเตเตผเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต.
- เดชเตเดกเดฟเดจเตเดณเตเดณเดฟเดฒเต เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดธเตเดตเดจเดฎเต เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดฒเตเดเดฟเตป เดเดฎเดพเตปเดกเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต. เดฒเตเดเดฟเตป เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดเดเตเดเดณเตเดเต เดเตเดเตเดเดฃเตเด เดชเตเดฐเตเด เดเตพเดชเตเดชเตเดเตเด เดชเตเดฐเดคเตเดฏเตเดเด เดธเตเดทเตเดเดฟเดเตเดเดคเต เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ (เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดคเดฐเด). เด เดเดเตเดเด #2 เดเตเตบเดธเตฝ เดกเดฏเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต (เดธเตเดเตเด 1) เดเดเตเดเด 1 เดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต.
- เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเต เด เด เดญเตเดฏเตผเดคเตเดฅเดจ เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดเตเดฎเดพเดฑเตเด.
- เดเดพเดฒเดตเดฟเดฆเตเดฏ! เดเดตเดฟเดเตเดฏเดพเดฃเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเต เดเดงเดฟเดเดพเดฐเดฟเดเดค เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเดคเต, เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเต เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดถเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดเดคเตเดเตเดเดฟเดฒเตเด เด เดจเตเดฌเดจเตเดง เดฎเตเตปเดจเดฟเตผเดตเดเดฟเดเตเด เดจเดฟเดฏเดฎเดเตเดเดณเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดคเต เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดจเตเดจ เดฎเดฑเตเดฑเตเดฐเต เดกเดฏเดเตเดฐเด เดเตเดตเดเตเดฏเตเดฃเตเดเต. เด เดเดเตเดเด เดเตเตบเดธเตฝ เด เดตเดฒเตเดเดจ เดกเดฏเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต (เดกเดฏเดเตเดฐเด 3) 4, 5, 1 เดเดเตเดเดเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต.
- เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจเดฏเดพเดณเตเดเต เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟ เดธเดเดฌเดจเตเดงเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ เดจเดฟเดฏเดฎเดเตเดเตพ (เดเดเตเดเตพ เดจเดฟเตผเดตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต) เด เดจเตเดธเดฐเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เด เดจเตเดฎเดคเดฟเดเดณเตเดเต เดเดฐเต เดเตเตบเดธเตฝ เดเตเดเตเดเตบ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต. เดชเดฟเดจเตเดจเตเดเต เด เดเตเดเตเดเตบ เดคเดฟเดฐเดฟเดเต เด เดฏเดเตเดเตเด. เดเดคเต เดเตเตบเดธเตฝ เดกเดฏเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต (เดกเดฏเดเตเดฐเด 6) เดเดเตเดเด 1 เดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต.
- เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดฟเดฒเตเดเตเดเต เดธเตเดตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตเดเตเดเตบ เดเตเดฎเดพเดฑเตเดจเตเดจเต.
เดเตเดเตเดเดฃเดฟเดจเตเดฑเต เดชเตเดฐเดคเตเดฏเตเดเดพเดตเดเดพเดถเดเตเดเตพ เด เดจเตเดธเดฐเดฟเดเตเดเต, เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดกเดพเดฑเตเดฑเดฏเตเดฎเดพเดฏเดฟ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด เดจเดเดคเตเดคเดพเตป เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดธเตเดตเดจเดคเตเดคเดฟเดจเต เดเดชเตเดชเตเตพ เด เดเตเตบเดธเตฝ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเดพเด.
เดฎเดพเดจเตเดคเตเดฐเดฟเดเดค เดตเตเดณเดฟเดชเตเดชเตเดเตเดเต!
เดจเดฟเดเตเดเดณเดฟเตฝ เดคเตเดชเตเดชเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฎเตเดฏเดฒเดฟเดจเต เดคเตเดชเตเดคเดฐเดพเดเตเดเดพเดคเตเดคเดตเตผเดเตเดเดพเดฏเดฟ, เด เดคเต เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เด เดฑเดฟเดฏเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต ... "เดเดคเตเดฐ เดเดดเดคเตเดคเดฟเดฒเตเดณเตเดณเดคเดพเดฃเตเดจเตเดจเต เดเดพเตป เดเดพเดฃเดฟเดเตเดเตเดคเดฐเดพเด เดฎเตเดฏเตฝ เดฆเตเดตเดพเดฐเด".
เดจเตเดฐเดคเตเดคเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดคเตเดชเตเดฒเต, เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต เดเดงเดฟเดเดพเดฐเดฟเดเดฎเดพเดเตเดเตเดเดฏเตเด เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดถเตเดเดฐเดฟเดเตเดเตเดเดฏเตเด เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดเดคเตเดเตเดเดฟเดฒเตเด เดฎเตเตปโเดจเดฟเตผเดตเตเดตเดเดฟเดเตเด เดจเดฟเดฏเดฎเดเตเดเดณเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดเดคเตเดคเดพเดฃเต เดเดเตเดเดณเตเดเต "เดฎเดพเดเดฟเดเต" เดเดเตเดเด (เดเดฟเดคเตเดฐเด 2: เดเดเตเดเด 4). เด เดเดเตเดเด เดเตเตบเดธเตฝ เด เดตเดฒเตเดเดจ เดกเดฏเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต (เดกเดฏเดเตเดฐเด 3) 4, 5, 1 เดเดเตเดเดเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต. เดคเดพเดดเต เดเดฐเต เดกเดฏเดเตเดฐเด (เดกเดฏเดเตเดฐเด 3), เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดตเตเดฏเดเตเดคเดฎเดพเดฏเดฟ เดเดพเดฃเดฟเดเตเดเตเด เดเดจเตเดจเดคเดพเดฃเต เดเดคเดฟเดจเตเดฑเต เดเดฆเตเดฆเตเดถเตเดฏเด เดฎเตเตฝเดเตเดเตเดฐเตเดฏเตเดเต เด เดเดฟเดฏเดฟเตฝ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ.
เดกเดฏเดเตเดฐเด 3: เดฎเดพเดจเตเดคเตเดฐเดฟเดเดค เดตเตเดณเดฟเดชเตเดชเตเดเตเดเต!
- เดเดฐเต เดเดฐเดเดญ เดชเตเดฏเดฟเดจเตเดฑเต เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเต เดฒเตเดเดฟเตป เด เดญเตเดฏเตผเดคเตเดฅเดจ เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เด เดเตเดเตเดฃเตเดเต เดเตเดเตเดเดฃเตเด เดฎเตเดฎเตเดชเต เดธเตเดทเตเดเดฟเดเตเด เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟเดฏเตเดเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเดฆเดพเดนเดฐเดฃเดตเตเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดฎเดพเดฑเตเดจเตเดจเต. เด เดเดเตเดเด เดฎเตเดฎเตเดชเดคเตเดคเต เดธเตผเดเตเดฏเตเดเตเดเต เดตเดฟเดถเดฆเตเดเดฐเดฃเดคเตเดคเดฟเดฒเต เดเดเตเดเด 3 เดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต.
- เดเดชเตเดชเตเตพ เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดจเตเดคเดพเดตเต) เดธเตเดตเตเดเดฐเดฟเดเตเด เดเตเดเตเดเดฃเดฟเดจเตเดฑเต เดเดงเดฟเดเดพเดฐเดฟเดเดค เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เด เดคเดฟเดจเดพเตฝ, เดเดคเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเตเดฎเดพเดฏเดฟ (เดเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเต เดตเดดเดฟ) เดเตเดเดฟเดฏเดพเดฒเตเดเดฟเดเตเดเตเดเดฏเตเด เดเดเดฟเดคเดฎเดพเดฏ เด เดจเตเดฎเดคเดฟเดเดณเตเดเต, เดเตเดเตเดเตบ เดฏเดฅเดพเตผเดคเตเดฅเดฎเดพเดฃเต เดเดจเตเดจเตเด เด เดคเต เดเดฐเตเดเตเดคเดพเดฃเตเดจเตเดจเตเด เดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเด.
- เดธเดพเดงเตเดเดฐเดฟเดเตเด เด เดญเตเดฏเตผเดคเตเดฅเดจ เดเตเตบเดธเตฝ เดจเตเดคเดพเดตเดฟเดจเต เดคเดฟเดฐเดฟเดเต เดจเตฝเดเตเด, เดเตเดเดพเดคเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดฒเตเดเดฟเตป เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต (เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดคเดฐเดคเตเดคเดฟเดฒเตเด) เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดชเตเดฐเดฟเดจเตเดชเตเดชเด เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ เดเดฆเดพเดนเดฐเดฃเด เดจเตเดเตเดเตเดจเตเดจเต.
- เดเตเตบเดธเตฝ เดจเตเดคเดพเดตเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดเดคเดฑเตเดธเตเดทเตป เดฐเตเดคเดฟ เดเดฆเดพเดนเดฐเดฃเด (เดเดฃเตเดเตเดคเตเดคเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ) เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตเดเดฏเตเด เด เดคเดฟเดจเตเดเต เดเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดฌเตเตปเดกเดฟเดเดเต เดจเดฟเดฏเดฎเดเตเดเดณเตเดเต เดธเตเดฑเตเดฑเต เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดคเต เดชเดฟเดจเตเดจเตเดเต เด เดจเดฟเดฏเดฎเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเด เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟ เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเตเดเดณเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
- TA-dah! เดฎเตเดฎเตเดชเดคเตเดคเต เดธเตผเดเตเดฏเตเดเตเดเต เดตเดฟเดถเดฆเตเดเดฐเดฃเดคเตเดคเดฟเดฒเต 5-เดพเด เดเดเตเดเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด.
เดเดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดเตเตบเดธเตฝ-เดธเตเตผเดตเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด
เดเดจเดฟ เดฎเตเดคเตฝ, เดชเตเตผเดฃเตเดฃ เดตเดพเดเตเดฏ เดตเดฟเดถเดฆเตเดเดฐเดฃเดเตเดเดณเดฟเดฒเตเดฒเดพเดคเต, เดชเดฒเดชเตเดชเตเดดเตเด เดฌเตเดณเตเดณเดฑเตเดฑเต เดชเตเดฏเดฟเดจเตเดฑเตเดเดณเดฟเตฝ เด POC เดเดเตเดเดจเต เดธเตเดทเตเดเดฟเดเตเดเดพเด เดเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดเดพเตป เดเตเดเตเดคเดฒเตเด เดจเตฝเดเตเด. เดเตเดเดพเดคเต, เดจเตเดฐเดคเตเดคเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดคเตเดชเตเดฒเต, เดเดฒเตเดฒเดพ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเดฑเตเดเดณเตเด เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดพเตป GCP เดเดชเดฏเตเดเดฟเดเตเดเตเด, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเตเดตเดฟเดเตเดฏเตเดเตเดเดฟเดฒเตเด เดธเดฎเดพเดจเดฎเดพเดฏ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
- เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเตป เดเดฐเดเดญเดฟเดเตเดเตเด (เดเดฆเดพเดนเดฐเดฃเด/เดธเตเตผเดตเตผ).
- เดซเดฏเตผเดตเดพเดณเดฟเดจเดพเดฏเดฟ เดเดฐเต เดจเดฟเดฏเดฎเด เดธเตเดทเตเดเดฟเดเตเดเตเด (AWS-เดฒเต เดธเตเดฐเดเตเดทเดพ เดเตเดฐเตเดชเตเดชเต):
- เดฑเตเดณเดฟเดจเตเด เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดเดพเดเดฟเดจเตเด เดเดฐเต เดฎเตเดทเตเตป เดจเดพเดฎเด เดจเตฝเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ "skywiz-consul-server-poc".
- เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเดพเดฆเตเดถเดฟเด เดเดฎเตเดชเตเดฏเตเดเตเดเดฑเดฟเดจเตเดฑเต IP เดตเดฟเดฒเดพเดธเด เดเดฃเตเดเตเดคเตเดคเดฟ เดเดฑเดตเดฟเด IP เดตเดฟเดฒเดพเดธเดเตเดเดณเตเดเต เดชเดเตเดเดฟเดเดฏเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด, เด เดคเตเดตเดดเดฟ เดเดเตเดเตพเดเตเดเต เดเดชเดฏเตเดเตเดคเต เดเดจเตเดฑเตผเดซเตเดธเต (UI) เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด.
- UI-เดฏเตโเดเตเดเดพเดฏเดฟ เดชเตเตผเดเตเดเต 8500 เดคเตเดฑเดเตเดเตเด. เดธเตเดทเตเดเดฟเดเตเดเตเด เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเด. เดเดเตเดเตพ เด เดซเดฏเตผเดตเดพเตพ เดเดเตป เดฎเดพเดฑเตเดฑเตเด [
เดฒเดฟเดเตเดเต ]. - เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดฐเต เดซเดฏเตผเดตเดพเตพ เดจเดฟเดฏเดฎเด เดเตเตผเดเตเดเตเด. เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดฒเต VM เดกเดพเดทเตโเดฌเตเตผเดกเดฟเดฒเตเดเตเดเต เดคเดฟเดฐเดฟเดเต เดชเตเดฏเดฟ เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดเดพเดเต เดซเตเตฝเดกเดฟเดฒเตเดเตเดเต โskywiz-consul-server-pocโ เดเตเตผเดเตเดเตเด. เดธเตเดตเต เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเด.
- เดเดฐเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดเตเตบเดธเตฝ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด, เดเดตเดฟเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด. เดจเดฟเดเตเดเตพเดเตเดเต เดเตเตบเดธเตฝ เดชเดคเดฟเดชเตเดชเต โฅ 1.5 เดเดตเดถเตเดฏเดฎเดพเดฃเตเดจเตเดจเต เดเตผเดเตเดเตเด [เดฒเดฟเดเตเดเต]
- เดจเดฎเตเดเตเดเต เดเดฐเต เดเดฑเตเดฑ เดจเตเดกเต เดเตเตบเดธเตฝ เดเดฃเตเดเดพเดเตเดเดพเด - เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดชเตเดฐเดเดพเดฐเดฎเดพเดฃเต.
groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul
mkdir -p /var/lib/consul
chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
mkdir /etc/consul.d
chown -R consul:consul /etc/consul.d
- เดเตเตบเดธเตฝ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเด 3 เดจเตเดกเตเดเดณเตเดเต เดเดฐเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเด เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏ เดเตเดกเดฟเดจเดพเดฏเดฟ, เดเดพเดฃเตเด
เดเดตเดฟเดเต . - เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ เดเดฐเต เดซเดฏเตฝ /etc/consul.d/agent.json เดธเตเดทเตโเดเดฟเดเตเดเตเด [
เดฒเดฟเดเตเดเต ]:
### /etc/consul.d/agent.json
{
"acl" : {
"enabled": true,
"default_policy": "deny",
"enable_token_persistence": true
}
}
- เดเดเตเดเดณเตเดเต เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดเดฐเดเดญเดฟเดเตเดเตเด:
consul agent
-server
-ui
-client 0.0.0.0
-data-dir=/var/lib/consul
-bootstrap-expect=1
-config-dir=/etc/consul.d
- เดจเดฟเดเตเดเตพ เดเดฐเต เดเตเดเตเดเด เดเดเตเดเตโเดชเตเดเตเดเต เดเดพเดฃเตเดเดฏเตเด "... ACL-เดเตพ เด เดชเตโเดกเตเดฑเตเดฑเต เดคเดเดเตเดเต" เดเดจเตเดจเต เด เดตเดธเดพเดจเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
- เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เดฌเดพเดนเตเดฏ IP เดตเดฟเดฒเดพเดธเด เดเดฃเตเดเตเดคเตเดคเดฟ เดชเตเตผเดเตเดเต 8500-เตฝ เด IP เดตเดฟเดฒเดพเดธเดฎเตเดณเตเดณ เดเดฐเต เดฌเตเดฐเตเดธเตผ เดคเตเดฑเดเตเดเตเด. UI เดคเตเดฑเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเด.
- เดเดฐเต เดเต/เดฎเตเดฒเตเดฏเด เดเตเดเดฟ เดเตเตผเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเด. เดเดฐเต เดคเตเดฑเตเดฑเตเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด. เดเดเตเดเตพ เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดเดฐเต ACL เดเดชเดฏเตเดเดฟเดเตเดเต เดฒเตเดกเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเดฒเตเดฒเดพ เดจเดฟเดฏเดฎเดเตเดเดณเตเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเดคเดฟเดจเดพเดฒเดพเดฃเดฟเดคเต.
- เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดฒเต เดจเดฟเดเตเดเดณเตเดเต เดทเตเดฒเตเดฒเดฟเดฒเตเดเตเดเต เดคเดฟเดฐเดฟเดเต เดชเตเดฏเดฟ เด เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเดฒเต เดฎเดฑเตเดฑเตเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดฎเดพเตผเดเดคเตเดคเดฟเดฒเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดเดฐเดเดญเดฟเดเตเดเตเด, เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดจเตฝเดเตเด:
consul acl bootstrap
- "SecretID" เดฎเตเดฒเตเดฏเด เดเดฃเตเดเตเดคเตเดคเดฟ UI-เดฏเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเด. ACL เดเดพเดฌเดฟเตฝ, เดจเดฟเดเตเดเตพ เดเดชเตเดชเตเตพ เดชเดเตผเดคเตเดคเดฟเดฏ เดเตเดเตเดเดฃเดฟเดจเตเดฑเต เดฐเดนเดธเตเดฏ เดเดกเดฟ เดจเตฝเดเตเด. SecretID เดฎเดฑเตเดฑเตเดตเดฟเดเตเดฏเตเดเตเดเดฟเดฒเตเด เดชเดเตผเดคเตเดคเตเด, เดเดเตเดเตพเดเตเดเต เด เดคเต เดชเดฟเดจเตเดจเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด.
- เดเดชเตเดชเตเตพ เดเดฐเต เดเต/เดฎเตเดฒเตเดฏเด เดเตเดเดฟ เดเตเตผเดเตเดเตเด. เด POC-เดฏเตโเดเตเดเดพเดฏเดฟ, เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเตเตผเดเตเดเตเด: เดเต: โcustom-ns/test_keyโ, เดฎเตเดฒเตเดฏเด: โเดเดพเตป เดเดธเตเดฑเตเดฑเด-เดเตปเดเดธเต เดซเตเตพเดกเดฑเดฟเดฒเดพเดฃเต!โ
เดกเตเดฎเตเตบเดธเตเดฑเตเดฑเดพเดฏเดฟ เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเตเดฎเดพเดฏเดฟ เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดพเดฏเดฟ เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต
- เดเดฐเต K8s (เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต) เดเตเดฒเดธเตเดฑเตเดฑเตผ เดธเตเดทเตเดเดฟเดเตเดเตเด. เดตเตเดเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเดเตโเดธเดธเตเดธเดฟเดจเดพเดฏเดฟ เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เด เดคเต เดธเตเดฃเดฟเตฝ เดเดเตเดเตพ เดเดคเต เดธเตเดทเตโเดเดฟเดเตเดเตเด, เด เดคเดฟเดจเดพเตฝ เดเดจเตเดคเดฐเดฟเด IP เดตเดฟเดฒเดพเดธเดเตเดเดณเตเดฎเดพเดฏเดฟ เดเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเดพเตป เดเดเตเดเตพเดเตเดเต เด เดคเต เดธเดฌเตโเดจเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด. เดเดเตเดเตพ เด เดคเดฟเดจเต "skywiz-app-with-consul-client-poc" เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเด.
- เดเดฐเต เดธเตเดกเต เดจเตเดเตเดเต เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดเตเตบเดธเตฝ เดเดฃเดเตเดฑเตเดฑเดฟเดจเตเดชเตเดชเด เดเดฐเต POC เดเตเตบเดธเตฝ เดเตเดฒเดธเตเดฑเตเดฑเตผ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดพเตป เดเดฃเตเด เดเดฐเต เดจเดฒเตเดฒ เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเตฝ เดเดคเดพ.
- เดตเดฟเดชเตเดฒเตเดเตเดค เดฎเตเดฒเตเดฏเดเตเดเดณเตเดเต เดซเดฏเดฒเตเดณเตเดณ เดนเดพเดทเดฟเดเตเตผเดชเตเดชเต เดนเตเตฝเด เดเดพเตผเดเตเดเตเด เดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด.
- เดนเตเตฝเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเด. เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดเตเดเดเตเดเตพ:
kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-admin-binding
--clusterrole=cluster-admin --serviceaccount=kube-system:tiller
./helm init --service-account=tiller
./helm update
- เดนเตเตฝเด เดเดพเตผเดเตเดเต:
https://www.consul.io/docs/platform/k8s/helm.html - เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฎเตเดฒเตเดฏเดฎเตเดณเตเดณ เดซเดฏเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเด (เดเดพเตป เดเดฑเตเดฑเดตเตเด เดเตเดเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเดฟเดฏเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด):
### poc-helm-consul-values.yaml
global:
enabled: false
image: "consul:latest"
# Expose the Consul UI through this LoadBalancer
ui:
enabled: false
# Allow Consul to inject the Connect proxy into Kubernetes containers
connectInject:
enabled: false
# Configure a Consul client on Kubernetes nodes. GRPC listener is required for Connect.
client:
enabled: true
join: ["<PRIVATE_IP_CONSUL_SERVER>"]
extraConfig: |
{
"acl" : {
"enabled": true,
"default_policy": "deny",
"enable_token_persistence": true
}
}
# Minimal Consul configuration. Not suitable for production.
server:
enabled: false
# Sync Kubernetes and Consul services
syncCatalog:
enabled: false
- เดนเตเตฝเด เดเดพเตผเดเตเดเต เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเด:
./helm install -f poc-helm-consul-values.yaml ./consul-helm - name skywiz-app-with-consul-client-poc
- เด เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเตเตบเดธเตฝ เดธเตเตผเดตเดฑเดฟเดจเตเดณเตเดณ เด เดจเตเดฎเดคเดฟเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด, เด เดคเดฟเดจเดพเตฝ เดจเดฎเตเดเตเดเต เด เดต เดเตเตผเดเตเดเดพเด.
- เดเตเดฒเดธเตเดฑเตเดฑเตผ เดกเดพเดทเตโเดฌเตเตผเดกเดฟเตฝ เดธเตเดฅเดฟเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ "Pod เดตเดฟเดฒเดพเดธ เดถเตเดฐเตเดฃเดฟ" เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดเดฏเตเด เดเดเตเดเดณเตเดเต "skywiz-consul-server-poc" เดซเดฏเตผเดตเดพเตพ เดฑเตเดณเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
- IP เดตเดฟเดฒเดพเดธเดเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดชเตเดกเดฟเดจเตเดฑเต เดตเดฟเดฒเดพเดธ เดถเตเดฐเตเดฃเดฟ เดเตเตผเดเตเดเตเด, 8301, 8300 เดเดจเตเดจเต เดชเตเตผเดเตเดเตเดเตพ เดคเตเดฑเดเตเดเตเด.
- เดเตเตบเดธเตฝ เดฏเตเดเดฏเดฟเดฒเตเดเตเดเต เดชเตเดเตเด, เดเตเดฑเดเตเดเต เดฎเดฟเดจเดฟเดฑเตเดฑเตเดเตพเดเตเดเต เดถเตเดทเด เดจเตเดกเตเดเตพ เดเดพเดฌเดฟเตฝ เดเดเตเดเดณเตเดเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดฆเตเดถเตเดฏเดฎเดพเดเตเดจเตเดจเดคเต เดจเดฟเดเตเดเตพ เดเดพเดฃเตเด.
เดเตเตบเดธเดฒเดฟเดจเต เดเตเดฌเตเตผเดจเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเต เดเดฐเต เดเดคเดฑเตเดธเตเดทเตป เดฐเตเดคเดฟ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเต
- เดเตเตบเดธเตฝ เดธเตเตผเดตเตผ เดทเตเดฒเตเดฒเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเด, เดจเดฟเดเตเดเตพ เดจเตเดฐเดคเตเดคเต เดธเดเดฐเดเตเดทเดฟเดเตเด เดเตเดเตเดเตบ เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดเตเดฏเตเดฏเตเด:
export CONSUL_HTTP_TOKEN=<SecretID>
- เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃ เดฐเตเดคเดฟเดฏเตเดเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดธเตเดทเตโเดเดฟเดเตเดเดพเตป เดเดเตเดเดณเตเดเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต:
- kubernetes-host
kubectl get endpoints | grep kubernetes
- kubernetes-service-account-jwt
kubectl get sa <helm_deployment_name>-consul-client -o yaml | grep "- name:"
kubectl get secret <secret_name_from_prev_command> -o yaml | grep token:
- เดเตเดเตเดเตบ เดฌเตเดธเต64 เดเตปเดเตเดกเต เดเตเดฏเตโเดคเดคเดพเดฃเต, เด
เดคเดฟเดจเดพเตฝ เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเดฟเดฏเดชเตเดชเตเดเตเด เดเดชเดเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดกเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด [
เดฒเดฟเดเตเดเต ] - kubernetes-ca-cert
kubectl get secret <secret_name_from_prev_command> -o yaml | grep ca.crt:
- "ca.crt" เดธเตผเดเตเดเดฟเดซเดฟเดเตเดเดฑเตเดฑเต (base64 เดกเตเดเตเดกเดฟเดเดเดฟเดจเต เดถเตเดทเด) เดเดเตเดคเตเดคเต "ca.crt" เดซเดฏเดฒเดฟเตฝ เดเดดเตเดคเตเด.
- เดจเดฟเดเตเดเตพเดเตเดเต เดเดชเตเดชเตเตพ เดฒเดญเดฟเดเตเด เดฎเตเดฒเตเดฏเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฒเตเดฏเตโเดธเตโเดนเตเตพเดกเดฑเตเดเตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเต เดเดคเตเดคเต เดฐเตเดคเดฟ เดเดเดจเดเดฟ เดจเตฝเดเตเด.
consul acl auth-method create
-type "kubernetes"
-name "auth-method-skywiz-consul-poc"
-description "This is an auth method using kubernetes for the cluster skywiz-app-with-consul-client-poc"
-kubernetes-host "<k8s_endpoint_retrieved earlier>"
[email protected]
-kubernetes-service-account-
jwt="<decoded_token_retrieved_earlier>"
- เด เดเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฎเตเดฎเตพ เดเดฐเต เดฑเตเตพ เดเดฃเตเดเดพเดเตเดเตเดเดฏเตเด เด เดคเต เดชเตเดคเดฟเดฏ เดฑเตเดณเดฟเดฒเตเดเตเดเต เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเตเดเดฏเตเด เดตเตเดฃเด. เด เดญเดพเดเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเตเตบเดธเตฝ เดฏเตเด เดเดชเดฏเตเดเดฟเดเตเดเดพเด, เดชเดเตเดทเต เดเดเตเดเตพ เดเดฎเดพเตปเดกเต เดฒเตเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด.
- เดเดฐเต เดจเดฟเดฏเดฎเด เดเดดเตเดคเตเด
### kv-custom-ns-policy.hcl
key_prefix "custom-ns/" {
policy = "write"
}
- เดจเดฟเดฏเดฎเด เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเด
consul acl policy create
-name kv-custom-ns-policy
-description "This is an example policy for kv at custom-ns/"
-rules @kv-custom-ns-policy.hcl
- เดเดเตเดเตโเดชเตเดเตเดเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเดเตเดเตพ เดเดชเตเดชเตเตพ เดธเตเดทเตโเดเดฟเดเตเด เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเตเดฑเต เดเดกเดฟ เดเดฃเตเดเตเดคเตเดคเตเด.
- เดเดฐเต เดชเตเดคเดฟเดฏ เดจเดฟเดฏเดฎเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดฑเตเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด.
consul acl role create
-name "custom-ns-role"
-description "This is an example role for custom-ns namespace"
-policy-id <policy_id>
- เดเดชเตเดชเตเตพ เดเดเตเดเตพ เดเดเตเดเดณเตเดเต เดชเตเดคเดฟเดฏ เดฑเตเดณเดฟเดจเต เดเดคเตเดคเต เดฐเตเดคเดฟ เดเดฆเดพเดนเดฐเดฃเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดคเตเดคเตเด. เดเดเตเดเดณเตเดเต เดฒเตเดเดฟเตป เด
เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเตเดเต เด เดฑเตเตพ เดฒเดญเดฟเดเตเดเตเดฎเต เดเดจเตเดจเต "เดธเตเดฒเดเตเดเตผ" เดซเตเดฒเดพเดเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด. เดฎเดฑเตเดฑเต เดธเตเดฒเดเตเดเตผ เดเดชเตเดทเดจเตเดเตพเดเตเดเดพเดฏเดฟ เดเดตเดฟเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
https://www.consul.io/docs/acl/auth-methods/kubernetes.html#trusted-identity-attributes
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='custom-ns-role'
-selector='serviceaccount.namespace=="custom-ns"'
เด เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเตพ
เดเดเตเดธเดธเต เด เดตเดเดพเดถเดเตเดเตพ
- เดเดเตเดธเดธเต เด เดตเดเดพเดถเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด. K8s เดธเตเดตเดจ เด เดเตเดเตเดฃเตเดเต เดเตเดเตเดเดฃเดฟเดจเตเดฑเต เดเดกเดจเตเดฑเดฟเดฑเตเดฑเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเดจเตเด เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเดพเดจเตเด เดเดเตเดเตพ เดเตเตบเดธเตฝ เด เดจเตเดฎเดคเดฟ เดจเตฝเดเตเดฃเตเดเดคเตเดฃเตเดเต.
- เดซเดฏเดฒเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเดดเตเดคเตเด
[เดฒเดฟเดเตเดเต] :
###skywiz-poc-consul-server_rbac.yaml
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: review-tokens
namespace: default
subjects:
- kind: ServiceAccount
name: skywiz-app-with-consul-client-poc-consul-client
namespace: default
roleRef:
kind: ClusterRole
name: system:auth-delegator
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: service-account-getter
namespace: default
rules:
- apiGroups: [""]
resources: ["serviceaccounts"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: get-service-accounts
namespace: default
subjects:
- kind: ServiceAccount
name: skywiz-app-with-consul-client-poc-consul-client
namespace: default
roleRef:
kind: ClusterRole
name: service-account-getter
apiGroup: rbac.authorization.k8s.io
- เดจเดฎเตเดเตเดเต เดชเตเดฐเดตเตเดถเดจ เด เดตเดเดพเดถเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเดพเด
kubectl create -f skywiz-poc-consul-server_rbac.yaml
เดเตเตบเดธเตฝ เดเตเดฒเดฏเดจเตเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
- เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดคเตเดชเตเดฒเต
เดเดตเดฟเดเต เดกเตเดฎเตเตบเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เดเดชเตเดทเดจเตเดเตพ เดเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดเตเด: - เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเดฏเตฝ เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเด [
เดฒเดฟเดเตเดเต ].
### poc-consul-client-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: consul-ds-client
spec:
selector:
app: consul
chart: consul-helm
component: client
hasDNS: "true"
release: skywiz-app-with-consul-client-poc
ports:
- protocol: TCP
port: 80
targetPort: 8500
- เดเดฐเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฌเดฟเตฝเดเตเดเดฟเตป เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเด [
เดฒเดฟเดเตเดเต ]. เดเดเตเดเดณเตเดเต เดธเตเดตเดจเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฃเต เดเดเตเดเตพ เดชเดฐเดพเดฎเตผเดถเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจ เดเดพเดฐเตเดฏเด เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด, เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ เด เดคเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด.
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
labels:
addonmanager.kubernetes.io/mode: EnsureExists
name: kube-dns
namespace: kube-system
data:
stubDomains: |
{"consul": ["$(kubectl get svc consul-ds-client -o jsonpath='{.spec.clusterIP}')"]}
EOF
เดเดคเตเดคเต เดฐเตเดคเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต
เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เดฎเดพเดเดฟเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเด!
- เดเดฐเต เดเตเดชเตเดชเต เดฒเตเดตเตฝ เดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดเต เดซเตเตพเดกเดฑเตเดเตพ เดธเตเดทเตโเดเดฟเดเตเดเตเด (เด เดคเดพเดฏเดคเต. /เดธเดพเดฎเตเดชเดฟเตพ_เดเต) เดเตเดเดพเดคเต เดจเดฟเดเตเดเตพ เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดค เดฎเตเดฒเตเดฏเดตเตเด. เดชเตเดคเดฟเดฏ เดชเตเดฐเดงเดพเดจ เดชเดพเดคเดเตพเดเตเดเดพเดฏเดฟ เดเดเดฟเดคเดฎเดพเดฏ เดจเดฏเดเตเดเดณเตเด เดฑเตเดณเตเดเดณเตเด เดธเตเดทเตเดเดฟเดเตเดเตเด. เดเดเตเดเตพ เดฌเตเตปเดกเดฟเดเดเตเดเตพ เดชเดฟเดจเตเดจเตเดเต เดเตเดฏเตเดฏเตเด.
เดเดทเตโเดเดพเดจเตเดธเตเดค เดจเตเดฏเดฟเดเดธเตโเดชเตเดธเต เดชเดฐเดฟเดถเตเดงเดจ:
- เดจเดฎเตเดเตเดเต เดจเดฎเตเดฎเตเดเต เดธเตเดตเดจเตเดคเด เดจเตเดฏเดฟเดเดธเตเดชเตเดธเต เดเดฃเตเดเดพเดเตเดเดพเด:
kubectl create namespace custom-ns
- เดจเดฎเตเดเตเดเต เดจเดฎเตเดฎเตเดเต เดชเตเดคเดฟเดฏ เดจเตเดฏเดฟเดเดธเตเดชเตเดธเดฟเตฝ เดเดฐเต เดชเตเดกเต เดเดฃเตเดเดพเดเตเดเดพเด. เดชเตเดกเดฟเดจเตเดฑเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดดเตเดคเตเด.
###poc-ubuntu-custom-ns.yaml
apiVersion: v1
kind: Pod
metadata:
name: poc-ubuntu-custom-ns
namespace: custom-ns
spec:
containers:
- name: poc-ubuntu-custom-ns
image: ubuntu
command: ["/bin/bash", "-ec", "sleep infinity"]
restartPolicy: Never
- เดคเดพเดดเต เดธเตเดทเตเดเดฟเดเตเดเตเด:
kubectl create -f poc-ubuntu-custom-ns.yaml
- เดเดฃเตเดเตเดฏเตเดจเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดดเดฟเดเตเดเดพเตฝ, เด เดตเดฟเดเต เดชเตเดฏเดฟ เดเตเดฐเตเดณเตป เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด.
kubectl exec poc-ubuntu-custom-ns -n custom-ns -it /bin/bash
apt-get update && apt-get install curl -y
- เดเดชเตเดชเตเตพ เดเดเตเดเตพ เดจเตเดฐเดคเตเดคเต เดธเตเดทเตเดเดฟเดเตเด เด
เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเตบเดธเดฒเดฟเดจเต เดเดฐเต เดฒเตเดเดฟเตป เด
เดญเตเดฏเตผเดคเตเดฅเดจ เด
เดฏเดฏเตโเดเตเดเตเด [
เดฒเดฟเดเตเดเต ]. - เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจ เด เดเตเดเตเดฃเตเดเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตฝเดเดฟเดฏ เดเตเดเตเดเตบ เดเดพเดฃเตเดจเตเดจเดคเดฟเดจเต:
cat /run/secrets/kubernetes.io/serviceaccount/token
- เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเดจเตเดณเตเดณเดฟเดฒเต เดเดฐเต เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเดดเตเดคเตเด:
### payload.json
{
"AuthMethod": "auth-method-test",
"BearerToken": "<jwt_token>"
}
- เดฒเตเดพเดเดฟเตป!
curl
--request POST
--data @payload.json
consul-ds-client.default.svc.cluster.local/v1/acl/login
- เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดเดเตเดเดเตเดเตพ เดเดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเดพเตป (เดเดเตเดเตพ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเตเดธเตเดฑเตเดฑเตเดเตพ เดจเดเดคเตเดคเตเดจเตเดจเดคเดฟเดจเดพเตฝ), เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเตเดฏเตเดฏเดพเด:
echo "{
"AuthMethod": "auth-method-skywiz-consul-poc",
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)"
}"
| curl
--request POST
--data @-
consul-ds-client.default.svc.cluster.local/v1/acl/login
- เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต! เดเตเดฑเดเตเดเดคเต เด เดคเต เดตเตเดฃเด. เดเดชเตเดชเตเตพ SecretID เดเดเตเดคเตเดคเต เดจเดฎเตเดเตเดเต เดเดเตเดธเดธเต เดเตเดฏเตเดฏเตเดฃเตเด เดเต/เดฎเตเดฒเตเดฏเด เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเด.
curl
consul-ds-client.default.svc.cluster.local/v1/kv/custom-ns/test_key --header โX-Consul-Token: <SecretID_from_prev_response>โ
- เดจเดฟเดเตเดเตพเดเตเดเต "เดฎเตเดฒเตเดฏเด" เด เดเดฟเดธเตเดฅเดพเดจ64 เดกเตเดเตเดกเต เดเตเดฏเตเดฏเดพเดจเตเด UI-เดฏเดฟเดฒเต custom-ns/test_key-เดฒเต เดฎเตเดฒเตเดฏเดตเตเดฎเดพเดฏเดฟ เดเดคเต เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเดคเต เดเดพเดฃเดพเดจเตเด เดเดดเดฟเดฏเตเด. เด เดเตเดฏเตเดเตเดเตเดฑเดฟเดฏเดฒเดฟเตฝ เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เด เดคเต เดฎเตเดฒเตเดฏเด เดจเดฟเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเดณเตเดเต เดเตปเดเตเดกเต เดเตเดฏเตเดค เดฎเตเดฒเตเดฏเด IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEi เดเดฏเดฟเดฐเดฟเดเตเดเตเด.
เดเดชเดฏเตเดเตเดคเต เดธเตเดตเดจ เด เดเตเดเตเดฃเตเดเต เดชเดฐเดฟเดถเตเดงเดจ:
- เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดเดทเตโเดเดพเดจเตเดธเตเดค เดธเตเดตเดจ เด
เดเตเดเตเดฃเตเดเต เดธเตเดทเตโเดเดฟเดเตเดเตเด [
เดฒเดฟเดเตเดเต ].
kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: custom-sa
EOF
- เดชเตเดกเดฟเดจเดพเดฏเดฟ เดเดฐเต เดชเตเดคเดฟเดฏ เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด. เด เดงเตเดตเดพเดจเด เดฒเดพเดญเดฟเดเตเดเดพเตป เดเดพเตป เดเตเดฐเตเดณเตป เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเตป เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด :)
###poc-ubuntu-custom-sa.yaml
apiVersion: v1
kind: Pod
metadata:
name: poc-ubuntu-custom-sa
namespace: default
spec:
serviceAccountName: custom-sa
containers:
- name: poc-ubuntu-custom-sa
image: ubuntu
command: ["/bin/bash","-ec"]
args: ["apt-get update && apt-get install curl -y; sleep infinity"]
restartPolicy: Never
- เด เดคเดฟเดจเตเดถเตเดทเด, เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดเดฐเต เดทเตเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด.
kubectl exec -it poc-ubuntu-custom-sa /bin/bash
- เดฒเตเดพเดเดฟเตป!
echo "{
"AuthMethod": "auth-method-skywiz-consul-poc",
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)"
}"
| curl
--request POST
--data @-
consul-ds-client.default.svc.cluster.local/v1/acl/login
- เด เดจเตเดฎเดคเดฟ เดจเดฟเดทเตเดงเดฟเดเตเดเต. เด, เดเดเดฟเดคเดฎเดพเดฏ เด เดจเตเดฎเดคเดฟเดเดณเตเดเต เดเดฐเต เดชเตเดคเดฟเดฏ เดจเดฟเดฏเดฎเดเตเดเตพ เดเตเตผเดเตเดเดพเตป เดเดเตเดเตพ เดฎเดฑเดจเตเดจเต, เดเดชเตเดชเตเตพ เด เดคเต เดเตเดฏเตเดฏเดพเด.
เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดฎเตเตป เดเดเตเดเดเตเดเตพ เดเดตเตผเดคเตเดคเดฟเดเตเดเตเด:
a) โเดเดธเตเดฑเตเดฑเด-เดธ/โ เดเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเดเตโเดธเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เดเดฐเต เดจเดฏเด เดธเตเดทเตโเดเดฟเดเตเดเตเด.
b) เดเดฐเต เดฑเตเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด, เด
เดคเดฟเดจเต "เดเดธเตเดฑเตเดฑเด-เดธเดพ-เดฑเตเตพ" เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเด
เดธเดฟ) เดฑเตเดณเดฟเดฒเตเดเตเดเต เดจเดฏเด เด
เดฑเตเดฑเดพเดเตเดเตเดเตเดฏเตเดฏเตเด.
- เดเดฐเต เดฑเตเตพ-เดฌเตเตปเดกเดฟเดเดเต เดธเตเดทเตเดเดฟเดเตเดเตเด (cli/api-เตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเด เดธเดพเดงเตเดฏเดฎเดพเดฃเต). เดธเตเดฒเดเตเดเตผ เดซเตเดฒเดพเดเดฟเดจเตเดฑเต เดตเตเดฏเดคเตเดฏเดธเตเดค เด เตผเดคเตเดฅเด เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด.
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='custom-sa-role'
-selector='serviceaccount.name=="custom-sa"'
- "poc-ubuntu-custom-sa" เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฃเตเดเตเด เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเด. เดตเดฟเดเดฏเด!
- เดเดธเตเดฑเตเดฑเด-เดธ/ เดเต เดชเดพเดคเตเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดเตเดเดณเตเดเต เดเดเตโเดธเดธเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด.
curl
consul-ds-client.default.svc.cluster.local/v1/kv/custom-sa/test_key --header โX-Consul-Token: <SecretID>โ
- เด เดเตเดเตเดเตบ "เดเดธเตเดฑเตเดฑเด-เดเตปเดเดธเต/" เดเดจเตเดจเดคเดฟเตฝ kv-เดฒเตเดเตเดเต เดเดเตโเดธเดธเต เดจเตฝเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดจเตเดจเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดฑเดชเตเดชเดพเดเตเดเดพเด. "custom-sa" เดฎเดพเดฑเตเดฑเดฟ "custom-ns" เดเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเดเตโเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเตเดเดณเดฟเดฒเตเดณเตเดณ เดเดฎเดพเตปเดกเต เดเดตเตผเดคเตเดคเดฟเดเตเดเตเด.
เด เดจเตเดฎเดคเดฟ เดจเดฟเดทเตเดงเดฟเดเตเดเต.
เดเดตเตผเดฒเต เดเดฆเดพเดนเดฐเดฃเด:
- เด เด เดตเดเดพเดถเดเตเดเดณเตเดณเตเดณ เดเตเดเตเดเดฃเดฟเดฒเตเดเตเดเต เดเดฒเตเดฒเดพ เดฑเตเตพ-เดฌเตเตปเดกเดฟเดเดเต เดฎเดพเดชเตเดชเดฟเดเดเตเดเดณเตเด เดเตเตผเดเตเดเตเด เดเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดฃเตเดเดคเดพเดฃเต.
- เดเดเตเดเดณเตเดเต เดเดฃเตเดเตเดฏเตโเดจเตผ "poc-ubuntu-custom-sa" เดกเดฟเดซเตเตพเดเตเดเต เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเดฟเดฒเดพเดฃเต - เด เดคเดฟเดจเดพเตฝ เดจเดฎเตเดเตเดเต เดเดคเต เดฎเดฑเตเดฑเตเดฐเต เดฑเตเตพ-เดฌเตเตปเดกเดฟเดเดเดฟเดจเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดพเด.
- เดฎเตเดฎเตเดชเดคเตเดคเต เดเดเตเดเดเตเดเตพ เดเดตเตผเดคเตเดคเดฟเดเตเดเตเด:
a) โเดกเดฟเดซเตเตพเดเตเดเต/โ เดเต เดชเตเดฐเดฟเดซเดฟเดเตโเดธเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เดเดฐเต เดจเดฏเด เดธเตเดทเตโเดเดฟเดเตเดเตเด.
b) เดเดฐเต เดฑเตเตพ เดธเตเดทเตเดเดฟเดเตเดเตเด, เด เดคเดฟเดจเต "default-ns-role" เดเดจเตเดจเต เดชเตเดฐเต เดจเตฝเดเตเด
เดธเดฟ) เดฑเตเดณเดฟเดฒเตเดเตเดเต เดจเดฏเด เด เดฑเตเดฑเดพเดเตเดเตเดเตเดฏเตเดฏเตเด. - เดเดฐเต เดฑเตเตพ-เดฌเตเตปเดกเดฟเดเดเต เดธเตเดทเตเดเดฟเดเตเดเตเด (cli/api-เตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเด เดธเดพเดงเตเดฏเดฎเดพเดฃเต)
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='default-ns-role'
-selector='serviceaccount.namespace=="default"'
- เดเดเตเดเดณเตเดเต "poc-ubuntu-custom-sa" เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเดฒเตเดเตเดเต เดคเดฟเดฐเดฟเดเต เดชเตเดฏเดฟ "default/" kv เดชเดพเดคเตเดคเต เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเด.
- เด
เดจเตเดฎเดคเดฟ เดจเดฟเดทเตเดงเดฟเดเตเดเต.
ACL > เดเตเดเตเดเดฃเตเดเตพเดเตเดเต เดเตเดดเดฟเตฝ UI-เดฏเดฟเดฒเต เดเดฐเต เดเตเดเตเดเดฃเดฟเดจเตเดฎเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเตเดฐเตเดกเตปเดทเตเดฏเดฒเตเดเตพ เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด. เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเดจเดพเดเตเดจเตเดจเดคเตเดชเตเดฒเต, เดเดเตเดเดณเตเดเต เดจเดฟเดฒเดตเดฟเดฒเต เดเตเดเตเดเดฃเดฟเตฝ เดเดฐเต "เดเดธเตเดฑเตเดฑเด-เดธเดพ-เดฑเตเตพ" เดฎเดพเดคเตเดฐเดฎเต เดเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดเตเดเตเดณเตเดณเต. เดเดเตเดเตพ เดจเดฟเดฒเดตเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเตเดเตเดเตบ เดเดเตเดเตพ เดฒเตเดเดฟเตป เดเตเดฏเตโเดคเดชเตเดชเตเตพ เดเดจเดฑเตเดฑเตเดฑเต เดเตเดฏเตโเดคเดคเดพเดฃเต, เด เดจเตเดจเต เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดเดฐเต เดฑเตเตพ-เดฌเตเตปเดกเดฟเดเดเต เดฎเดพเดคเตเดฐเดฎเต เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเตเดณเตเดณเต. เดเดเตเดเตพ เดตเตเดฃเตเดเตเด เดฒเตเดเดฟเตป เดเตเดฏเตเดคเต เดชเตเดคเดฟเดฏ เดเตเดเตเดเตบ เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. - "เดเดธเตเดฑเตเดฑเด-เดธ/", "เดกเดฟเดซเตเตพเดเตเดเต/" เดเตเดตเดฟ เดชเดพเดคเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดตเดพเดฏเดฟเดเตเดเดพเดจเดพเดเตเดฎเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเตเด.
เดตเดฟเดเดฏเดฟเดเตเดเต!
เดเดพเดฐเดฃเด, เดเดเตเดเดณเตเดเต "poc-ubuntu-custom-sa", "custom-sa", "default-ns" เดฑเตเตพ เดฌเตเตปเดกเดฟเดเดเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต.
เดคเตเดฐเตเดฎเดพเดจเด
TTL เดเตเดเตเดเตบ mgmt?
เดเดคเต เดเดดเตเดคเตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต, เด เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟ เดธเตเดทเตเดเดฟเดเตเด เดเตเดเตเดเดฃเตเดเตพเดเตเดเตเดณเตเดณ TTL เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเดพเตป เดเดฐเต เดธเดเดฏเตเดเดฟเดค เดฎเดพเตผเดเดฎเดฟเดฒเตเดฒ. เดเตเตบเดธเตฝ เด เดเดเตเดเดพเดฐเดคเตเดคเดฟเดจเตเดฑเต เดธเตเดฐเดเตเดทเดฟเดคเดฎเดพเดฏ เดเดเตเดเตเดฎเตเดทเตป เดจเตฝเดเดพเดจเตเดณเตเดณ เดฎเดฟเดเดเตเด เด เดตเดธเดฐเดฎเดพเดฃเดฟเดคเต.
TTL เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดเตเดเตเดเตบ เดธเตเดตเดฎเตเดงเดฏเดพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดเดชเตเดทเตป เดเดฃเตเดเต:
https://www.consul.io/docs/acl/acl-system.html#acl-tokens
เดเดพเดฒเดนเดฐเดฃเดชเตเดชเตเดเตเดจเตเดจ เดธเดฎเดฏเด - เด เดเตเดเตเดเตบ เด เดธเดพเดงเตเดตเดพเดเตเดเดชเตเดชเตเดเตเดจเตเดจ เดธเดฎเดฏเด. (เดเดชเตเดทเดฃเตฝ; เดเตเตบเดธเตฝ 1.5.0 เตฝ เดเตเตผเดคเตเดคเต)- เดธเตเดตเดฎเตเดงเดฏเดพ เดธเตเดทเตโเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด/เด
เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเต
https://www.consul.io/api/acl/tokens.html#expirationtime
เดธเดฎเตเดชเดญเดพเดตเดฟเดฏเดฟเตฝ เดเตเดเตเดเดฃเตเดเตพ เดเดเตเดเดจเต เดเดจเดฑเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต (เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเต เด เดเดเตเดเดพเดฐ เดฐเตเดคเดฟเดฏเดฟเดฒเต) TTL เดเตเตผเดเตเดเตเดจเตเดจเดคเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป เดเดเตเดเตพเดเตเดเต เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต.
เด เดคเตเดตเดฐเต, เดจเดฟเดเตเดเดณเตเดเต เดฒเตเดเดฟเดเตเดเดฟเตฝ เดเดฐเต เดฒเตเดเตเดเดเตเดเต เดเตปเดกเต เดชเตเดฏเดฟเดจเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดจเดฟเตผเดฆเตเดฆเตเดถเดฟเดเตเดเตเดจเตเดจเต.
https://www.consul.io/api/acl/acl.html#logout-from-auth-method https://www.consul.io/docs/acl/acl-auth-methods.html#overall-login-process
เดเดเตเดเดณเตเดเต เดฌเตเดฒเตเดเดฟเดฒเต เดฎเดฑเตเดฑเต เดฒเตเดเดจเดเตเดเดณเตเด เดตเดพเดฏเดฟเดเตเดเตเด:
ClickHouse-เตฝ เดจเดฟเดจเตเดจเต เด เดจเตเดฎเดคเดฟเดฏเดฟเดฒเตเดฒเดพเดคเต ClickHouse-เดฒเตเดเตเดเต เด เดจเตเดฎเดคเดฟเดฏเตเดเตเดฏเตเดณเตเดณ เดฎเตเดเตเดฐเตเดทเตป เดเดจเตเดคเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเต? GitLab CI/CD เดเดชเดฏเตเดเดฟเดเตเดเต เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดชเตเดชเตเดชเตเดฒเตเดจเตเดเตพ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเด เดกเตเดเตเดเตผ เดเดฎเตเดเตเดเตพ เดเตเดฐเตเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเตเดจเตเดจเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดคเดจเตเดคเตเดฐเดเตเดเตพ K8S-เดจเตเดฑเต Ingress เดเตบเดเตเดฐเตเดณเดฑเดพเดฏเดฟ Traefik เดงเดพเดฐเดพเดณเด เดตเตเดตเดฟเดงเตเดฏเดฎเดพเตผเดจเตเดจ เดตเตเดฌเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเตเดเต เดฌเดพเดเตเดเดชเตเดชเต Redmine-เดจเตเดณเตเดณ เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต. เดจเดฟเดเตเดเตพเดเตเดเตเด เดฎเดฑเตเดฑเตเดณเตเดณเดตเตผเดเตเดเตเดฎเดพเดฏเดฟ เดเตเดตเดฟเดคเด เดเดเตเดเดจเต เดฒเดณเดฟเดคเดฎเดพเดเตเดเดพเด
เด เดตเดฒเดเดฌเด: www.habr.com