{"id":343634,"date":"2023-01-08T03:00:56","date_gmt":"2023-01-08T03:00:56","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=343634"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=343634","title":{"rendered":"<span>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Free5GC, Kubernetes \u0438 Helm<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412\u0441\u0435\u043c \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e 5G \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0435\u043c\u043e \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b 5G. <a href=\"https:\/\/habr.com\/ru\/post\/708738\/\" rel=\"noopener noreferrer nofollow\">\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u043c\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 5G \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u0441 Open5GS \u0438 UERANSIM.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d51\/d7a\/113\/d51d7a1130cf8d6f590a22ea811d619b.PNG\" width=\"2305\" height=\"1291\"\/><figcaption><\/figcaption><\/figure>\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p>\u0412 \u043c\u043e\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Open5GS \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 5G UE \u0438 5G RAN \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e UERANSIM. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u043d\u0430 \u0431\u0430\u0437\u0435 Free5GC \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Kubernetes \u0438 Helm. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Prometheus\/Grafana. \u0412\u0441\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u044d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 <a href=\"https:\/\/gitlab.com\/rahasak-labs\/open5gs\" rel=\"noopener noreferrer nofollow\">gitlab<\/a>. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435 \u043f\u043e\u0441\u0442.<\/p>\n<h2>Free5GC<\/h2>\n<p>Free5GC \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 5-\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f (5G). \u042d\u0442\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u044c 5G \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c 3GPP Release 15 (R15). \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u044c Free5GC \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u0447\u0435\u043d\u044b\u043c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c 5G. \u041e\u0434\u043d\u0430\u043a\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u0435 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 Free5GC \u0442\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 5G.<\/p>\n<p>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u044c 5G \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Free5GC \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Kubernetes \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c Helm. <a href=\"https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm\/tree\/main\/docs\" rel=\"noopener noreferrer nofollow\">Orange-OpenSource<\/a> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b Helm \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f Free5GC \u0441 Kubernetes. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0448\u0430\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0438 Free5GC 5G \u0432 Kubernetes.<\/p>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Kubernetes<\/h2>\n<p>\u042f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Minikube Kubernetes \u0441 \u043e\u0434\u043d\u0438\u043c \u0443\u0437\u043b\u043e\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 AWS Ubuntu 20.04. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Free5GC \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 4 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, 8 \u0413\u0411 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes (\u0438\u043d\u0430\u0447\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0430\u0442\u044c \u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<p>\u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u044c\u044e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Calico (CNI). CNI \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0441\u0435\u0442\u0438 \u0432 Kubernetes. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Kubernetes \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c Kubenet \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445\/\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432). Kubenet \u2014 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043b\u0430\u0433\u0438\u043d, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438, IP-\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f, \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b CNI: Flannel, Calico, WeaveNet, Cilium, Canal. \u0412 \u044d\u0442\u043e\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d Calico CNI. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Calico \u044f \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u043b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0434\u0443\u043b\u044f\u043c, \u0432\u043a\u043b\u044e\u0447\u0438\u043b SCTP-\u0442\u0440\u0430\u0444\u0438\u043a \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0438 \u0442. \u0434.<\/p>\n<pre><code># install required packages sudo apt update -y sudo apt upgrade -y sudo apt install -y curl wget apt-transport-https  # install minikube wget https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64 sudo cp minikube-linux-amd64 \/usr\/local\/bin\/minikube sudo chmod +x \/usr\/local\/bin\/minikube  # start minikube # use calico as cni plugin minikube start --driver=docker --cpus=4 --memory=8g --disk-size=20g --cni=calico  # verify minikube installation \u276f\u276f minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured   ----   # install kubectl curl -LO https:\/\/storage.googleapis.com\/kubernetes-release\/release\/`curl -s https:\/\/storage.googleapis.com\/kubernetes-release\/release\/stable.txt`\/bin\/linux\/amd64\/kubectl chmod +x kubectl sudo mv kubectl \/usr\/local\/bin\/  # verify kubectl installation \u276f\u276f kubectl version -o yaml clientVersion:   buildDate: \"2021-12-16T11:41:01Z\"   compiler: gc   gitCommit: 86ec240af8cbd1b60bcc4c03c20da9b98005b92e   gitTreeState: clean   gitVersion: v1.23.1   goVersion: go1.17.5   major: \"1\"   minor: \"23\"   platform: linux\/amd64 serverVersion:   buildDate: \"2021-10-27T18:35:25Z\"   compiler: gc   gitCommit: c92036820499fedefec0f847e2054d824aea6cd1   gitTreeState: clean   gitVersion: v1.22.3   goVersion: go1.16.9   major: \"1\"   minor: \"22\"   platform: linux\/amd64         ---   # install helm curl -fsSL -o get_helm.sh https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3 chmod 700 get_helm.sh .\/get_helm.sh  # verify helm installation \u276f\u276f helm list -A NAMENAMESPACEREVISIONUPDATEDSTATUSCHARTAPP VERSION<\/code><\/pre>\n<h2>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Multus-CNI<\/h2>\n<p><a href=\"https:\/\/github.com\/k8snetworkplumbingwg\/multus-cni\" rel=\"noopener noreferrer nofollow\">Multus-CNI<\/a> \u2014 \u044d\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c CNI \u0434\u043b\u044f Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043a \u043c\u043e\u0434\u0443\u043b\u044f\u043c. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0432 Kubernetes \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u043c\u0435\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 (\u043f\u043e\u043c\u0438\u043c\u043e \u043f\u0435\u0442\u043b\u0438). \u0421 Multus \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e Multus \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043c\u0435\u0442\u0430-\u043f\u043b\u0430\u0433\u0438\u043d, \u043f\u043b\u0430\u0433\u0438\u043d CNI, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 CNI.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Multus-CNI, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d Kubernetes CNI \u0434\u043b\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d Calico CNI. \u041f\u043b\u0430\u0433\u0438\u043d Calico CNI \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c. \u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 Multus, \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<pre><code># install multus-cni cat .\/deployments\/multus-daemonset-thick-plugin.yml | kubectl apply -f -  # verify installation \u276f\u276f kubectl get pods --all-namespaces kube-system   calico-kube-controllers-58497c65d5-vz6pf   1\/1     Running   0             17h kube-system   calico-node-4b44m                          1\/1     Running   0             17h kube-system   kube-multus-ds-94kkw                       1\/1     Running   0             17h<\/code><\/pre>\n<h2>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Helm Chart<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 K8s \u0438 CNI \u044f \u043c\u043e\u0433\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b Free5GC 5G \u0441 Helm Chart. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Free5GC Helm Chart, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 <a href=\"https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm\/tree\/main\/docs\" rel=\"noopener noreferrer nofollow\">Orange-OpenSource<\/a>.<\/p>\n<pre><code># create namespace  kubectl create namespace free5gc  # add helm repository helm repo add towards5gs 'https:\/\/raw.githubusercontent.com\/Orange-OpenSource\/towards5gs-helm\/main\/repo\/' helm repo update  # view repository list \u276f\u276f helm repo list NAME      URL towards5gshttps:\/\/raw.githubusercontent.com\/Orange-OpenSource\/towards5gs-helm\/main\/repo\/  # view available charts \u276f\u276f helm search repo NAME                          CHART VERSIONAPP VERSIONDESCRIPTION towards5gs\/free5gc            1.0.0        v3.0.5     A Helm chart to deploy Free5gc towards5gs\/free5gc-amf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC AMF towards5gs\/free5gc-ausf       0.1.1        v3.0.6     A Helm chart to deploy the Free5GC AUSF towards5gs\/free5gc-n3iwf      0.1.1        v3.0.6     A Helm chart to deploy the Free5GC N3IWF towards5gs\/free5gc-nrf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC NRF towards5gs\/free5gc-nssf       0.1.1        v3.0.6     A Helm chart to deploy the Free5GC NSSF towards5gs\/free5gc-pcf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC PCF towards5gs\/free5gc-smf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC SMF towards5gs\/free5gc-udm        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC UDM towards5gs\/free5gc-udr        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC UDR towards5gs\/free5gc-upf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC User Plane towards5gs\/free5gc-webui      0.1.1        v3.0.6     A Helm chart to deploy the Free5GC WEBUI towards5gs\/free5gcControlPlane0.1.2        v3.0.5     DEPRECATED - A Helm chart to deploy the control... towards5gs\/free5gcN3iwf       0.1.2        v3.0.5     DEPRECATED - A Helm chart to deploy the n3iwf f... towards5gs\/free5gcUserPlane   0.1.2        v3.0.5     DEPRECATED - Helm chart to deploy the user plan... towards5gs\/networks5g         0.1.2        0.1.2      DEPRECATED - A Helm chart to deploy the user pl... towards5gs\/ueransim           2.0.12       v3.2.4     A Helm chart to deploy UERANSIM   ---   # deploy helm # -n free5gc(namespace) # free5gc-v1(name of the helm deployment) # towards5gs\/free5gc(chart name) helm -n free5gc install free5gc-v1 towards5gs\/free5gc  # verify helm deployment \u276f\u276f kubectl get pods -n free5gc NAME                                              READY   STATUS              RESTARTS   AGE free5gc-v1-free5gc-amf-amf-6f896894fd-9kvd8       0\/1     Pending             0          36s free5gc-v1-free5gc-ausf-ausf-64d6cc5bbb-2n4qb     0\/1     Init:0\/1            0          36s free5gc-v1-free5gc-nrf-nrf-7d89776696-vpq9t       0\/1     Init:0\/1            0          36s free5gc-v1-free5gc-nssf-nssf-79cd7cb489-dtpnx     0\/1     Running             0          36s free5gc-v1-free5gc-pcf-pcf-796f7f6ccd-s8d2g       0\/1     Running             0          36s free5gc-v1-free5gc-smf-smf-6994dff84d-qs7rx       0\/1     Running             0          36s free5gc-v1-free5gc-udm-udm-7997c46d89-jw8jh       0\/1     Running             0          36s free5gc-v1-free5gc-udr-udr-655664c8d8-fcs4d       0\/1     Running             0          36s free5gc-v1-free5gc-upf-upf-7b9c645bfb-bhjdg       0\/1     Running             0          36s free5gc-v1-free5gc-webui-webui-76b8fb879f-n47zm   0\/1     Running             0          36s mongodb-0                                         1\/1     Running             0          36s<\/code><\/pre>\n<h2>Free5GC Web UI<\/h2>\n<p>Free5GC \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 UE \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0432 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u043e\u0439 Kubernetes \u0441 nodePort=30500. \u042f \u043c\u043e\u0433\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 URL-\u0430\u0434\u0440\u0435\u0441 {replace-by-the-IP-of-one-of-your-cluster-nodes}:30500 \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u043e\u0432 Kubernetes. \u0412 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u044f \u043c\u043e\u0433\u0443 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 UE. \u042f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b 5G \u043d\u0430 AWS. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u043b\u0443\u0436\u0431\u0435 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441 \u043c\u043e\u0435\u0433\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f SSH.<\/p>\n<pre><code># web ui service run port 5000 as NodePort service(on aws install) \u276f\u276f kubectl get svc -n free5gc NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE webui-service   NodePort    10.98.157.168   &lt;none>        5000:30500\/TCP   4m43s  # kubernets port forward to access the NodePort service kubectl port-forward --namespace free5gc svc\/webui-service 5000:5000  # do ssh port forwarding to access the web-ui service on aws from local machine # now web ui can access in your local machine localhost:5000 ssh -L localhost:5000:localhost:5000 ubuntu@3.137.120.206<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u044f \u043c\u043e\u0433\u0443 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0430 (\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e UE) \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 UE \u0432 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/708738\/\" rel=\"noopener noreferrer nofollow\">\u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435<\/a>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/398\/219\/25b\/39821925b97f63e04a42edce88b8274d.PNG\" width=\"1132\" height=\"666\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/71b\/09f\/228\/71b09f228f6be813eba9cc12e1539a11.PNG\" width=\"1130\" height=\"656\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b19\/6fb\/aae\/b196fbaae68e12bfca1ad510d532ad75.PNG\" width=\"1131\" height=\"662\"\/><figcaption><\/figcaption><\/figure>\n<h2>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0435\u0440\u0432\u0438\u0441\u0430<\/h2>\n<p>\u0414\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 5G \u0432 Kubernetes \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Prometheus. \u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Grafana. <a href=\"https:\/\/github.com\/prometheus-community\/helm-charts\" rel=\"noopener noreferrer nofollow\">prometheus-community<\/a> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 Helm Chart \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Prometheus\/Grafana. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 prometheus.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">1. Prometheus operator<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2. Prometheus<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3. Alertmanager<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4. Prometheus node-exporter<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">5. Prometheus Adapter<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">6. kube-state-metrics<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">7. Grafana<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">8. pre-configured to collect metrics from all Kubernetes component<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">9. delivers a default set of dashboards and alerting rules<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<pre><code># add helm repo helm repo add prometheus-community https:\/\/prometheus-community.github.io\/helm-charts helm repo update  # view charts \u276f\u276f helm search repo prometheus-community NAME                                              CHART VERSIONAPP VERSIONDESCRIPTION prometheus-community\/alertmanager                 0.14.0       v0.23.0    The Alertmanager handles alerts sent by client ... prometheus-community\/kube-prometheus-stack        25.1.0       0.53.1     kube-prometheus-stack collects Kubernetes manif... prometheus-community\/kube-state-metrics           4.2.0        2.3.0      Install kube-state-metrics to generate and expo... prometheus-community\/prometheus                   15.0.2       2.31.1     Prometheus is a monitoring system and time seri... prometheus-community\/prometheus-adapter           3.0.0        v0.9.1     A Helm chart for k8s prometheus adapter prometheus-community\/prometheus-blackbox-exporter 5.3.1        0.19.0     Prometheus Blackbox Exporter prometheus-community\/prometheus-cloudwatch-expo...0.17.1       0.10.0     A Helm chart for prometheus cloudwatch-exporter prometheus-community\/prometheus-consul-exporter   0.5.0        0.4.0      A Helm chart for the Prometheus Consul Exporter prometheus-community\/prometheus-couchdb-exporter  0.2.0        1.0        A Helm chart to export the metrics from couchdb... prometheus-community\/prometheus-druid-exporter    0.11.0       v0.8.0     Druid exporter to monitor druid metrics with Pr... prometheus-community\/prometheus-elasticsearch-e...4.10.0       1.3.0      Elasticsearch stats exporter for Prometheus prometheus-community\/prometheus-json-exporter     0.1.0        1.0.2      Install prometheus-json-exporter prometheus-community\/prometheus-kafka-exporter    1.5.0        v1.4.1     A Helm chart to export the metrics from Kafka i... prometheus-community\/prometheus-mongodb-exporter  2.8.1        v0.10.0    A Prometheus exporter for MongoDB metrics prometheus-community\/prometheus-mysql-exporter    1.4.0        v0.12.1    A Helm chart for prometheus mysql exporter with... prometheus-community\/prometheus-nats-exporter     2.8.1        0.8.0      A Helm chart for prometheus-nats-exporter prometheus-community\/prometheus-node-exporter     2.4.1        1.3.1      A Helm chart for prometheus node-exporter prometheus-community\/prometheus-operator          9.3.2        0.38.1     DEPRECATED - This chart will be renamed. See ht... prometheus-community\/prometheus-pingdom-exporter  2.4.1        20190610-1 A Helm chart for Prometheus Pingdom Exporter prometheus-community\/prometheus-postgres-exporter 2.4.0        0.10.0     A Helm chart for prometheus postgres-exporter prometheus-community\/prometheus-pushgateway       1.14.0       1.4.2      A Helm chart for prometheus pushgateway prometheus-community\/prometheus-rabbitmq-exporter 1.0.0        v0.29.0    Rabbitmq metrics exporter for prometheus prometheus-community\/prometheus-redis-exporter    4.6.0        1.27.0     Prometheus exporter for Redis metrics prometheus-community\/prometheus-snmp-exporter     0.1.5        0.19.0     Prometheus SNMP Exporter prometheus-community\/prometheus-stackdriver-exp...1.12.0       0.11.0     Stackdriver exporter for Prometheus prometheus-community\/prometheus-statsd-exporter   0.4.2        0.22.1     A Helm chart for prometheus stats-exporter prometheus-community\/prometheus-to-sd             0.4.0        0.5.2      Scrape metrics stored in prometheus format and ...  # create k8s namespace kubectl create namespace prometheus  # deploy chart helm install prometheus prometheus-community\/kube-prometheus-stack -n prometheus  # pods \u276f\u276f kubectl get pods -n prometheus NAME                                                     READY   STATUS              RESTARTS   AGE alertmanager-prometheus-kube-prometheus-alertmanager-0   0\/2     ContainerCreating   0          20s prometheus-grafana-85b9d66b4c-8grs7                      0\/3     ContainerCreating   0          36s prometheus-kube-prometheus-operator-7f48fbb5c7-mmrws     1\/1     Running             0          36s prometheus-kube-state-metrics-676876fdcc-8fctw           1\/1     Running             0          36s prometheus-prometheus-kube-prometheus-prometheus-0       0\/2     PodInitializing     0          19s prometheus-prometheus-node-exporter-mrmhz                1\/1     Running             0          36s   ---   # grafana runs on ClusterIP 80 \u276f\u276f kubectl get svc -n prometheus | grep grafana prometheus-grafana                        ClusterIP   10.109.42.60    &lt;none>        80\/TCP                       3m32s  # port forward ClusterIP 80 of prometheus-grafana service on to 8080 # now grafana can be accssed via &lt;server ip>:8080 \u276f\u276f kubectl port-forward -n prometheus svc\/prometheus-grafana 8080:80  # grafana admin credentials setup with prometheus-grafana secret # the default credentials(username\/password) are admin\/prom-operator # credentials are base64 encoded \u276f\u276f kubectl get secret --namespace prometheus prometheus-grafana -o yaml apiVersion: v1 data:   admin-password: cHJvbS1vcGVyYXRvcg==   admin-user: YWRtaW4=   ldap-toml: \"\" kind: Secret metadata:<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/640\/23d\/d91\/64023dd91abaf61e1446bfd35984d383.PNG\" width=\"2236\" height=\"1296\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b9b\/1d3\/eb8\/b9b1d3eb8473b8bc5329770ba7e1dc05.PNG\" width=\"2238\" height=\"1300\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9da\/8b8\/e24\/9da8b8e249320990a73aadf794918b08.PNG\" width=\"2233\" height=\"1293\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0da\/293\/136\/0da293136590cd9b649a2508108a5896.PNG\" width=\"2239\" height=\"1292\"\/><figcaption><\/figcaption><\/figure>\n<h2>Reference<\/h2>\n<ol>\n<li>\n<p><a href=\"https:\/\/diamanti.com\/tutorial-5g-core-on-diamanti\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/diamanti.com\/tutorial-5g-core-on-diamanti\/<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/levelup.gitconnected.com\/opensource-5g-core-with-service-mesh-bba4ded044fa\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/levelup.gitconnected.com\/opensource-5g-core-with-service-mesh-bba4ded044fa<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.kubermatic.com\/blog\/5g-core-deployment-using-kubermatic-kubeone\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/www.kubermatic.com\/blog\/5g-core-deployment-using-kubermatic-kubeone\/<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gitlab.com\/nctuwinlab\/2019-free5gc-handbooks\/wnc\/-\/blob\/master\/3-Deploy-free5GC-CNFs-on-K8s.md\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/gitlab.com\/nctuwinlab\/2019-free5gc-handbooks\/wnc\/-\/blob\/master\/3-Deploy-free5GC-CNFs-on-K8s.md<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/dev.to\/kaitoii11\/deploy-prometheus-monitoring-stack-to-kubernetes-with-a-single-helm-chart-2fbd\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/dev.to\/kaitoii11\/deploy-prometheus-monitoring-stack-to-kubernetes-with-a-single-helm-chart-2fbd<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.linuxtechi.com\/how-to-install-minikube-on-ubuntu\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/www.linuxtechi.com\/how-to-install-minikube-on-ubuntu\/<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/tliron\/open5gs-k8s\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/tliron\/open5gs-k8s<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gitlab.com\/nctuwinlab\/2019-free5gc-handbooks\/wnc\/-\/blob\/master\/3-Deploy-free5GC-CNFs-on-K8s.md\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/gitlab.com\/nctuwinlab\/2019-free5gc-handbooks\/wnc\/-\/blob\/master\/3-Deploy-free5GC-CNFs-on-K8s.md<\/u><\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/709434\/\"> https:\/\/habr.com\/ru\/post\/709434\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412\u0441\u0435\u043c \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e 5G \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0435\u043c\u043e \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b 5G. <a href=\"https:\/\/habr.com\/ru\/post\/708738\/\" rel=\"noopener noreferrer nofollow\">\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u043c\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 5G \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u0441 Open5GS \u0438 UERANSIM.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<h2>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h2>\n<p>\u0412 \u043c\u043e\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Open5GS \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0438\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 5G UE \u0438 5G RAN \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e UERANSIM. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G \u043d\u0430 \u0431\u0430\u0437\u0435 Free5GC \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Kubernetes \u0438 Helm. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Prometheus\/Grafana. \u0412\u0441\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u044d\u0442\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u043c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 <a href=\"https:\/\/gitlab.com\/rahasak-labs\/open5gs\" rel=\"noopener noreferrer nofollow\">gitlab<\/a>. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435 \u043f\u043e\u0441\u0442.<\/p>\n<h2>Free5GC<\/h2>\n<p>Free5GC \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 5-\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f (5G). \u042d\u0442\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u044c 5G \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c 3GPP Release 15 (R15). \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u044c Free5GC \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u0447\u0435\u043d\u044b\u043c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c 5G. \u041e\u0434\u043d\u0430\u043a\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u0435 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 Free5GC \u0442\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 5G.<\/p>\n<p>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u044c 5G \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Free5GC \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Kubernetes \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c Helm. <a href=\"https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm\/tree\/main\/docs\" rel=\"noopener noreferrer nofollow\">Orange-OpenSource<\/a> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b Helm \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f Free5GC \u0441 Kubernetes. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0448\u0430\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0438 Free5GC 5G \u0432 Kubernetes.<\/p>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Kubernetes<\/h2>\n<p>\u042f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Minikube Kubernetes \u0441 \u043e\u0434\u043d\u0438\u043c \u0443\u0437\u043b\u043e\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 AWS Ubuntu 20.04. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Free5GC \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 4 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, 8 \u0413\u0411 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes (\u0438\u043d\u0430\u0447\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0430\u0442\u044c \u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<p>\u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u044c\u044e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 Calico (CNI). CNI \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0441\u0435\u0442\u0438 \u0432 Kubernetes. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Kubernetes \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c Kubenet \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0442\u044c\u044e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445\/\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432). Kubenet \u2014 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u043b\u0430\u0433\u0438\u043d, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438, IP-\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f, \u0437\u0435\u0440\u043a\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442\u043e\u0433\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b CNI: Flannel, Calico, WeaveNet, Cilium, Canal. \u0412 \u044d\u0442\u043e\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d Calico CNI. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Calico \u044f \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u043b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0434\u0443\u043b\u044f\u043c, \u0432\u043a\u043b\u044e\u0447\u0438\u043b SCTP-\u0442\u0440\u0430\u0444\u0438\u043a \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0438 \u0442. \u0434.<\/p>\n<pre><code># install required packages sudo apt update -y sudo apt upgrade -y sudo apt install -y curl wget apt-transport-https  # install minikube wget https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64 sudo cp minikube-linux-amd64 \/usr\/local\/bin\/minikube sudo chmod +x \/usr\/local\/bin\/minikube  # start minikube # use calico as cni plugin minikube start --driver=docker --cpus=4 --memory=8g --disk-size=20g --cni=calico  # verify minikube installation \u276f\u276f minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured   ----   # install kubectl curl -LO https:\/\/storage.googleapis.com\/kubernetes-release\/release\/`curl -s https:\/\/storage.googleapis.com\/kubernetes-release\/release\/stable.txt`\/bin\/linux\/amd64\/kubectl chmod +x kubectl sudo mv kubectl \/usr\/local\/bin\/  # verify kubectl installation \u276f\u276f kubectl version -o yaml clientVersion:   buildDate: \"2021-12-16T11:41:01Z\"   compiler: gc   gitCommit: 86ec240af8cbd1b60bcc4c03c20da9b98005b92e   gitTreeState: clean   gitVersion: v1.23.1   goVersion: go1.17.5   major: \"1\"   minor: \"23\"   platform: linux\/amd64 serverVersion:   buildDate: \"2021-10-27T18:35:25Z\"   compiler: gc   gitCommit: c92036820499fedefec0f847e2054d824aea6cd1   gitTreeState: clean   gitVersion: v1.22.3   goVersion: go1.16.9   major: \"1\"   minor: \"22\"   platform: linux\/amd64         ---   # install helm curl -fsSL -o get_helm.sh https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3 chmod 700 get_helm.sh .\/get_helm.sh  # verify helm installation \u276f\u276f helm list -A NAMENAMESPACEREVISIONUPDATEDSTATUSCHARTAPP VERSION<\/code><\/pre>\n<h2>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Multus-CNI<\/h2>\n<p><a href=\"https:\/\/github.com\/k8snetworkplumbingwg\/multus-cni\" rel=\"noopener noreferrer nofollow\">Multus-CNI<\/a> \u2014 \u044d\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c CNI \u0434\u043b\u044f Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043a \u043c\u043e\u0434\u0443\u043b\u044f\u043c. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0432 Kubernetes \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u043c\u0435\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 (\u043f\u043e\u043c\u0438\u043c\u043e \u043f\u0435\u0442\u043b\u0438). \u0421 Multus \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e Multus \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043c\u0435\u0442\u0430-\u043f\u043b\u0430\u0433\u0438\u043d, \u043f\u043b\u0430\u0433\u0438\u043d CNI, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 CNI.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Multus-CNI, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d Kubernetes CNI \u0434\u043b\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d Calico CNI. \u041f\u043b\u0430\u0433\u0438\u043d Calico CNI \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c. \u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 Multus, \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<pre><code># install multus-cni cat .\/deployments\/multus-daemonset-thick-plugin.yml | kubectl apply -f -  # verify installation \u276f\u276f kubectl get pods --all-namespaces kube-system   calico-kube-controllers-58497c65d5-vz6pf   1\/1     Running   0             17h kube-system   calico-node-4b44m                          1\/1     Running   0             17h kube-system   kube-multus-ds-94kkw                       1\/1     Running   0             17h<\/code><\/pre>\n<h2>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Helm Chart<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 K8s \u0438 CNI \u044f \u043c\u043e\u0433\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b Free5GC 5G \u0441 Helm Chart. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Free5GC Helm Chart, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 <a href=\"https:\/\/github.com\/Orange-OpenSource\/towards5gs-helm\/tree\/main\/docs\" rel=\"noopener noreferrer nofollow\">Orange-OpenSource<\/a>.<\/p>\n<pre><code># create namespace  kubectl create namespace free5gc  # add helm repository helm repo add towards5gs 'https:\/\/raw.githubusercontent.com\/Orange-OpenSource\/towards5gs-helm\/main\/repo\/' helm repo update  # view repository list \u276f\u276f helm repo list NAME      URL towards5gshttps:\/\/raw.githubusercontent.com\/Orange-OpenSource\/towards5gs-helm\/main\/repo\/  # view available charts \u276f\u276f helm search repo NAME                          CHART VERSIONAPP VERSIONDESCRIPTION towards5gs\/free5gc            1.0.0        v3.0.5     A Helm chart to deploy Free5gc towards5gs\/free5gc-amf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC AMF towards5gs\/free5gc-ausf       0.1.1        v3.0.6     A Helm chart to deploy the Free5GC AUSF towards5gs\/free5gc-n3iwf      0.1.1        v3.0.6     A Helm chart to deploy the Free5GC N3IWF towards5gs\/free5gc-nrf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC NRF towards5gs\/free5gc-nssf       0.1.1        v3.0.6     A Helm chart to deploy the Free5GC NSSF towards5gs\/free5gc-pcf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC PCF towards5gs\/free5gc-smf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC SMF towards5gs\/free5gc-udm        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC UDM towards5gs\/free5gc-udr        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC UDR towards5gs\/free5gc-upf        0.1.1        v3.0.6     A Helm chart to deploy the Free5GC User Plane towards5gs\/free5gc-webui      0.1.1        v3.0.6     A Helm chart to deploy the Free5GC WEBUI towards5gs\/free5gcControlPlane0.1.2        v3.0.5     DEPRECATED - A Helm chart to deploy the control... towards5gs\/free5gcN3iwf       0.1.2        v3.0.5     DEPRECATED - A Helm chart to deploy the n3iwf f... towards5gs\/free5gcUserPlane   0.1.2        v3.0.5     DEPRECATED - Helm chart to deploy the user plan... towards5gs\/networks5g         0.1.2        0.1.2      DEPRECATED - A Helm chart to deploy the user pl... towards5gs\/ueransim           2.0.12       v3.2.4     A Helm chart to deploy UERANSIM   ---   # deploy helm # -n free5gc(namespace) # free5gc-v1(name of the helm deployment) # towards5gs\/free5gc(chart name) helm -n free5gc install free5gc-v1 towards5gs\/free5gc  # verify helm deployment \u276f\u276f kubectl get pods -n free5gc NAME                                              READY   STATUS              RESTARTS   AGE free5gc-v1-free5gc-amf-amf-6f896894fd-9kvd8       0\/1     Pending             0          36s free5gc-v1-free5gc-ausf-ausf-64d6cc5bbb-2n4qb     0\/1     Init:0\/1            0          36s free5gc-v1-free5gc-nrf-nrf-7d89776696-vpq9t       0\/1     Init:0\/1            0          36s free5gc-v1-free5gc-nssf-nssf-79cd7cb489-dtpnx     0\/1     Running             0          36s free5gc-v1-free5gc-pcf-pcf-796f7f6ccd-s8d2g       0\/1     Running             0          36s free5gc-v1-free5gc-smf-smf-6994dff84d-qs7rx       0\/1     Running             0          36s free5gc-v1-free5gc-udm-udm-7997c46d89-jw8jh       0\/1     Running             0          36s free5gc-v1-free5gc-udr-udr-655664c8d8-fcs4d       0\/1     Running             0          36s free5gc-v1-free5gc-upf-upf-7b9c645bfb-bhjdg       0\/1     Running             0          36s free5gc-v1-free5gc-webui-webui-76b8fb879f-n47zm   0\/1     Running             0          36s mongodb-0                                         1\/1     Running             0          36s<\/code><\/pre>\n<h2>Free5GC Web UI<\/h2>\n<p>Free5GC \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 UE \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0432 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438 5G. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u043e\u0439 Kubernetes \u0441 nodePort=30500. \u042f \u043c\u043e\u0433\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 URL-\u0430\u0434\u0440\u0435\u0441 {replace-by-the-IP-of-one-of-your-cluster-nodes}:30500 \u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u043e\u0432 Kubernetes. \u0412 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u044f \u043c\u043e\u0433\u0443 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 UE. \u042f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b 5G \u043d\u0430 AWS. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u043b\u0443\u0436\u0431\u0435 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441 \u043c\u043e\u0435\u0433\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b \u043f\u0435\u0440\u0435\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f SSH.<\/p>\n<pre><code># web ui service run port 5000 as NodePort service(on aws install) \u276f\u276f kubectl get svc -n free5gc NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE webui-service   NodePort    10.98.157.168   &lt;none>        5000:30500\/TCP   4m43s  # kubernets port forward to access the NodePort service kubectl port-forward<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-343634","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/343634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=343634"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/343634\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=343634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=343634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=343634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}