Oracle Linux 9 上基于 Docker 安装 Kubernetes 1.27 集群

news2024/11/19 17:28:36

Oracle Linux 9 上基于 Docker 安装 Kubernetes 1.27 集群

  • 1. 禁用swap
  • 2. 禁用防火墙
  • 3. 将SELinux设置为permissive模式
  • 4. 添加网桥过滤及内核转发配置文件
  • 5. 加载 overlay、br_netfilter、ip_tables、iptable_filter 模块
  • 6. 安装 docker-ce
  • 7. 安装kubelet kubeadm kubectl
  • 8. 初始化Kubernetes集群
  • 9. 配置集群访问
  • 10. 安装网络插件 Calico
  • 11. 确认集群

1. 禁用swap

sudo swapoff -a

2. 禁用防火墙

sudo systemctl stop firewalld
sudo systemctl disable firewalld

3. 将SELinux设置为permissive模式

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

4. 添加网桥过滤及内核转发配置文件

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

应用 sysctl 参数,无需重启,

sudo sysctl --system

5. 加载 overlay、br_netfilter、ip_tables、iptable_filter 模块

sudo modprobe overlay
sudo modprobe br_netfilter
sudo modprobe ip_tables
sudo modprobe iptable_filter
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
ip_tables
iptable_filter
EOF

6. 安装 docker-ce

卸载 podman、runc 等容器运行时,

sudo dnf remove -y podman runc cri-o docker-ce libcgroup cri-dockerd docker-buildx-plugin docker-compose-plugin libcgroup cri-dockerd

安装 docker-ce,

sudo dnf install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rpm -ivh https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/libcgroup-0.41-19.el8.x86_64.rpm
sudo rpm -ivh https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1-3.el8.x86_64.rpm

sudo systemctl daemon-reload
sudo systemctl enable --now docker
sudo systemctl enable --now cri-docker.service
sudo systemctl enable --now cri-docker.socket

sudo usermod -a -G docker oracle

systemctl status docker
systemctl status cri-docker
systemctl status cri-docker.socket

7. 安装kubelet kubeadm kubectl

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet

8. 初始化Kubernetes集群

sudo su -
export PUBLIC_IP=192.168.31.21
export HOST=`hostname`

cat <<EOF > kubeadm-config.yaml
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd
---
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: $PUBLIC_IP
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/cri-dockerd.sock
  imagePullPolicy: IfNotPresent
  name: $HOST
  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.k8s.io
kind: ClusterConfiguration
kubernetesVersion: 1.27.1
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12
scheduler: {}
EOF

使用 kubeadm 初始化 kubernetes 集群,

kubeadm init --config kubeadm-config.yaml

9. 配置集群访问

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

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

10. 安装网络插件 Calico

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/tigera-operator.yaml
wget https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/custom-resources.yaml
sed -i 's/192.168.0.0\/16/10.244.0.0\/16/' custom-resources.yaml
kubectl create -f custom-resources.yaml

11. 确认集群

kubectl get nodes
kubectl get pods -A -o wide

在这里插入图片描述

完结!

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

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

相关文章

【Java面试八股文】JVM篇

引言&#xff1a; 本文对多个平台的面试题进行了汇总、分类、概括、整理&#xff0c;对重点进行了标出&#xff0c;更便于阅读和记忆。 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题 目录 说说你了解的JVM内存模…

UE5实现建筑剖切效果

文章目录 1.实现目标2.实现过程2.1 材质参数集2.2 材质遮罩函数2.3 更新Box3.参考资料1.实现目标 基于BoxMask材质节点,在UE5中实现建筑物的剖切效果,GIF动图如下: 2.实现过程 实现原理与之前“BoxMask实现建筑生长效果”的原理相同,都是基于BoxMask材质节点实现。 具体实…

二分查找<万字详解>

目录 问题引入 二分查找的思路 二分查找的实现 左闭右闭写法 左闭右开写法 两种写法的对比 例题强化 常规的二分查找题目 猜数字大小 搜索插入位置 常规二分的变形题目 搜索二维矩阵 搜索二维矩阵 II 查找特定位置/特定数 在排序数组中查找元素的第一个和最后一…

DIN11系列 大电流输出信号隔离模块线性驱动器0~100mA/0~500mA/0~2A/0-4A

主要特性 精度、线性度误差等级&#xff1a; 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入0~100mA/0~500mA/0~1A/0-5A 等电流信号输出0~1V(max 5A)/0~10V/0-24V(max 5A) 等电压信号输出信号输入/信号输出 3000VDC 隔离辅助电源&#xff1a;12V、15V 或 24V 直流单电源供…

IJKPLAYER源码分析-音视频同步

前言 本文来介绍下IJKPLAYER的音视频同步策略及方法。IJKPLAYER所支持的同步策略&#xff0c;源自FFPLAY&#xff0c;因此有以下3种&#xff1a; 音视同步视频&#xff1a;这是缺省的同步策略&#xff0c;以audio为主时钟-参考时钟&#xff0c;采取video同步audio的方式&#x…

电子模块|外控集成 LED 光源 WS2812模块---硬件介绍和stm32驱动

电子模块|外控集成 LED 光源 WS2812模块 模块简介模块特点机械尺寸单线归零码通讯方式24bit 数据结构 stm32 驱动 模块简介 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同&#xff0c;每个元件即为一个像素点。像素点内部包含了智能…

【小样本分割 2020 ICCV】PANet

文章目录 【小样本分割 2020 ICCV】PANet1. 简介2. 网络2.1 整体架构2.2 原型学习2.3 非参数度量学习2.4 原型对齐正则化 3. 代码3.1 backbone3.2 模型代码 【小样本分割 2020 ICCV】PANet 论文题目&#xff1a;PANet: Few-Shot Image Semantic Segmentation with Prototype Al…

IDEA下SpringBoot指定配置文件启动项目

目录 一. idea下的SpringBoot启动&#xff1a;指定配置文件 二. 项目已打包&#xff0c;运行配置 1&#xff09;.使用java -jar启动基于(一)下的配置文件启动 2&#xff09;指定项目内其它配置文件application-pro.yml启动项目 3&#xff09; Linux服务器上启动基于(三)的…

OneFlow源码解析:Eager模式下Tensor的存储管理

作者&#xff5c;郑建华 1 不同Tensor类型的存储管理方式 Lazy Tensor 的存储是由 Runtime 和 Actor 等对象管理的。静态图完成编译后&#xff0c;需要多少个对象、多少存储空间都是确定的&#xff0c;Runtime 等在初始化时会分配存储&#xff0c;在退出时回收资源。 Eager 模…

SpringBoot--图片验证码kaptcha

本文介绍如何在SpringBoot中整合kaptcha&#xff0c;以及如何配置kaptcha&#xff0c;生成验证码和校验等 文章目录 前言环境搭建项目结构添加依赖 代码实现KaptchaConfigKnife4jConfigdomainServiceutilcontroller 测试生成验证码校验验证码 前言 参考链接&#xff1a; Gith…

设计模式:结构型模式 - 适配器模式

文章目录 1.概述2.结构3.类适配器模式4.对象适配器模式5.应用场景6.JDK源码解析 - Reader 与 InputStream 1.概述 如果去欧洲国家去旅游的话&#xff0c;他们的插座如下图最左边&#xff0c;是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑&#xff0c;手机…

【Android车载系列】第9章 车载通信-Socket实现IPC通信机制(实现仿FdBus效果)

1 FDBus简介 FDBus 基于 Socket (TCP 和 Unix domain) 之上的IPC机制, 采用 Google protobuf 做序列化和反序列化。 FDBus还支持字符串形式的名字作为server地址。通过 name server 自动为 server 分配Unix domain 地址和 TCP 端口号, 实现 client 和server 之间用服务名字寻址…

【C++】哈希的应用:位图和布隆过滤器

目录 1. 位图1.1 位图的概念1.2 位图的结构1.3 位图的实现 2. 布隆过滤器2.1 概念2.2 结构2.3 布隆过滤器的实现 1. 位图 1.1 位图的概念 &#x1f4ad;位图&#xff08;bitset&#xff09;是一种基于哈希思想设计的数据结构&#xff0c;其功能主要用于判断数据是否已存在。适…

【设计模式】模板方法模式--让你的代码更具灵活性与可扩展性

文章目录 前言模板方法模式的定义核心组成模板方法模式与其他设计模式的区别 代码实现抽象类具体类Client 经典类图spring中的例子 总结 前言 在软件开发中&#xff0c;设计模式是一种经过实践检验的、可复用的解决方案&#xff0c;它们可以帮助我们解决某一特定领域的典型问题…

【2023 · CANN训练营第一季】应用开发深入讲解——第一章 模型转换(1)

学习目标 学习资源 1.模型转换 模型转换基础 在线课程 文档AIPP功能说明 文档 应用开发&#xff08;初级&#xff09; 课程目标&#xff1a; 了解AscendCL的使用场景、基本概念、基本开发流程。 学会使用AscendCL接口开发基础推理应用&#xff0c;应用中包含对图片的基本处理…

javaScript常见面试题(二)

一、浅拷贝和深拷贝 浅拷贝&#xff1a;&#xff08;1&#xff09;对于基本数据类型&#xff0c;拷贝的是值&#xff0c;修改的时候数据互不影响&#xff1b;&#xff08;2&#xff09;对于引用数据类型&#xff0c;拷贝的是在堆内存中存储的内存地址&#xff0c;修改的时候&a…

mapreduce基础: 手写本地wordcount案例

文章目录 一、源代码1. WordCountMapper类2. WordCountReducer类3. WordCountDriver类 二、运行截图 一、源代码 1. WordCountMapper类 package org.example.wordcount;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apac…

yum库和nfs共享服务

yum库 redhat&#xff0c;centos用的是.rpm的包&#xff0c;用yum解决依赖包关系下载 ubuntu&#xff0c;debian用的是.deb的包&#xff0c;用apt解决依赖包的关系下载 yum软件仓库的提供方式 FTP服务: ftp://… HTTP服务: http://…或者https&#xff1a;//… 本地目录: fi…

母婴品牌内容输出怎么做?“四板斧”送你

新媒体时代&#xff0c;信息大爆炸&#xff0c;人们的注意力有限&#xff0c;有噱头和亮点的内容才能博得注意&#xff0c;成为用户关注的焦点。 母婴行业重视品牌效益和产品的质量&#xff0c;毕竟类似“三聚氰胺”的惨剧谁也不希望再发生。母婴产品的质量依赖技术和生产线支…

C语言从入门到精通第9天(循环结构的使用)

循环结构的使用 while语句do-while语句for语句嵌套循环 循环结构可以重复的执行一段代码块&#xff0c;在C语言中提供了三种不同类型的循环结构&#xff1a;for、while和do-while。 while语句 语法&#xff1a; while(表达式){ 语句&#xff1b; } 如果表达式为真则执行结构体…