k8s安装——ubuntu

这篇具有很好参考价值的文章主要介绍了k8s安装——ubuntu。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、环境准备

二、安装docker(所有机器——是指所有的节点包含master和node,后面也一样单独装的会说明)

三、设置k8s环境准备条件(所有机器)

四、安装与配置k8s

        1 安装 kubelet kubeadm kubectl(master上执行)

        2 部署 master (master上执行)

(1)首先查看kubeadm config 依赖的images有哪些:

(2)然后从国内镜像拉取这些镜像(有些是可以直接拉取的,比如 k8s.gcr.io/coredns/coredns:v1.8.6)

 (3)然后根据(1)中的依赖对这些镜像进行重命名(这里要注意重命名的版本号有的是带v的,有的是不带的)注意看清楚。

    3 执行初始化操作

    4 获取加入集群的命令

    5 部署工作节点(在node上执行)

     (1)安装环境

     (2)加入集群

五、部署 Calico(master机器)

六、完成


一、环境准备

本次安装的docker和k8s版本为:

ubuntu -v20.04

k8s -v1.23.1

主机

内网地址

说明

47.200.162.6

172.31.186.226

master节点,能连外网,至少2核CPU,2G内存

47.200.168.250

172.31.186.227

node节点,能连外网,至少2核CPU,2G内存

二、安装docker(所有机器——是指所有的节点包含master和node,后面也一样单独装的会说明)

# 安装docker所需的工具(安装最新版即可)
apt-get update
apt-get install docker.io -y
# 设置开机启动并启动docker  
sudo systemctl start docker
sudo systemctl enable docker

三、设置k8s环境准备条件(所有机器)

# 禁用交换分区(在旧版的 k8s 中 kubelet 都要求关闭 swapoff ,但最新版的 kubelet 其实已经支持 swap ,因此这一步其实可以不做。)
swapoff -a
# 永久禁用,打开/etc/fstab注释掉swap那一行。  
sudo vim /etc/fstab
# 修改内核参数(首先确认你的系统已经加载了 br_netfilter 模块,默认是没有该模块的,需要你先安装 bridge-utils)
apt-get install -y bridge-utils
modprobe br_netfilter
lsmod | grep br_netfilter
# 如果报错找不到包,需要先更新 apt-get update -y

四、安装与配置k8s

        1 安装 kubelet kubeadm kubectl(master上执行)

# 安装基础环境
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 执行配置k8s阿里云源  
vim /etc/apt/sources.list.d/kubernetes.list
#加入以下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 执行更新
apt-get update -y
# 安装kubeadm、kubectl、kubelet  
apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00
# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl

安装如果报错的话,需要先卸载原有的kubectl、kubeadm、kubelet 然后再执行安装       

        2 部署 master (master上执行)

        创建kubeadm-config.yaml 配置文件,文件内容如下:

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 172.31.186.226
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  imagePullPolicy: IfNotPresent
  name: master
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.23.1
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/12
scheduler: {}
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
#cgroupDriver: systemd
cgroupDriver: cgroupfs

        修改 文件中的advertiseAddress 参数为当前机器的局域网地址

        在运行 kubeadm init 之前可以先执行 kubeadm config images pull 来测试与 gcr.io 的连接,kubeadm config images pull尝试是否可以拉取镜像,如果你的服务器再国内,由于某些原因,是无法访问"k8s.gcr.io", "gcr.io", "quay.io"

先测试:

kubeadm config images pull

如果不能正常拉取,那么接着往下,如果可以正常拉取,可以直接跳转到 下一步 四.3

(1)首先查看kubeadm config 依赖的images有哪些:

#查看kubeadm config所需的镜像
kubeadm config images list
#执行结果如下
k8s.gcr.io/kube-apiserver:v1.23.8
k8s.gcr.io/kube-controller-manager:v1.23.8
k8s.gcr.io/kube-scheduler:v1.23.8
k8s.gcr.io/kube-proxy:v1.23.8
k8s.gcr.io/pause:3.6
k8s.gcr.io/etcd:3.5.1-0
k8s.gcr.io/coredns/coredns:v1.8.6

(2)然后从国内镜像拉取这些镜像(有些是可以直接拉取的,比如 k8s.gcr.io/coredns/coredns:v1.8.6)

#从国内镜像拉取
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.8
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.8
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.8
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.8
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0
docker pull coredns/coredns:1.8.6

 (3)然后根据(1)中的依赖对这些镜像进行重命名(这里要注意重命名的版本号有的是带v的,有的是不带的)注意看清楚。

#将拉取下来的images重命名为kubeadm config所需的镜像名字
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.8 k8s.gcr.io/kube-apiserver:v1.23.8
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.8 k8s.gcr.io/kube-controller-manager:v1.23.8
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.8 k8s.gcr.io/kube-scheduler:v1.23.8
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.8 k8s.gcr.io/kube-proxy:v1.23.8
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0 k8s.gcr.io/etcd:3.5.1-0
docker tag coredns/coredns:1.8.6 k8s.gcr.io/coredns/coredns:v1.8.6

    3 执行初始化操作

kubeadm init --config kubeadm-config.yaml

执行成功后会提醒如下三件事

k8s安装——ubuntu

会提示你输入如下命令,复制粘贴过来,执行即可。

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

    4 获取加入集群的命令

记住node加入集群的命令 上面kubeadm init执行成功后会返回给你node节点加入集群的命令,等会要在node节点上执行,需要保存下来,如果忘记了,可以使用如下命令获取。

kubeadm token create --print-join-command

    5 部署工作节点(在node上执行)

     (1)安装环境

# 安装基础环境
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 执行配置k8s阿里云源  
vim /etc/apt/sources.list.d/kubernetes.list
#加入以下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 执行更新
apt-get update -y
# 安装kubeadm、kubectl、kubelet  
apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00
# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl

     (2)加入集群

        这里加入集群的命令每个人都不一样,可以登录master节点,使用kubeadm token create --print-join-command 来获取。获取后执行如下。

kubeadm join 172.31.186.200:6443 --token fmty0x.5v15q0m9nzwd8lcy     --discovery-token-ca-cert-hash sha256:604205e4fd92840baa05977e1770cefcd45ebae251761d94144572f66b1f4e1d

        如果此处报错,则需要重启 即可

kubeadm reset

加入成功后,可以在master节点上使用kubectl get nodes命令查看到加入的节点

五、部署 Calico(master机器)

        以上步骤安装完后,机器搭建起来了,但状态还是NotReady状态,如下图,master机器需要安装Calico。

kubectl apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml

安装完成后需要等待k8s重新拉起节点

六、完成

在master执行,即可看到节点已为Ready状态

kubectl get nodes

k8s安装——ubuntu文章来源地址https://www.toymoban.com/news/detail-432839.html

到了这里,关于k8s安装——ubuntu的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s安装——ubuntu

    目录 一、环境准备 二、安装docker(所有机器——是指所有的节点包含master和node,后面也一样单独装的会说明) 三、设置k8s环境准备条件(所有机器) 四、安装与配置k8s         1 安装 kubelet kubeadm kubectl(master上执行)         2 部署 master (master上执行) (1)首先查

    2024年02月02日
    浏览(21)
  • ubuntu安装k8s

    1、不同节点设置不同的hostname 修改/etc/hosts文件 2、关闭防火墙(新的ubuntu系统默认没有安装防火墙) 3、关闭selinux(新的ubuntu系统默认没有安装selinux) 4、关闭swap 5、将桥接的IPv4流量传递到iptables的链 6、设置时间同步 7、安装docker(见另一篇博客\\\"安装docker20.10.22\\\") 8、修改

    2024年02月09日
    浏览(24)
  • 在 ubuntu 系统安装 K8S

    本篇文章将介绍如何在 ubuntu 系统上安装接近生产环境的 Kubernetes。 将下面的脚本拷贝进文件,然后执行文件即可 kubeadm init 成功之后,按照在终端上看到的提示操作即可 另外还有一个很重要的“kubeadm join”提示,其他节点要加入集群必须要用指令里的 token 和 ca 证书,所以这

    2024年02月12日
    浏览(31)
  • ubuntu k8s 安装kubevirt

    ubuntu版本 内核版本 k8s版本

    2024年02月04日
    浏览(23)
  • 一.安装k8s环境

    默认3台服务器都执行 基础软件需要在三台服务器都执行  在这里,我们将向您介绍Docker的安装方法。但首先,我们需要先安装依赖包。您需要通过使用以下命令安装一些基本软件: yum install -y yum-utils device-mapper-persistent-data lvm2 然后,您可以使用以下命令来安装Docker: sudo

    2024年02月15日
    浏览(31)
  • K8S的安装(Ubuntu 20.04)

    前言 本文介绍如何在ubuntu上部署k8s集群,大致可以分为如下几个步骤: 修改ubuntu配置 安装docker 安装kubeadm、kubectl以及kubelet 初始化master节点 将slave节点加入网络 如果你对上面的某些名字感到陌生,没关系,下文会一一进行讲解,如果你想先了解一下 docker 和 k8s,可以参考

    2024年02月15日
    浏览(35)
  • 准备k8s集群镜像

    一、在安装kubernetes集群之前,必须要提前准备好集群需要的镜像,所需平面镜像可以通过下面命令查看 kubeadm config images list 二、由于网络原因registry.k8s.io这个镜像仓库源访问不了,就需要变通一下切换镜像仓库地址为阿里云的地址,并打上镜像标签 kubeadm init | Kubernetes 三、

    2024年02月03日
    浏览(36)
  • Ubuntu 使用Kubeadm 离线安装k8s

    K8S离线部署的方案 离线包,自己可以跟着下面步骤自己下载。 https://download.csdn.net/download/u010952056/86748944 万字长文详解 PaaS toB 场景下 K8s 离线部署方案 Item Language 离线部署支持情况 kops Golang 不支持 kubespray Ansible 支持,需自行构建安装包 kubeasz Ansible 支持,需自行构建安装包

    2024年02月05日
    浏览(48)
  • k8s集群环境搭建以及插件安装

    终端工具MobaXterm很好用。 1、虚拟机三台(ip按自己的网络环境相应配置)(master/node) 节点 ip k8s-master 192.168.200.150 k8s-node1 192.168.200.151 k8s-node2 192.168.200.152 2、关闭防火墙(master/node) 查看防火墙状态: systemctl status firewalld 3、关闭selinux(master/node) 4、关闭swap(master/node) 5、添加主机名

    2024年01月22日
    浏览(45)
  • docker desktop安装K8S

    摘抄这个,因为这个有些不全 导致走了一些弯路 国外特别的慢 代码如下(示例): 勾选并点击restart 等一段时间,呈现上面的样子。在列表中会有很多k8s的pod 注意 :有时连接不到raw.githubusercontent.com 查找IP 配置hosts,在末尾加一行 中间有空格 随便找个地方创建dashbord.yml 执行

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包