怎么在ubuntu上安装kubernetes

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在ubuntu上安装kubernetes相关的知识,希望对你有一定的参考价值。

参考技术A 1.部署环境:
(1) Ubuntu 14.04 (2台装有该版本的笔记本电脑)
(2) Docker 1.9.1
(3) etcd-2.2.5
(4) Kubernetes 0.9.0

2.配置Ubuntu 14.04
(1) 由于只有两台主机,所以这里一台主机既充当Master又充当minions:
Master(mininos): 192.168.1.101
Mininos: 192.168.1.100
(2) 创建/opt/bin文件夹,后面安装会用:sudo mkdir -p /opt/bin

3.在Master主机上安装etcd-2.2.5
(1)下载: https://github.com/coreos/etcd/releases/download/v2.2.5/etcd-v2.2.5-linux-amd64.tar.gz
(2) 解压文件: tar -zxvf etcd-v2.2.5-linux-amd64.tar.gz
(3)复制etcd到/opt/bin文件夹中: cp etcd-v2.2.5-linux-amd64/etcd /opt/bin/

4.在Master主机中安装Kubernetes 0.9.0(假设安装目录为/home/docker/Downloads)
(1) 下载:https://github.com/kubernetes/kubernetes/releases/download/v0.9.0/kubernetes.tar.gz
(2) 解压kubernetes.tar.gz文件:  tar -zxvf /home/docker/Downloads/kubernetes.tar.gz
(3) 进入kubernetes/server目录下:  cd /home/docker/Downloads/kubernetes/server
(4) 解压kubernetes-server-linux-amd64.tar.gz文件得到kubernetes: tar -zxvf /home/docker/Downloads/kubernetes-server-linux-amd64.tar.gz
(5)进入kubernetes/server/bin/目录下:cd /home/docker/Downloads/kubernetes/server/kubernetes/server/bin/
(6)复制该目录下所有的文件到/opt/bin/目录下: sudo cp * /opt/bin/
(7)进入到/home/docker/Downloads/kubernetes/cluster/ubuntu目录下: cd /home/docker/Downloads/kubernetes/cluster/ubuntu
(8)执行./util.sh脚本: sudo ./util.sh(该脚本检测/opt/bin/下的相关文件,自动安装kubernetes)
(9)安装完成后可以发现到/etc/default/,/etc/init/,/etc/init.d/目录下多了etcd和kubernetes相关的配置文件和启动文件

5.在Minions上安装kubernetes:(Mininos上不用安装etcd)
在Minions上只需要安装kubelet,kube-proxy即可.安装方法与Master上的安装步骤一样,只是安装完成后将/etc/default,/etc/init/,/etc/init.d/文件夹下的与kube-apiserver,kube-controller-manager,kube-scheduler相关的文件删除即可.

6.etcd配置:
(1)修改/etc/default/etcd:
# Etcd Upstart and SysVinit configuration file
# Customize etcd location
# ETCD="/opt/bin/etcd"
# Use ETCD_OPTS to modify the start/restart options
ETCD_OPTS="-listen-client-urls=http://192.168.1.101:4001"
# Add more envionrment settings used by etcd here
(2)删除/etc/init/etcd.conf与/etc/init.d/etcd

7.kubernetes相关配置:
(1).Master节点:
/etc/default/kube-apiserver
# Kube-Apiserver Upstart and SysVinit configuration file
# Customize kube-apiserver binary location
# KUBE_APISERVER="/opt/bin/kube-apiserver"
# Use KUBE_APISERVER_OPTS to modify the start/restart options
KUBE_APISERVER_OPTS="--address=127.0.0.1 \
--port=8080 \
--etcd_servers=http://192.168.1.101:4001 \
--logtostderr=true \
--portal_net=11.1.1.0/24"
# Add more envionrment settings used by kube-apiserver here
/etc/default/ kube-controller-manager
# Kube-Controller-Manager Upstart and SysVinit configuration file
# Customize kube-controller-manager binary location
# KUBE_CONTROLLER_MANAGER="/opt/bin/kube-controller-manager"
# Use KUBE_CONTROLLER_MANAGER_OPTS to modify the start/restart options
KUBE_CONTROLLER_MANAGER_OPTS="--master=127.0.0.1:8080 \
--machines=127.0.0.1,192.168.1.100 \
--logtostderr=true"
# Add more envionrment settings used by kube-controller-manager here
/etc/default/kubelet
# Kubelet Upstart and SysVinit configuration file
# Customize kubelet binary location
# KUBELET="/opt/bin/kubelet"
# Use KUBELET_OPTS to modify the start/restart options
KUBELET_OPTS="--address=127.0.0.1 \
--port=10250 \
--hostname_override=127.0.0.1 \
--etcd_servers=http://192.168.1.101:4001 \
--logtostderr=true"
# Add more envionrment settings used by kube-scheduler here
/etc/default/kube-proxy
# Kube-Proxy Upstart and SysVinit configuration file
# Customize kube-proxy binary location
# KUBE_PROXY="/opt/bin/kube-proxy"
# Use KUBE_PROXY_OPTS to modify the start/restart options
KUBE_PROXY_OPTS="--etcd_servers=http://192.168.1.101:4001 \
--logtostderr=true"<pre name="code" class="plain">
# Add more envionrment settings used by kube-apiserver here
/etc/default/kube-scheduler
# Kube-Scheduler Upstart and SysVinit configuration file
# Customize kube-apiserver binary location
# KUBE_SCHEDULER="/opt/bin/kube-apiserver"
# Use KUBE_SCHEDULER_OPTS to modify the start/restart options
KUBE_SCHEDULER_OPTS="--logtostderr=true \
--master=127.0.0.1:8080"
# Add more envionrment settings used by kube-scheduler here
(2)Minions节点
/etc/default/kubelet
# Kubelet Upstart and SysVinit configuration file
# Customize kubelet binary location
# KUBELET="/opt/bin/kubelet"
# Use KUBELET_OPTS to modify the start/restart options
KUBELET_OPTS="--address=0.0.0.0 \
--port=10250 \
--hostname_override=192.168.1.100 \
--etcd_servers=http://192.168.1.101:4001 \
--logtostderr=true"
# Add more envionrment settings used by kube-scheduler here
/etc/default/kube-proxy
# Kube-Proxy Upstart and SysVinit configuration file
# Customize kube-proxy binary location
# KUBE_PROXY="/opt/bin/kube-proxy"
# Use KUBE_PROXY_OPTS to modify the start/restart options
KUBE_PROXY_OPTS="--etcd_servers=http://192.168.1.101:4001 \
--logtostderr=true"

# Add more envionrment settings used by kube-apiserver here

8.启动相关服务
Master 节点:
(1).启动docker服务
sudo service docker start
(2).启动etcd服务
sudo etcd -name etcdserver -peer-addr 192.168.1.101:7001 -addr 192.168.1.101:4001 -data-dir /data/etcd -peer-bind-addr 0.0.0.0:7001 -bind-addr 0.0.0.0:4001 &
(3)启动kubernetes相关服务
sudo service kube-apiserver start
sudo service kube-controller-manager start
sudo service kubelet start
sudo service kube-proxy start
sudo service kube-scheduler start
Minions节点:
启动kuberbetes相关服务
sudo service kubelet start
sudo service kube-proxy start

9.打开相关端口
Master节点: 打开4001,7001端口
iptables -I INPUT -s 192.168.43.0/24 -p tcp --dport 4001 -j ACCEPT
iptables -I INPUT -s 192.168.43.0/24 -p tcp --dport 7001 -j ACCEPT
Minions节点:打开10250端口
iptables -I INPUT -s 192.168.43.0/24 -p tcp --dport 10250 -j ACCEPT

在Ubuntu20.04上安装Kubernetes-Kubeadm和Minikube

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

在本文中,我们将了解如何在 Ubuntu 20.04 上安装 Kubernetes。在过去的几年里,容器化为开发人员提供了很大的灵活性。最常用的容器化应用程序之一是 Docker。

运行小型应用程序并不难,但如果你想扩展它们怎么办?当您拥有成百上千台服务器时,扩展就不是那么容易了。应该有一个自动化工具来全权负责在特定机器上为我们的应用程序分配资源,不仅如此,还需要持续监控和弹性。

在容器上部署服务的主要原因之一是它们灵活、轻量级并且在部署在数百台机器上时易于扩展。但是,谁来管理所有这些容器?这就是 Kubernetes 发挥作用的地方。

什么是 Kubernetes?

Kubernetes(也称为“K8s”)是 Google 的一个开源项目,用于通过提供扩展、部署和维护等服务来管理集群上的容器化应用程序。

Kubernetes 目前是市场领导者,在大多数场景中击败了 Docker Swarm 和 Apache Mesos 等竞争对手。然而,Kubernetes 的一大缺点是设置困难。一些云供应商确实提供了预制集群供您使用,但它们是付费的。当您只想免费学习 Kubernetes 时该怎么办?

让我们看看如何在 Ubuntu 20.04 上运行 Kubernetes 集群。

Kubernetes 安装——使用 kubeadm

首先,有两个虚拟机的设置。我们将其中一个用作我们的主节点,另一个用作工作节点。

安装 Docker

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install docker.io

启动Docker

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl start docker

查看状态

linuxmi@linuxmi:~/www.linuxmi.com$ systemctl status docker.service

设置开机启动

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable docker

查看 Docker 版本

linuxmi@linuxmi:~/www.linuxmi.com$ docker version

禁用交换内存

暂时禁止:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo swapoff -a

永久禁止:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/fstab

在此文件中,注释掉该 /swapfile 行。

设置主机名

linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-master
linuxmi@linuxmi:~/www.linuxmi.com$ sudo hostnamectl set-hostname kubernetes-worker

安装 Kubernetes

sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
linuxmi@linuxmi:~/www.linuxmi.com$ curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
OK
linuxmi@linuxmi:~/www.linuxmi.com$ sudo tee /etc/apt/sources.list.d/kubernetes.list < deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
> EOF
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install -y kubelet kubeadm kubectl

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-mark hold kubelet kubeadm kubectl
kubelet 设置为保留。
kubeadm 设置为保留。
kubectl 设置为保留。

初始化 Kubernetes 主服务器

在主节点上运行这些:

kubernetes-master:~$ sudo kubeadm init
kubernetes-master:~$ mkdir -p $HOME/.kube
kubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

部署 Pod 网络

kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubernetes-master:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
kubernetes-master:~$ kubectl get pods --all-namespaces

加入 Kubernetes 集群

从工作节点运行这些:

kubernetes-worker:~$ sudo kubeadm join 192.168.1.220:6443 --token 1exb8s.2t4k3b5syfc3jfmo --discovery-token-ca-cert-hash sha256:72ad481cee4918cf2314738419356c9a402fb609263adad48c13797d0cba2341
kubernetes-master:~$ kubectl get nodes

Kubernetes 安装 – 使用 minikube(本地)

对于这个演示,我们将使用一个名为minikube的应用程序。使用 Ctrl + Alt + T 打开终端并输入以下 命令

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start

这将在本地启动一个 Kubernetes 集群。要停止集群,您可以:

要访问本地 Kubernetes 的仪表板:

minikube dashboard

OK,就这样

本文转自:https://blog.51cto.com/u_13510521/5167724

以上是关于怎么在ubuntu上安装kubernetes的主要内容,如果未能解决你的问题,请参考以下文章

怎么在ubuntu上安装搜狗输入法

在ubuntu上怎么安装jdk

怎么在Ubuntu里面安装软件,软件包在Windows桌面上,拖不进Ubuntu系统里软件

ubuntu上怎么安装redis

在ubuntu上怎么开发python

怎么在virtualbox上安装ubuntu