K8s Fedora单机版

文章目录

禁用防火墙

shell 复制代码
systemctl stop firewalld.service & systemctl disable firewalld.service

禁用交换分区

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

禁用 SELinux

shell 复制代码
sudo setenforce 0 & sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

安装 iptables

shell 复制代码
yum install -y iptables iproute-tc

允许 iptables 检查桥接流量

shell 复制代码
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

添加镜像源

shell 复制代码
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网络问题太麻烦

shell 复制代码
yum install -y crio kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now crio & systemctl enable --now kubelet & yum clean all

重载沙箱(pause)镜像

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

配置国内镜像地址

shell 复制代码
vi /etc/containers/registries.conf
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"

初始化集群

shell 复制代码
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用户

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

root用户

shell 复制代码
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile & source ~/.bash_profile

查看节点状态

shell 复制代码
kubectl describe node

设置节点可以调度

单节点master默认不可被调度

shell 复制代码
kubectl taint nodes <node-name> node-role.kubernetes.io/control-plane:NoSchedule-
相关推荐
碣石潇湘无限路1 小时前
【云原生】Kubernetes CEL 速查表
容器·贪心算法·kubernetes
阿里云云原生1 小时前
大模型 Token 的消耗可能是一笔糊涂账
云原生
mingyuewu3 小时前
MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
macos·docker·容器
企鹅侠客5 小时前
Prometheus operator怎么添加targets和告警规则
运维·云原生·kubernetes·prometheus·pod
专注代码七年6 小时前
Docker运维篇
运维·docker·容器
一杯敬朝阳 一杯敬月光7 小时前
WIN11 企业版 部署Dify+Docker
运维·docker·容器
Leo Han7 小时前
k8s常用命令(持续更新中)
docker·容器·kubernetes
KubeSphere 云原生7 小时前
云原生周刊:Kubernetes v1.33 要来了
云原生·容器·kubernetes
孔令飞8 小时前
关于 LLMOPS 的一些粗浅思考
人工智能·云原生·go