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

Contents
Введение
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
Banner Image

Search on this site

Subscribe to @aofeed channel for updates

Visit Channel

@aofeed

Feedbak and Questions in Telegram

@aofeedchat