当前位置: 首页 > article >正文

K8s Fedora单机版

文章目录

  • 禁用防火墙
  • 禁用交换分区
  • 禁用 SELinux
  • 安装 iptables
  • 允许 iptables 检查桥接流量
  • 添加镜像源
  • 安装 crio kubelet kubeadm kubectl
  • 重载沙箱(pause)镜像
  • 配置国内镜像地址
  • 初始化集群
  • 复制配置文件使kubectl可用
  • 查看节点状态
  • 设置节点可以调度

禁用防火墙

systemctl stop firewalld.service & systemctl disable firewalld.service

禁用交换分区

sysctl vm.swappiness=0 & sysctl -p
systemctl stop swap-create@zram0
yum remove -y zram-generator-defaults

禁用 SELinux

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

安装 iptables

yum install -y iptables iproute-tc

允许 iptables 检查桥接流量

cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

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

sysctl --system

添加镜像源

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

安装 crio kubelet kubeadm kubectl

建议用crio作为容器运行时,containerd网络问题太麻烦

yum install -y crio kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now crio & systemctl enable --now kubelet & yum clean all

重载沙箱(pause)镜像

sed -i "s/# pause_image = .*/pause_image = \"registry.aliyuncs.com\/google_containers\/pause:3.10\"/g" /etc/crio/crio.conf

配置国内镜像地址

vi /etc/containers/registries.conf
unqualified-search-registries = ["docker.m.daocloud.io", "docker.io", "k8s.gcr.io", "registry.k8s.io", "registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org"]

[[registry]]
prefix = "docker.io"
location = "docker.m.daocloud.io"

[[registry]]
prefix = "*registry.k8s.io"
location = "registry.aliyuncs.com/google_containers"

[[registry]]
prefix = "*.gcr.io"
location = "docker.m.daocloud.io"

[[registry]]
prefix = "registry.centos.org"
location = "docker.m.daocloud.io"

初始化集群

kubeadm init --pod-network-cidr=192.168.56.101/24 --apiserver-advertise-address=192.168.56.101 --apiserver-cert-extra-sans=192.168.56.101 --cri-socket=unix:///var/run/crio/crio.sock --image-repository=registry.aliyuncs.com/google_containers

复制配置文件使kubectl可用

非root用户

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

root用户

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile & source ~/.bash_profile

查看节点状态

kubectl describe node

设置节点可以调度

单节点master默认不可被调度

kubectl taint nodes <node-name> node-role.kubernetes.io/control-plane:NoSchedule-

http://www.kler.cn/a/320172.html

相关文章:

  • 人生苦短,我用Python✌
  • 创业者必备的7个AI工具
  • Vue 入门之 computed 计算属性
  • 进阶SpringBoot之 Dubbo 及 Zookeeper 安装
  • SPSS26统计分析笔记——5 卡法检验
  • 828华为云征文|华为云Flexus云服务器X实例——部署EduSoho网校系统、二次开发对接华为云视频点播实现CDN加速播放
  • 【机器学习】——线性回归(自我监督学习)
  • 关于ollama 在mac的部署问题
  • 在nuxt中集成mars3d
  • 极狐GitLab 17.4 重点功能解读【四】
  • 基于深度学习的人机情感交互
  • Java微服务商城系统的特点有哪些
  • LaTeX 编辑器-TeXstudio
  • 基于深度学习的情感生成与交互
  • 【C++指南】C++中的内存对齐规则及原因详解
  • 如何利用spring自带的事件发布订阅实现各种异步操作
  • SpringBoot集成Matlab软件实战
  • Hive企业级调优[8]—— 其他优化
  • LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大
  • 鼠标经过el-dropdown组件上会出现一个蓝色的小框