k8s安装记录

k8s安装记录

如无特别说明,则该步操作指在所有的机器上执行!!! 如无特别说明,则该步操作指在所有的机器上执行!!! 如无特别说明,则该步操作指在所有的机器上执行!!!

目录

  • k8s安装记录
    • 零、版本说明
    • 一、主机规划
    • 二、系统安装
      • 2.1.系统配置
      • 2.2.docker安装
      • 2.3.cri-dockerd安装
      • 2.4.k8s安装
      • 2.5.Master节点配置
      • 2.6.Node节点配置
      • 2.7.常用命令
    • 3.附件

零、版本说明

  • Oracle VM VirtualBox
6.1
  • CentOS-7-x86_64-Minimal-2009
CentOS Linux release 7.9.2009 (Core)
  • Docker
Client: Docker Engine - CommunityVersion:           26.0.2API version:       1.43 (downgraded from 1.45)Go version:        go1.21.9Git commit:        3c863ffBuilt:             Thu Apr 18 16:30:00 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          24.0.0API version:      1.43 (minimum version 1.12)Go version:       go1.20.4Git commit:       1331b8cBuilt:            Mon May 15 18:50:39 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.31GitCommit:        e377cd56a71523140ca6ae87e30244719194a521runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0
  • K8S
Kubernetes v1.28.0
  • 中间件版本
cri-dockerd-0.3.2-3

Calico

v3.26.1

一、主机规划

主机IP主机名主机角色
192.168.1.60master1k8s master
192.168.1.61node1k8s worder
192.168.1.62node2k8s worder

二、系统安装

2.1.系统配置

  • crontab -e 里面添加一行然后保存退出: 0 */1 * * * ntpdate ntp4.aliyun.com
yum install -y ntpdatecrontab -eservice firewalld stopsystemctl disable firewalldsed -i "s/timeout=5/timeout=1/" /boot/grub2/grub.cfgsed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 0swapoff -ased -i "s/\/dev\/mapper\/centos-swap/#\/dev\/mapper\/centos-swap/" /etc/fstabcat >> /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_forward=1
vm.swappiness=0
EOFmodprobe br_netfiltersystemctl --systemcat >> /etc/hosts << EOF
192.168.1.60 master1
192.168.1.61 node1
192.168.1.62 node2
EOFssh-copy-id node1
ssh-copy-id node2
init 6

2.2.docker安装

yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum install -y --setopt=obsoletes=0 docker-ce-24.0.0-1.el7systemctl enable dockercat >> /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://【这里换成自己的注册点】.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"]
}
EOFservice docker start

2.3.cri-dockerd安装

curl -OL https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2-3.el7.x86_64.rpmrpm -ivh cri-dockerd-0.3.2-3.el7.x86_64.rpm

修改 /usr/lib/systemd/system/cri-docker.service 文件的 ExecStart=/usr/bin/cri-dockerd 配置为如下:

ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

执行命令启动服务

systemctl daemon-reload && systemctl enable cri-docker && systemctl start cri-docker

2.4.k8s安装

cat >> /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOFyum install -y --setopt=obsoletes=0 kubeadm-1.28.0 kubelet-1.1.28.0 kubectl-1.1.28.0systemctl enable kubeletsystemctl restart containerd.service

2.5.Master节点配置

MASTER节点上执行
kubeadm init \
--apiserver-advertise-address=192.168.1.60 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.28.0 \
--pod-network-cidr=172.16.0.0/16 \
--cri-socket=unix:///var/run/cri-dockerd.sockmkdir -p $HOME/.kube/bin/cp -f /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config
  • 安装calico
  • tigera-operator.yaml和custom-resources.yaml就是calico的安装文件,github下载不了,我绑定到本文资源里了。
  • 如果能访问,可以使用带网址的命令安装
kubectl create -f tigera-operator.yaml

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
  • 查看,确保tigera-operator命名空间安装成功
kubectl get ns
  • 查看pod分配情况
kubectl get pods -n tigera-operator -o wide
  • custom-resources.yaml里面的网段需要和kubeadm init时指定的–pod-network-cidr网段保持一致
  • 下面命令里我把custom-resources.yaml里面的网段从192.168.0.0换成了172.16.0.0
sed -i "s/192.168/172.16/" custom-resources.yaml
  • 安装
kubectl create -f custom-resources.yaml

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml

2.6.Node节点配置

NODE节点上执行
kubeadm join 192.168.1.60:6443 --token 【这里贴kubeadm init生成的】 \--discovery-token-ca-cert-hash 【这里贴kubeadm init生成的】 \--cri-socket=unix:///var/run/cri-dockerd.sock

2.7.常用命令

#常用命令
kubectl get node #看node
kubectl get pod -n kube-system #看pods
journalctl -f -u kubelet.service #看日志
kubeadm token create --print-join-command #令牌过期
kubeadm reset --cri-socket=unix:///var/run/cri-dockerd.sock #重置k8s
rm -rf /var/lib/calico/ && sudo rm -rf /etc/cni/net.d/10-calico.conflist && sudo rm -rf /etc/cni/net.d/calico-kubeconfig #node需要在reset后删除

3.附件

在文章开头,如图位置:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS——前端笔记

CSS 1、选择器1.1、基础选择器1.2、复合选择器1.2.4、伪类选择器 1.3、属性选择器1.4、结构伪类选择器1.5、伪元素选择器 2、CSS的元素显示模式2.1、块元素2.2、行内元素2.3、行内块元素2.4、元素显示模式转换 3、字体属性3.1、font-family 字体3.2、font-size 字体大小3.3、fo…

Three.js加载glb / gltf模型,Vue加载glb / gltf模型(如何在vue中使用three.js,vue使用threejs加载glb模型)

简介&#xff1a;Three.js 是一个用于在 Web 上创建和显示 3D 图形的 JavaScript 库。它提供了丰富的功能和灵活的 API&#xff0c;使开发者可以轻松地在网页中创建各种 3D 场景、模型和动画效果。可以用来展示产品模型、建立交互式场景、游戏开发、数据可视化、教育和培训等等…

常用的数据结构及算法

一、数据结构 &#xff08;一&#xff09;线性结构&#xff1a;一对一。 1.可以使用数组、链表来表示。数组又分为静态数组和动态数组两种。链表常用的是单链表。 2.两种特殊的线性结构&#xff1a;队列和栈。其中队列是先进先出&#xff08;排队&#xff09;&#xff0c;栈…

SpringBoot3 集成Springdoc 实现Swagger3功能

说明&#xff1a; 只通过引用org.springdoc 的两个包就可以使用Swagger3 功能&#xff08;步骤1&#xff09;&#xff1b;如想更美观及实现动态认证的开启与关闭&#xff0c;及Swagger3登录认证等功能&#xff0c;需实现&#xff08;步骤1、2、3&#xff09;的配置; 1、 引包…

chrome浏览器查看css样式

样式的查看 1.匹配器为灰色文本&#xff1a; 表示非当前选择器 2.样式有划线标识&#xff1a;CSS属性无效或未知 / 属性值无效 / 被其他属性覆盖的属性 3.属性以浅色文本显示且有感叹号提示&#xff1a;属性虽然有效&#xff0c;但由于CSS逻辑而没有任何影响 转自&#xff1a;…

2024HW --->蓝队面试题

这段时间在写横向移动&#xff0c;搞得鸽了很久&#xff08;内网真的很玄学&#xff09; 还没写完。。。 但是这不是准备HW了吗。小编也来整理一下自己收集到的题目吧&#xff01;&#xff01;&#xff01; &#xff08;仅为个人见解&#xff0c;不代表最终答案&#xff09;&…

react中useState的值没有改变,而是旧的数值

问题背景 想实现点击按钮就改变数据的效果&#xff0c;但是在控制台的打印结果&#xff0c;总是上一次的修改情况&#xff0c;并不是最新的修改后的数据 代码&#xff1a; import { useState, useRef } from "react";// 实现sonA的数据传递给sonB const SonA () …

C语言联合体详解

下午好诶&#xff0c;今天小眼神给大家带来一篇C语言联合体详解的文章~ 目录 联合体 1. 联合体类型的声明 2. 联合体的特点 代码一&#xff1a; 代码二&#xff1a; 3. 相同成员的结构体和联合体对比 ​编辑4. 联合体大小的计算 5. 联合体的优点 联合体 1. 联合体…

第62天:服务攻防-框架安全CVE 复现SpringStrutsLaravelThinkPHP

目录 思维导图 常见语言开发框架&#xff1a; 案例一&#xff1a;PHP-开发框架安全-Thinkphp&Laravel Thinkphp3.2.x日志泄露 自动化脚本检测 如何getshell 手工注入 ​ThinkPHP5 5.0.23 手工注入 工具检测 laravel-cve_2021_3129 案例二&#xff1a;JAVAWEB-开…

pytorch与深度学习

ChatGPT PyTorch是一个由Facebook AI Research Team开发的开源深度学习库&#xff0c;它提供了一个灵活的环境和丰富的API&#xff0c;用于快速且方便地构建、训练和部署深度学习模型。PyTorch在科学界和工业界都收到了广泛的使用&#xff0c;其中包括了学术研究、小型项目和大…

Chrome修改主题颜色

注意&#xff1a;自定义Chrome按钮只在搜索引擎为Google的时候出现。

如何30天快速掌握键盘盲打

失业后在家备考公务员&#xff0c;发现了自己不正确的打字方式&#xff0c;决定每天抽出一点时间练习打字。在抖音上看到一些高手的飞速盲打键盘后&#xff0c;觉得使用正确的指法打字是很必要的。 练习打字&#xff0c;掌握正确的键盘指法十分关键。 练习打字的第一步是找到…

关于电商独立站搭建中电商API数据采集接口的应用

搭建供应链系统时&#xff0c;您可能需要与电商平台进行集成&#xff0c;以实现订单管理、库存同步、物流跟踪等功能。以下是一些常见的电商接口&#xff0c;可以帮助您构建供应链系统&#xff1a; 1. **淘宝开放平台接口**&#xff1a;淘宝开放平台提供了丰富的接口&#xff…

AI System AI系统对大模型的影响有多深?

AI System AI系统对大模型的影响有多深&#xff1f;要回答这个问题之前&#xff0c;不妨从下面这个问题开始入手思考。 大模型进入了爆发期后&#xff0c;在 LLM 进化树中&#xff0c;BERT&#xff08;Encoder-Only&#xff09;、T5&#xff08;Encoder-Decoder&#xff09;、…

社交创新的标杆:解读Facebook的社交模式

引言 在当今数字化时代&#xff0c;社交媒体已成为人们日常生活和沟通的重要工具。作为全球最大的社交媒体平台&#xff0c;Facebook不仅改变了我们的社交模式&#xff0c;而且对全球的社交文化、商业活动和公共事务产生了深远的影响。本文将深入探讨Facebook的社交模式&#…

C++:面向对象三大特性之一:继承

继承 1.继承理解2.继承方式引起访问变化表格表格理解 3.赋值转换1.普通对象赋值2.继承对象赋值&#xff1a;赋值转换注意 4.继承的作用域5.派生类默认成员函数1.构造函数2.析构函数3.拷贝构造4.赋值重载 6.继承与友元7.继承与静态成员 1.继承理解 继承机制是面向对象程序设计使…

求a+aa+aaa+……(C语言)

一、题目&#xff1b; 二、N-S流程图&#xff1b; 三、运行结果&#xff1b; 四、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a 0;int n 0;int i 0;int result 0;int tn 0;//提示用户&am…

spring事务@Transactional

定义一个项目测试 spring 的事务支持情况 项目准备 创建一个名为 mybatis-transaction 的 spring boot 2.x 项目&#xff0c;引入 mybatis 的依赖&#xff0c;如下 使用 spring 官网的脚手架生成项目 https://start.spring.io/ 下载完毕后 pom.xml 如下 <?xml version&quo…

【GPTs分享】GPTs分享之 AskYourPDF Research Assistant​

一、简介 AskYourPDF Research Assistant 是一款高级人工智能研究助手&#xff0c;专门设计用于帮助用户高效从PDF文件和文章中提取信息。它结合了深度学习技术和自然语言处理能力&#xff0c;以便用户能够快速地查询、总结及处理文档内容&#xff0c;并能够生成与文章内容相关…

Redux入门:使用@reduxjs/toolkit构建React应用程序状态管理

随着应用程序复杂性的增加,有效管理应用程序状态变得越来越重要。Redux是一种流行的状态管理解决方案,随着应用程序复杂性的增加,有效管理应用程序状态变得越来越重要。Redux是一种流行的状态管理解决方案,但传统的Redux设置和使用过程比较繁琐。幸运的是,Redux官方团队推出了r…