Установка Kubernetes в Linux

Содержание
Введение
Ubuntu: скрипт
Ubuntu: systemctl

Введение

Ubuntu

sudo apt-get update

Hit:1 http://fi.archive.ubuntu.com/ubuntu focal InRelease Get:2 http://fi.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:3 http://fi.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Get:5 http://fi.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [527 kB] Get:6 http://fi.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1 175 kB] Get:7 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [27,6 kB] Get:8 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [61,1 kB] Get:9 http://fi.archive.ubuntu.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [282 kB] Get:10 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [2 468 B] Get:11 http://fi.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [853 kB] Get:12 http://fi.archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [631 kB] Get:13 http://fi.archive.ubuntu.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [351 kB] Get:14 http://fi.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [940 B] Get:15 http://fi.archive.ubuntu.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [10,3 kB] Fetched 4 250 kB in 3s (1 296 kB/s) Reading package lists... Done

sudo apt-get install -y apt-transport-https ca-certificates curl

Reading package lists... Done Building dependency tree Reading state information... Done ca-certificates is already the newest version (20210119~20.04.1). ca-certificates set to manually installed. The following NEW packages will be installed: apt-transport-https curl 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. Need to get 166 kB of archives. After this operation, 572 kB of additional disk space will be used. Get:1 http://fi.archive.ubuntu.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.6 [4 680 B] Get:2 http://fi.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.6 [161 kB] Fetched 166 kB in 0s (400 kB/s) Selecting previously unselected package apt-transport-https. (Reading database ... 148605 files and directories currently installed.) Preparing to unpack .../apt-transport-https_2.0.6_all.deb ... Unpacking apt-transport-https (2.0.6) ... Selecting previously unselected package curl. Preparing to unpack .../curl_7.68.0-1ubuntu2.6_amd64.deb ... Unpacking curl (7.68.0-1ubuntu2.6) ... Setting up apt-transport-https (2.0.6) ... Setting up curl (7.68.0-1ubuntu2.6) ... Processing triggers for man-db (2.9.1-1) ...

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main

sudo apt-get update

Hit:1 http://fi.archive.ubuntu.com/ubuntu focal InRelease Hit:2 http://fi.archive.ubuntu.com/ubuntu focal-updates InRelease Hit:3 http://fi.archive.ubuntu.com/ubuntu focal-backports InRelease Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease Get:5 https://packages.cloud.google.com/apt kubernetes-xenial InRelease [9 383 B] Get:6 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 Packages [49,4 kB] Fetched 58,8 kB in 2s (36,2 kB/s) Reading package lists... Done

sudo apt-get install -y kubectl

Или

sudo snap install microk8s --classic --channel=1.19/stable

microk8s (1.19/stable) v1.19.13 from Canonical installed

sudo snap install helm --classic --channel=3.6/stable

helm (3.6/stable) 3.6.3 from Snapcrafters installed

sudo snap install kubectl --classic --channel=1.21/stable

kubectl (1.21/stable) 1.21.4 from Canonical installed

snap info microk8s

name: microk8s summary: Kubernetes for workstations and appliances publisher: Canonical✓ store-url: https://snapcraft.io/microk8s contact: https://github.com/ubuntu/microk8s license: unset description: | MicroK8s is a small, fast, secure, single node Kubernetes that installs on just about any Linux box. Use it for offline development, prototyping, testing, or use it on a VM as a small, cheap, reliable k8s for CI/CD. It's also a great k8s for appliances - develop your IoT apps for k8s and deploy them to MicroK8s on your boxes. commands: - microk8s.add-node - microk8s.cilium - microk8s.config - microk8s.ctr - microk8s.dashboard-proxy - microk8s.dbctl - microk8s.disable - microk8s.enable - microk8s.helm - microk8s.helm3 - microk8s.inspect - microk8s.istioctl - microk8s.join - microk8s.juju - microk8s.kubectl - microk8s.leave - microk8s.linkerd - microk8s - microk8s.refresh-certs - microk8s.remove-node - microk8s.reset - microk8s.start - microk8s.status - microk8s.stop services: microk8s.daemon-apiserver: simple, enabled, active microk8s.daemon-apiserver-kicker: simple, enabled, active microk8s.daemon-cluster-agent: simple, enabled, active microk8s.daemon-containerd: simple, enabled, active microk8s.daemon-control-plane-kicker: simple, enabled, active microk8s.daemon-controller-manager: simple, enabled, active microk8s.daemon-etcd: simple, enabled, inactive microk8s.daemon-flanneld: simple, enabled, inactive microk8s.daemon-kubelet: simple, enabled, active microk8s.daemon-proxy: simple, enabled, active microk8s.daemon-scheduler: simple, enabled, active snap-id: EaXqgt1lyCaxKaQCU349mlodBkDCXRcg tracking: 1.19/stable refresh-date: today at 11:21 EEST channels: 1.21/stable: v1.21.4 2021-09-04 (2407) 191MB classic 1.21/candidate: v1.21.4 2021-08-20 (2407) 191MB classic 1.21/beta: v1.21.4 2021-08-20 (2407) 191MB classic 1.21/edge: v1.21.4 2021-08-23 (2427) 191MB classic latest/stable: v1.21.3 2021-07-28 (2346) 191MB classic latest/candidate: v1.22.1 2021-08-27 (2451) 195MB classic latest/beta: v1.22.1 2021-08-27 (2451) 195MB classic latest/edge: v1.22.1 2021-09-02 (2473) 202MB classic dqlite/stable: – dqlite/candidate: – dqlite/beta: – dqlite/edge: v1.16.2 2019-11-07 (1038) 189MB classic 1.23/stable: – 1.23/candidate: – 1.23/beta: – 1.23/edge: v1.23.0-alpha.1 2021-09-03 (2474) 203MB classic 1.22/stable: v1.22.1 2021-09-01 (2450) 195MB classic 1.22/candidate: v1.22.1 2021-08-27 (2450) 195MB classic 1.22/beta: v1.22.1 2021-08-27 (2450) 195MB classic 1.22/edge: v1.22.1 2021-08-27 (2450) 195MB classic 1.20/stable: v1.20.10 2021-09-04 (2409) 221MB classic 1.20/candidate: v1.20.10 2021-08-19 (2409) 221MB classic 1.20/beta: v1.20.10 2021-08-19 (2409) 221MB classic 1.20/edge: v1.20.10 2021-08-12 (2409) 221MB classic 1.19/stable: v1.19.13 2021-09-02 (2339) 216MB classic 1.19/candidate: v1.19.14 2021-09-02 (2469) 216MB classic 1.19/beta: v1.19.14 2021-09-02 (2469) 216MB classic 1.19/edge: v1.19.14 2021-09-02 (2469) 216MB classic 1.18/stable: v1.18.20 2021-07-12 (2271) 198MB classic 1.18/candidate: v1.18.20 2021-07-12 (2271) 198MB classic 1.18/beta: v1.18.20 2021-07-12 (2271) 198MB classic 1.18/edge: v1.18.20 2021-06-16 (2271) 198MB classic 1.17/stable: v1.17.17 2021-01-15 (1916) 177MB classic 1.17/candidate: v1.17.17 2021-01-14 (1916) 177MB classic 1.17/beta: v1.17.17 2021-01-14 (1916) 177MB classic 1.17/edge: v1.17.17 2021-01-13 (1916) 177MB classic 1.16/stable: v1.16.15 2020-09-12 (1671) 179MB classic 1.16/candidate: v1.16.15 2020-09-04 (1671) 179MB classic 1.16/beta: v1.16.15 2020-09-04 (1671) 179MB classic 1.16/edge: v1.16.15 2020-09-02 (1671) 179MB classic 1.15/stable: v1.15.11 2020-03-27 (1301) 171MB classic 1.15/candidate: v1.15.11 2020-03-27 (1301) 171MB classic 1.15/beta: v1.15.11 2020-03-27 (1301) 171MB classic 1.15/edge: v1.15.11 2020-03-26 (1301) 171MB classic 1.14/stable: v1.14.10 2020-01-06 (1120) 217MB classic 1.14/candidate: ↑ 1.14/beta: ↑ 1.14/edge: v1.14.10 2020-03-26 (1303) 217MB classic 1.13/stable: v1.13.6 2019-06-06 (581) 237MB classic 1.13/candidate: ↑ 1.13/beta: ↑ 1.13/edge: ↑ 1.12/stable: v1.12.9 2019-06-06 (612) 259MB classic 1.12/candidate: ↑ 1.12/beta: ↑ 1.12/edge: ↑ 1.11/stable: v1.11.10 2019-05-10 (557) 258MB classic 1.11/candidate: ↑ 1.11/beta: ↑ 1.11/edge: ↑ 1.10/stable: v1.10.13 2019-04-22 (546) 222MB classic 1.10/candidate: ↑ 1.10/beta: ↑ 1.10/edge: ↑ installed: v1.19.13 (2339) 216MB classic

sudo usermod -a -G microk8s andrei
sudo chown -f -R andrei ~/.kube

microk8s status

microk8s is running high-availability: no datastore master nodes: 127.0.0.1:19001 datastore standby nodes: none addons: enabled: dashboard # The Kubernetes dashboard dns # CoreDNS ha-cluster # Configure high availability on the current node metrics-server # K8s Metrics Server for API access to service metrics storage # Storage class; allocates storage from host directory disabled: ambassador # Ambassador API Gateway and Ingress cilium # SDN, fast with full network policy fluentd # Elasticsearch-Fluentd-Kibana logging and monitoring gpu # Automatic enablement of Nvidia CUDA helm # Helm 2 - the package manager for Kubernetes helm3 # Helm 3 - Kubernetes package manager host-access # Allow Pods connecting to Host services smoothly ingress # Ingress controller for external access istio # Core Istio service mesh services jaeger # Kubernetes Jaeger operator with its simple config knative # The Knative framework on Kubernetes. kubeflow # Kubeflow for easy ML deployments linkerd # Linkerd is a service mesh for Kubernetes and other frameworks metallb # Loadbalancer for your Kubernetes cluster multus # Multus CNI enables attaching multiple network interfaces to pods prometheus # Prometheus operator for monitoring and logging rbac # Role-Based Access Control for authorisation registry # Private image registry exposed on localhost:32000

microk8s enable dns storage ingress

Addon dns is already enabled. Addon storage is already enabled. Enabling Ingress namespace/ingress created serviceaccount/nginx-ingress-microk8s-serviceaccount created clusterrole.rbac.authorization.k8s.io/nginx-ingress-microk8s-clusterrole created role.rbac.authorization.k8s.io/nginx-ingress-microk8s-role created clusterrolebinding.rbac.authorization.k8s.io/nginx-ingress-microk8s created rolebinding.rbac.authorization.k8s.io/nginx-ingress-microk8s created configmap/nginx-load-balancer-microk8s-conf created configmap/nginx-ingress-tcp-microk8s-conf created configmap/nginx-ingress-udp-microk8s-conf created daemonset.apps/nginx-ingress-microk8s-controller created Ingress is enabled

kubectl get nodes

The connection to the server localhost:8080 was refused - did you specify the right host or port?

Generate kube config

microk8s config view > ~/.kube/config

kubectl get nodes

NAME STATUS ROLES AGE VERSION andrei-virtualbox Ready 67m v1.19.13-34+939585d5fb6fa7

Когда конфиг создан, его можно изучить

microk8s config

apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUAKLJQ0FURS0tLS0tCk1JSURBVENDQWVtZ0F3SUJBZ0lKQUl5TlN6eTIvM0ZXTUEwR0NTcUdTSWIzRFFFQkN3VUFNQmN4RlRBVEJnTlYKQkFNTURERXdMakUxTWk0eE9ETXVNVEFlRncweU1UQTVNRGN3T0RJeE16UmFGdzB6TVRBNU1EVXdPREl4TXpSYQpNQmN4RlRBVEJnTlZCQU1NRERFd0xqRTFNaTR4T0RNdU1UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQCkFEQ0NBUW9DZ2dFQkFPNUc0cHFtY1NPc0FVeHFORUtVSmp0TUNXazgxeTduYnR3eGRoMFkwbzJaNUZQWUdKREwKS0MyU2h1clFaaktTOFhTdnpjeTdROEJtNXhmczF4KzljQXdlS2dBT0RhbTRZMWRLWFpDbksxYVkrNzg0aW8xVwpLQnB0RDBFUjJLVHdKUWlzc1ZDWFVwRmxOVFdSd0tjVkFGTUt6UEMwWUZDcFJIcENwZVhWZGkyQmtndlRtbS9RCk9lckl3V0U2VjFiS2tOMTZ1bUtGVkh0SzRpUE9vallqRjVxNXZzTGdLMlMrNDEzOXdWK25za0Y1aHk5cWl0cWsKNTAvZ1RnWTlwdUgvM1creVM3ODFlRmE2dGExRVBBTWVtN1RndmNYbnJEdnZoY004eGlTN0dmWHpDVEhaNFl4dwphYVRWaGtKengvUnpFVDVjM0tYYXJTcDc0QUlCUEhBZ2dIc0NBd0VBQWFOUU1FNHdIUVlEVlIwT0JCWUVGSFlsCk9uUWRIZ3NPRGdyVDMvWTkxUEt1YUJGNE1COEdBMVVkSXdRWU1CYUFGSFlsT25RZEhnc09EZ3JUMy9ZOTFQS3UKYUJGNE1Bd0dBMVVkRXdRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQU1rT2drYkEvS3hDaWs0NgpnTlZ0dDBDdStwSFdvTWlhakx1a0UxVnZ4a0JyMnc4amZaVTlvNHZhcWJvQjkrbzAvQzlUWkIzWlVJQjlVbXFnCjUrRVcyRGxLOGNlaHY4WjRFa3lWS21vRllPOThROHM4R0twMTFrbTRVQmY4RlFoU0RQY2hlcjNlVFkyN2h6aTgKVUI4UUU3N0RSZnB5UWptTC8vMXc0VTU0bHdCWExFSXE2YUhseHNxV3RIU3BSSWU2aXVqcURPekFjWmNGZyt0eAowcmRZTmFEQ0k3YjRnaFJEUjl3clQ1ejZOcG1ZTnYyckhSb1kzek9paDkwMmVFQ25DUGY0b1JvV3VoOVhNWjR3CjkvaksyNWNhcXRSQTlNd1dIWU41NnJnMU9BQVZyS25WM0MyajJUdnVUUm1RSUVUaWNDQitqYk5vR1B1WGt2cTUKdnhSMUFsND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= server: https://10.0.2.46:16443 name: microk8s-cluster contexts: - context: cluster: microk8s-cluster user: admin name: microk8s current-context: microk8s kind: Config preferences: {} users: - name: admin user: token: eGRJRTRGaVdhUUl3ZVVPOSliSFpwNml5YVp5Y09hUDNaVHN4eHhkUlUvaz0K

Статьи про Kubernetes
Kubernetes
Установка в Linux
Linux
Ubuntu
Make

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: