最详细的ubuntu安装Kubernetes(k8s)教程

安装docker

       具体详情请可以参考这篇文章 Docker与WSL 2 子系统安装与使用指南_docker wsl2-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_46352005/article/details/131936074?spm=1001.2014.3001.5502

安装kubeadm、kubectl和kubelet

#更新apt源
sudo apt-get update
sudo apt-get upgrade

#下载 Google Cloud 公开签名秘钥(阿里云镜像):

curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
 


#添加 Kubernetes apt 仓库(阿里云镜像):

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

#安装 kubelet、kubeadm 和 kubectl,并锁定其版本:

sudo apt update
sudo apt install -y --allow-downgrades kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00

sudo apt-mark hold kubelet kubeadm kubectl

问题
由于国内网络原因,kubeadm init会卡住不动,然后报出这种问题:
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.28.2: output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
 

解决方法
使用阿里云镜像
运行kubeadm init时加上阿里云镜像的参数--image-repository=registry.aliyuncs.com/google_containers,如下:(版本改为自己需要的)

kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-netw

首先使用下面的命令获取需要的docker镜像名称:

kubeadm config images list

结果如以下:(版本改为自己需要的)

registry.k8s.io/kube-apiserver:v1.23.6 
registry.k8s.io/kube-controller-manager:v1.23.6 
registry.k8s.io/kube-scheduler:v1.23.6 
registry.k8s.io/kube-proxy:v1.23.6 
registry.k8s.io/pause:3.6
registry.k8s.io/etcd:3.5.1-0 
registry.k8s.io/coredns/coredns:v1.8.6 

注意:新版本的coredns改名了,变成了coredns/coredns,需要特殊处理,不放在脚本中

特殊处理

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.8.6
docker  tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.8.6 k8s.gcr.io/coredns/coredns:v1.8.6
docker rmi -f registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.8.6

然后开始编写脚本:

vim pull_k8s_images.sh
set -o errexit
set -o nounset
set -o pipefail

##这里定义版本,按照上面得到的列表自己改一下版本号

KUBE_VERSION=v1.23.6
KUBE_PAUSE_VERSION=3.6
ETCD_VERSION=3.5.1-0
# DNS_VERSION=1.23.6 

##这是原始仓库名,最后需要改名成这个
GCR_URL=k8s.gcr.io

##这里就是写你要使用的仓库
DOCKERHUB_URL=gotok8s

##这里是镜像列表,新版本要把coredns需要特殊处理
images=(
kube-proxy:${KUBE_VERSION}
kube-scheduler:${KUBE_VERSION}
kube-controller-manager:${KUBE_VERSION}
kube-apiserver:${KUBE_VERSION}
pause:${KUBE_PAUSE_VERSION}
etcd:${ETCD_VERSION}
# coredns:${DNS_VERSION}
)

##这里是拉取和改名的循环语句
for imageName in ${images[@]} ; do
  docker pull $DOCKERHUB_URL/$imageName
  docker tag $DOCKERHUB_URL/$imageName $GCR_URL/$imageName
  docker rmi $DOCKERHUB_URL/$imageName
done

然后授予执行权限

chmod +x ./pull_k8s_images.sh

执行:

./pull_k8s_images.sh

在 Master 节点下执行

 

kubeadm init \
      --apiserver-advertise-address=8.134.159.177 \
      --kubernetes-version v1.23.6 \
      --service-cidr=10.96.0.0/12 \
      --pod-network-cidr=10.244.0.0/16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
shopping record" << endl; cout << "12. Query shopping record" << endl; cout << "13. Save and exit" << endl; int choice; cin >> choice; switch (choice) { case 1: memberManager.add安装 Kubernetes (K8S) 需要以下步骤: 1. 安装 Docker Kubernetes 使用 Docker 作为容器Member(); break; case 2: memberManager.removeMember(); break; case 3: memberManager.edit运行时,因此需要安装 Docker。 可以通过以下命令安装 Docker: ``` sudo apt-get update sudo aptMember(); break; case 4: memberManager.queryMember(); break; case 5: shoppingManager.add-get install docker.io ``` 2. 安装 kubeadm、kubelet 和 kubectl kubeadm:用于Product(); break; case 6: shoppingManager.removeProduct(); break; case 7: shoppingManager.editProduct(); break; case 8: shoppingManager.queryProduct(); break; case 9: shoppingManager.add初始化 Kubernetes 集群。 kubelet:在每个节点上运行,负责管理 Pod。 kubectl:用于与 Kubernetes 集群ShoppingRecord(); break; case 10: shoppingManager.removeShoppingRecord(); break; case 11: shopping交互的命令行工具。 可以通过以下命令安装 kubeadm、kubelet 和 kubectl: ``` Manager.editShoppingRecord(); break; case 12: shoppingManager.queryShoppingRecord(); break; case 13: sudo apt-get update sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc memberManager.saveMembers("members.txt"); shoppingManager.saveProducts("products.txt"); cout << "Saved and exit." << endl; return 0; default: cout << "Invalid choice." << endl; break; } } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值