Ubuntu Kubernetes 安装

本文使用的机器是:Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-121-generic x86_64)

安装kubelet kubeadm kubectl

下图是官网对于K8S三个组件kubelet kubeadm kubectl的安装步骤,(https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。

官网上的安装教程都是使用的谷歌云,国内不是连不上就是速度慢。因此我们把源替换成阿里云。

# 使得 apt 支持 ssl 传输
sudo apt-get update && apt-get install -y apt-transport-https
# 下载 gpg 密钥   这个需要root用户否则会报错
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - 
# 添加 k8s 镜像源 这个需要root用户否则会报错
sudo cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
# 更新源列表
sudo apt-get update
# 下载 kubectl,kubeadm以及 kubelet
sudo apt-get install -y kubelet kubeadm kubectl

cat不成功的可以手动创建kubernetes.list文件。

#cat不成功的可以手动创建`kubernetes.list`文件。
#在文件中写入这行
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

但是直接在/etc/apt/sources.list里添加https://mirrors.aliyun.com/kubernetes/apt/是不行的,因为这个阿里镜像站使用的ssl进行传输的,所以要先安装apt-transport-https并下载镜像站的密钥才可以进行下载。

参考文章:https://www.jianshu.com/p/520d6414a4ab

安装Docker

教程说直接安装即可。

sudo apt-get update
sudo apt-get install -y docker.io

然而我遇到了报错:

$ sudo apt-get install -y docker.io
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~)
E: Unable to correct problems, you have held broken packages.

这是因为有个依赖containerd没装或者版本不够。

可以用以下命令查看。

$ dpkg -l containerd*

结果如下:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                  Version         Architecture    Description
+++-=====================-===============-===============-================================================
un  containerd            <none>          <none>          (no description available)
ii  containerd.io         1.4.12-1        amd64           An open and reliable container runtime

containerd确实没装。

#安装containerd
$ sudo apt install containerd

#然后再安装docker.io就可以了
$ sudo apt-get install -y docker.io

Docker 配置

$ sudo vi /etc/docker/daemon.json

打开后输入以下内容:

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://quay-mirror.qiniu.com"
  ],
  "exec-opts": [ "native.cgroupdriver=systemd" ]
}

然后:wq保存后重启 docker:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

关闭Swap内存

#暂时关闭
$ sudo swapoff -a

报错

[ERROR CRI]: container runtime is not running: output: time="2023-02-09T19:02:33+08:00" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
, error: exit status 1

原因是有个配置文件吧containerd禁用了,删掉就行。

$ sudo rm /etc/containerd/config.toml

还不行的话

$ sudo apt-get install -y containerd.io
$ sudo systemctl restart containerd
$ sudo kubeadm init

行了。

在另一个机器上安装containerd.io时出现了以下报错:

$ sudo apt-get install containerd.io
[sudo] password for ivic: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'

解决方案:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install containerd.io

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu安装Kubernetes,您需要按照以下步骤进行操作: 1. 安装DockerKubernetes需要Docker来运行容器。您可以使用以下命令在Ubuntu安装Docker: sudo apt-get update sudo apt-get install docker.io 2. 安装Kubernetes:您可以使用以下命令在Ubuntu安装Kubernetes: sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl 3. 初始化Kubernetes:使用以下命令初始化Kubernetes: sudo kubeadm init 4. 部署网络插件:Kubernetes需要网络插件来管理容器之间的通信。您可以使用以下命令安装Calico网络插件: kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml 5. 加入节点:如果您需要将其他节点添加到Kubernetes集群中,请使用以下命令: sudo kubeadm join <master-node-ip>:<master-node-port> --token <token> --discovery-token-ca-cert-hash <hash> 以上是在Ubuntu安装Kubernetes的基本步骤。请注意,这只是一个简单的指南,您可能需要根据您的具体情况进行调整。 ### 回答2: Ubuntu是一款流行的Linux操作系统,Kubernetes是一种流行的容器编排工具。在Ubuntu安装和配置Kubernetes是很简单的,只需要遵循以下步骤: 1. 安装DockerKubernetes 首先,我们需要安装DockerKubernetes软件包。可以使用以下命令在终端中安装这些软件包: sudo apt-get update sudo apt-get install docker.io sudo apt-get install kubelet kubeadm kubectl 2. 初始化Kubernetes Master 要初始化Kubernetes Master,您需要运行以下命令: sudo kubeadm init --pod-network-cidr=10.244.0.0/16 其中,--pod-network-cidr参数用于指定Kubernetes的网络IP地址范围。 3. 安装网络插件 在Kubernetes Master初始化成功之后,您需要安装网络插件。 在这里,我们使用的是Flannel网络。 可以使用以下命令安装kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 4. 加入工作节点 要将工作节点加入到Kubernetes Master中,请使用以下命令: sudo kubeadm join <Master-IP>:<Master-Port> --token <Token> --discovery-token-ca-cert-hash <Hash> 其中,<Master-IP>:<Master-Port>应设置为Kubernetes Master IP地址和端口号。 <Token>应替换为从Kubernetes Master处获取的身份验证令牌。 <Hash>应替换为从Kubernetes Master处获取的证书哈希值。 5. 部署应用程序 完成了以上步骤后,您就可以部署您的应用程序了。您可以使用kubectl工具来创建和管理Kubernetes集群中的应用程序。 例如,以下命令将创建一个名为“nginx”的Deployment和一个名为“nginx-service”的Service: kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --port=80 --type=NodePort 6. 测试应用程序 当部署和服务都完成后,您可以通过在Web浏览器中访问任何节点的IP地址和NodePort来测试您的应用程序。 例如:http://<Node-IP>:<Node-Port> 这就是在Ubuntu安装Kubernetes的过程。如果按照以上步骤正确配置了Kubernetes Master和Worker节点,就可以开始部署和管理容器化应用程序了。 ### 回答3: Kubernetes是一款流行的容器编排平台,它能够自动化地管理和调度大规模的容器应用,使得开发者和运维人员可以更加便捷地管理容器应用的生命周期。而Ubuntu系统作为一款流行的开源操作系统,也能够方便地安装Kubernetes,下面就介绍一下在Ubuntu系统上安装Kubernetes的步骤。 首先,我们需要在Ubuntu系统中安装容器运行时Docker,可以使用以下命令一键安装: ``` $ sudo apt-get install docker.io ``` 安装Docker之后,我们需要下载和安装Kubernetes的软件包。目前,Kubernetes发布的最新版本是v1.20.2,可以在官网上下载相应的软件包(https://kubernetes.io/docs/setup/release/notes/)。 下载完成后,我们需要解压缩Kubernetes软件包。假设我们把软件包解压缩到了/opt/kubernetes目录下,接着执行以下命令: ``` $ cd /opt/kubernetes $ sudo tar -xzvf kubernetes-server-linux-amd64.tar.gz ``` 解压缩完成后,我们需要将各个组件的二进制文件拷贝到系统的PATH中。在Kubernetes软件包中,有一些常用的组件,如kube-apiserver、kube-controller-manager、kube-scheduler等。下面以kube-apiserver为例,执行以下命令: ``` $ sudo cp /opt/kubernetes/server/bin/kube-apiserver /usr/local/bin/ ``` 接着,我们需要配置Kubernetes的master节点。Kubernetes使用etcd作为数据存储,我们需要在master节点上安装etcd。可以使用以下命令安装: ``` $ sudo apt-get install etcd ``` 安装完etcd之后,我们需要配置Kubernetes的master节点,生成TLS证书,配置认证授权等。这些步骤比较繁琐,请参考官方文档进行配置。 最后,我们需要启动Kubernetes的各个组件。在Ubuntu系统中,可以使用systemd来管理服务。以kube-apiserver为例,执行以下命令: ``` $ sudo systemctl start kube-apiserver $ sudo systemctl enable kube-apiserver ``` 启动各个组件之后,我们可以通过kubectl命令来管理Kubernetes集群。kubectlKubernetes的命令行工具,可以用来部署应用、管理容器等。安装kubectl可以使用以下命令: ``` $ sudo apt-get install kubectl ``` 至此,我们已经完成了在Ubuntu系统上安装Kubernetes的所有步骤。安装完成后,我们可以使用Kubernetes来管理容器应用,提高应用部署和管理的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值