Kubernetes(k8s)超详细的安装步骤

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

目录

一、环境设置

二、基本环境配置

(一)主机名配置

1、在master虚拟机上操作

2、在node1r虚拟机上操作

3、在node2虚拟机上操作

(二)VMware网络配置

(三)虚拟机网络配置

1、在master虚拟机上操作

2、在node1r虚拟机上操作

3、在node2虚拟机上操作

4、虚拟机内部测试

 (四)修改hosts文件(在三个节点上分别执行)

 (五)配置SSH免密登录(在三个节点上分别执行)

 (六)关闭防火墙及SELINUX(在三个节点上分别执行)

(七)关闭swap分区(三个节点上分别执行)

1、临时关闭                swapoff  -a

2、永久关闭                sed -i '/swap/d' /etc/fstab

3、测试:free,发现swap全为0

 (八)修改内核参数(在三个节点上分别执行)

 (九)配置时间同步

(十)加载ip_vs模块(在三个节点上分别执行)

 (十一)配置源

1、在三个节点上分别执行

(1) yum install lrzsz openssh-clients -y > /dev/null && wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo && ls -l /etc/yum.repos.d/Centos-7.repo

 (2)  yum -y install yum-utils && yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum -y install epel-release

 2、在master上操作

(1)echo -e "[kubernetes]\nname=Kubernetes\nbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/kubernetes.repo

(2) for i in 2 3;do scp /etc/yum.repos.d/kubernetes.repo  hd${i}.com:/etc/yum.repos.d/;done

 (十二)安装依赖(在三个节点上分别执行)

三、docker-ce

(一)在三个节点上分别执行安装

 (二)配置仓库加速

(三)重载启动脚本及docker程序(在三个节点上分别执行)

四、安装kubernetes

(一)安装初始化软件(在三个节点上分别执行)

(二)启动并查看状态(在三个节点上分别执行)

 (三)拷贝k8s镜像(在master操作)

 (四)加载k8s的docker镜像

 (五)初始化集群(在master操作)

1、kubeadm init --kubernetes-version=1.20.6  --apiserver-advertise-address=192.168.115.11  --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

 2、假如失败,进行回滚

3、成功后复制token信息

4、 假如忘记复制token信息

5、拷贝配置文件

6、查看节点状态

 (六)将node加入集群(在node1、node2上操作)

1、远程拷贝token.txt

 2、.  token.txt该命令执行成功界面(在node1、node2上操作)

 3、在控制节点上(master)验证

 (七)定义node角色(在master操作)

 (八)安装网络组件

1、拷贝calico.yaml至master节点

 2、在master,hd1.com执行

 3、验证:kubectl get node

 (九)验证集群

1、查看集群状态

 2、查看名称空间

 3、使用busybox镜像验证网络通信

(1)拷贝busybox包到master

(2)将Docker镜像busybox加载到本地Docker引擎中。

(3)启动busybox并进入


一、环境设置

角色

IP地址

主机名

master

192.168.115.11/24

hd1.com

node1

192.168.115.12/24

hd2.com

node2

192.168.115.13/24

hd3.com

注意:每台主机运行内存至少设置为4GB,处理器设为两核

二、基本环境配置

(一)主机名配置

1、在master虚拟机上操作

hostnamectl set-hostname hd1.com && bash

2、在node1r虚拟机上操作

hostnamectl set-hostname hd2.com && bash

3、在node2虚拟机上操作

hostnamectl set-hostname hd2.com && bash

(二)VMware网络配置

更改网卡为NAT模式并调整为分配192.168.115.0/24网段地址

(三)虚拟机网络配置

1、在master虚拟机上操作

systemctl stop NetworkManager

systemctl disable NetworkManager

k8s安装,kubernetes,容器,云原生,docker,运维,前端

vim  /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.115.11
PREFIX=24
GATEWAY=192.168.115.2
DNS1=192.168.115.2

2、在node1r虚拟机上操作

systemctl stop NetworkManager

systemctl disable NetworkManager

vim  /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.115.12
PREFIX=24
GATEWAY=192.168.115.2
DNS1=192.168.115.2

3、在node2虚拟机上操作

systemctl stop NetworkManager

systemctl disable NetworkManager

vim  /etc/sysconfig/network-scripts/ifcfg-ens33                                #手动配置IP地址

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.115.13
PREFIX=24
GATEWAY=192.168.115.2
DNS1=192.168.115.2

4、虚拟机内部测试

ping www.baidu.com      #需在三个节点上都要进行测试

 (四)修改hosts文件(在三个节点上分别执行)

vim  /etc/hosts

192.168.115.11    hd1.com
192.168.115.12    hd2.com
192.168.115.13    hd3.com

测试:ping hd1.com && ping hd2.com && ping hd3.com        #需在三个节点上都要进行测试

 (五)配置SSH免密登录(在三个节点上分别执行)

ssh-keygen

for i in 1 2 3;do ssh-copy-id  hd${i}.com;done

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 测试:ssh hd1.com    ssh hd2.com     ssh hd3.com                  #需在三个节点上都要进行测试

 (六)关闭防火墙及SELINUX(在三个节点上分别执行)

 systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

(七)关闭swap分区(三个节点上分别执行)

1、临时关闭                swapoff  -a

2、永久关闭                sed -i '/swap/d' /etc/fstab

3、测试:free,发现swap全为0

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (八)修改内核参数(在三个节点上分别执行)

modprobe br_netfilter && echo "modprobe br_netfilter" >> /etc/profile && echo -e "net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1\n" > /etc/sysctl.d/k8s.conf && sysctl -p /etc/sysctl.d/k8s.conf

k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (九)配置时间同步

for i in 1 2 3;do ssh hd${i}.com  yum install -y ntpdate && ntpdate cn.pool.ntp.org;done

(十)加载ip_vs模块(在三个节点上分别执行)

#ipvs.modules可以在资源中查找到

 for i in 1 2 3;do scp /root/ipvs.modules hd${i}.com:/etc/sysconfig/modules/ && ssh hd${i}.com  bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs && echo -e "-----------------------------\nhd${i}.com";done

echo -e "-----------------------------\nhd${i}.com":在远程主机的输出结果之后,显示分隔线和远程主机的名称。

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (十一)配置源

1、在三个节点上分别执行

(1) yum install lrzsz openssh-clients -y > /dev/null && wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo && ls -l /etc/yum.repos.d/Centos-7.repo

k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (2)  yum -y install yum-utils && yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum -y install epel-release

k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 2、在master上操作

(1)echo -e "[kubernetes]\nname=Kubernetes\nbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/kubernetes.repo

k8s安装,kubernetes,容器,云原生,docker,运维,前端

(2) for i in 2 3;do scp /etc/yum.repos.d/kubernetes.repo  hd${i}.com:/etc/yum.repos.d/;done

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (十二)安装依赖(在三个节点上分别执行)

yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat   conntrack ntpdate telnet ipvsadm

三、docker-ce

(一)在三个节点上分别执行安装

 yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io  -y && systemctl start docker && systemctl enable docker.service

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (二)配置仓库加速

vim /root/daemon.json

{
  "registry-mirrors":["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

(三)重载启动脚本及docker程序(在三个节点上分别执行)

systemctl daemon-reload

systemctl restart docker

四、安装kubernetes

(一)安装初始化软件(在三个节点上分别执行)

 yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6

(二)启动并查看状态(在三个节点上分别执行)

 systemctl start kubelet && systemctl enable kubelet && systemctl status kubelet

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (三)拷贝k8s镜像(在master操作)

for i in 2 3;do scp k8simage-1-20-6.tar.gz hd${i}.com:/root/;done

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (四)加载k8s的docker镜像

for i in 1 2 3;do ssh hd${i}.com docker load -i /root/k8simage-1-20-6.tar.gz;done

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 验证:docker images(在三个节点上分别执行)

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (五)初始化集群(在master操作)

1、kubeadm init --kubernetes-version=1.20.6  --apiserver-advertise-address=192.168.115.11  --image-repository registry.aliyuncs.com/google_containers  --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 k8s安装,kubernetes,容器,云原生,docker,运维,前端

 2、假如失败,进行回滚

kubeadm reset

3、成功后复制token信息

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 vim  token.txt

k8s安装,kubernetes,容器,云原生,docker,运维,前端

4、 假如忘记复制token信息

kubeadm token create --print-join-command

5、拷贝配置文件

mkdir -p $HOME/.kube

cp /etc/kubernetes/admin.conf $HOME/.kube/config

6、查看节点状态

kubectl get nodes

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (六)将node加入集群(在node1、node2上操作)

1、远程拷贝token.txt

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 2、.  token.txt该命令执行成功界面(在node1、node2上操作)

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 3、在控制节点上(master)验证

kubectl  get node

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (七)定义node角色(在master操作)

kubectl label node hd2.com node-role.kubernetes.io/worker=worker

kubectl label node hd3.com node-role.kubernetes.io/worker=worker

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 验证:kubectl  get node

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (八)安装网络组件

1、拷贝calico.yaml至master节点

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 2、在master,hd1.com执行

kubectl apply -f  calico.yaml

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 3、验证:kubectl get node

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 (九)验证集群

1、查看集群状态

kubectl  get pod -n kube-system

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 2、查看名称空间

kubectl get namespace   命令简写:kubectl get ns

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 3、使用busybox镜像验证网络通信

(1)拷贝busybox包到master
(2)将Docker镜像busybox加载到本地Docker引擎中。

for i in 2 3;do scp busybox-1-28.tar.gz  hd${i}.com:/root/ && ssh hd${i}.com  docker load -i /root/busybox-1-28.tar.gz;done

k8s安装,kubernetes,容器,云原生,docker,运维,前端

 k8s安装,kubernetes,容器,云原生,docker,运维,前端

 k8s安装,kubernetes,容器,云原生,docker,运维,前端

(3)启动busybox并进入

kubectl run busybox --image=busybox:1.28 --restart=Never --rm -it busybox --  sh

k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端

k8s安装,kubernetes,容器,云原生,docker,运维,前端
需重新打开一个终端进行查看
k8s安装,kubernetes,容器,云原生,docker,运维,前端
该命令不一定在哪个node上

 文章来源地址https://www.toymoban.com/news/detail-624319.html

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

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

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

相关文章

  • 容器化进阶Kubernetes(K8S)详解

    1.1.1 Kubernetes是什么及作用 Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。 Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 官网地址 Kubernetes 中文社区 Kubernetes(k8s)中文文档 目录_Kubernetes中文社

    2024年02月05日
    浏览(78)
  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(57)
  • 容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(71)
  • Kubernetes(K8s):容器化应用的航空母舰

    Kubernetes(K8s)是一个开源的容器编排系统,它的出现就像是为容器化应用提供了一艘强大的航空母舰。在这艘母舰上,你的应用容器就像是一架架战斗机,Kubernetes负责指挥它们起飞、飞行、降落,确保它们能在正确的时间、正确的地点执行任务。 Pod: Kubernetes的基本飞行编队

    2024年04月08日
    浏览(67)
  • Kubernetes(k8s)容器编排Pod介绍和使用

    Pod是kubernetes中你可以创建和部署的最小也是最简的单位,一个Pod代表着集群中运行的一个进程。 Pod有两个必须知道的特点 通过yaml文件或者json描述Pod和其内容器的运行环境和期望状态,例如一个最简单的运行nginx应用的pod,定义如下 3.1.1 参数描述 下面简要分析一下上面的

    2024年02月08日
    浏览(85)
  • 解密Kubernetes(K8s)集群的创建过程和关键步骤

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:云计算 ✨文章内容:Kubernetes集群 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 创建Kubernetes集群是在云原生环境中托管和管理容器化应

    2024年02月09日
    浏览(45)
  • kubernetes(k8s)为容器和 Pod 分配内存资源

    展示如何将内存请求(request)和内存限制(limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。 创建新的命名空间 编辑yaml文件 配置文件的 args 部分提供了容器启动时的参数。 “–vm-bytes”, “150M” 参数告知容器尝试分配 15

    2024年02月15日
    浏览(58)
  • Kubernetes (K8s) 解读:微服务与容器编排的未来

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack : 📚 MERN/MEAN/MEVN Stack | 🌐 Jamstack | 🌍 GraphQL | 🔁 RESTful API | ⚡ WebSockets | 🔄 CI/CD | 🌐 Git Version Control | 🔧 DevOps 🌐 前端技术 Frontend : 🖋️ HTML CSS |

    2024年02月09日
    浏览(42)
  • Kubernetes(k8s)集群部署----->超详细

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes(简称k8s)是一个开源的容器编排平台,可以帮助开发人员和运维团队更轻松地管理容器化应用程序。本文将详细介绍如何进行k8s集群的部署,以帮助读者快速搭建一个高可用、可伸缩的k8s集群。 1、操作系统:至少三台物理机或

    2024年02月05日
    浏览(65)
  • Kubernetes(k8s)基础入门详细教程

    Kubernetes(通常称为K8s)是一个用于自动化容器化应用程序管理的开源平台。它可以帮助您轻松地部署、扩展和管理容器化应用程序。 Pod是Kubernetes中最小的可部署单元,它是一个或多个紧密关联的容器的组合。这些容器共享相同的网络命名空间、存储资源和生命周期。Pod通常

    2024年02月12日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包