常见SEO腾讯云服务器手机版Rockylinux急速安装K8s学习环境
发布时间:2025-12-19 18:43:05 作者:熊猫主机教程网
简介 uhost云服务器 目前在学习k8s,为了更快的了解k8s的各项功能,先使用RockyLinux快速搭建了一个实验环境,使用了1主2从的结构,这里分享一下,k8s小白大佬别喷! 1. 环境初始化(所有主机都要配置)网卡配置(不同主机IP要配置不同)cat/etc/NetworkManager/system-connections/ens18.nmconnection[connection]id=e
uhost云服务器
目前在学习k8s,为了更快的了解k8s的各项功能,先使用RockyLinux快速搭建了一个实验环境,使用了1主2从的结构,这里分享一下,k8s小白大佬别喷!
1. 环境初始化(所有主机都要配置)
网卡配置(不同主机IP要配置不同)cat/etc/NetworkManager/system-connections/ens18.nmconnection[connection]id=ens18uuid=ee21d8d7-bfeb-34dd-83ca-f72558024a79type=ethernetautoconnect-priority=-999interface-name=ens18timestamp=1764832445[ethernet][ipv4]method=manualaddress1=192.168.1.190/24,192.168.1.5dns=114.114.114.114;8.8.8.8[ipv6]addr-gen-mode=eui64method=auto[proxy]调用 nmcli 重启设备和连接配置nmcliconupens18nmcliconreload------设置主机名(所有主机都要设置)root@server190~]cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6192.168.1.190server190192.168.1.191server191192.168.1.192server192------Rocky 系统软件源更换sed-es|^mirrorlist=|mirrorlist=|g\-es|^baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g\-i.bak\/etc/yum.repos.d/[Rr]ocky*.repodnfmakecache防火墙修改 firewalld 为 iptablessystemctlstopfirewalldsystemctldisablefirewalldyum-yinstalliptables-servicessystemctlstartiptablesiptables-Fsystemctlenableiptablesserviceiptablessave禁用 Selinuxsetenforce0sed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/configgrubby--update-kernelALL--argsselinux=0设置时区timedatectlset-timezoneAsia/Shanghai----关闭 swap 分区swapoff-ased -i s:/dev/mapper/rlm_192-swap:/dev/mapper/rlm_192-swap:g /etc/fstabsed-ri/^[^]*swap/s@^@@/etc/fstab修改主机名hostnamectlset-hostnamek8s-node01---安装 ipvsyuminstall-yipvsadm开启路由转发echonet.ipv4.ip_forward=1>>/etc/sysctl.confsysctl-p重启系统reboot2. 安装Docker(所有主机都要配置)
加载 bridgeyuminstall-y epel-releaseyuminstall-y bridge-utils modprobe br_netfilter echobr_netfilter>> /etc/modules-load.d/bridge.conf echonet.bridge.bridge-nf-call-iptables=1>> /etc/sysctl.conf echonet.bridge.bridge-nf-call-iptables=1>> /etc/sysctl.conf echonet.ipv4.jp_forward=1>> /etc/sysctl.conf sysctl -p添加 docker-ce yum 源中科大(ustc)sudo dnf config-manager--add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repocd /etc/yum.repos.d切换中科大源sed -es|download.docker.com|mirrors.ustc.edu.cn/docker-ce|gdocker-ce.repo >docker-ce-ustc.repo mv docker-ce.repo docker-ce.repo.back安装 docker-ceyum -yinstalldocker-ce配置 daemon.cat > /etc/docker/daemon.json <3. 安装Cri-Docker
阿里云服务器哪个区好
安装 cri-dockerwgethttps://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9.amd64.tgzwgethttps://github.com/Mirantis/cri-dockerd/releases/download/v0.3.21/cri-dockerd-0.3.21.amd64.tgztar-xf cri-dockerd-0.3.9.amd64.tgzcpcri-dockerd/cri-dockerd /usr/bin/chmod+x /usr/bin/cri-dockerd配置 cri-docker 服务cat<<"EOF"> /usr/lib/systemd/system/cri-docker.service[Unit]Description=CRI Interface for Docker Application Container EngineDocumentation=https://docs.mirantis.comAfter=network-online.target firewalld.service docker.serviceWants=network-online.targetRequires=cri-docker.socket[Service]Type=notifyExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9ExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s SIGTERM $MAINPIDTimeoutStopSec=30TimeoutSec=0RestartSec=2Restart=alwaysStartLimitBurst=3StartLimitInterval=60sLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTasksMax=infinityDelegate=yesKillMode=process[Install]WantedBy=multi-user.targetEOF---添加 cri-docker 套接字cat<<"EOF"> /usr/lib/systemd/system/cri-docker.socket[Unit]Description=CRI Docker Socket for the APIPartOf=cri-docker.service[Socket]ListenStream=%t/cri-dockerd.sockSocketMode=0660SocketUser=rootSocketGroup=docker[Install]WantedBy=sockets.targetEOF启动 cri-docker 对应服务systemctldaemon-reloadsystemctlenable cri-dockersystemctlstart cri-dockersystemctlis-active cri-docker4.安装K8s相关软件
配置k8s阿里云源cat< /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/enabled=1gpgcheck=1gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.keyexclude=kubelet kubeadm kubectl cri-tools kubernetes-cniEOFyumclean allyummakecache安装 kubeadm 1.29 版本yuminstall -y kubelet-1.29.0 kubectl-1.29.0 kubeadm-1.29.0systemctlenable kubelet.service5.初始化集群
初始化主节点kubeadm init--apiserver-advertise-address=192.168.1.190 \--image-repository=registry.aliyuncs.com/google_containers \--kubernetes-version=1.29.2 \--service-cidr=10.10.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--ignore-preflight-errors=all \--cri-socket=unix:///var/run/cri-dockerd.sock....Your Kubernetes control-plane has initialized successfully! Tostartusingyour cluster, you needtorun thefollowingasa regularuser: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id-u):$(id-g) $HOME/.kube/config Alternatively,ifyouarethe rootuser, you can run:exportKUBECONFIG=/etc/kubernetes/admin.conf You shouldnowdeploy a pod networktothe cluster. Run"kubectl apply -f [podnetwork].yaml"withoneofthe options listedat: https://kubernetes.io/docs/concepts/cluster-administration/addons/Thenyou canjoinanynumberofworker nodesbyrunning thefollowingoneachasroot: kubeadmjoin192.168.1.190:6443--token 79dfmw.bcdri1p1uc5pbkom \--discovery-token-ca-cert-hash sha256:1f30189f89860b28030415566be642f6fc8bb35407819f77da81d282a43895f6....安装完成根创建需要的目录及管理配置文件mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id-u):$(id-g) $HOME/.kube/config如果没有注意初始化的token可以通过命令查看kubeadm tokenlist获取 --discovery-token-ca-cert-hash 值,得到值后需要在前面拼接上 sha256:openssl x509 -pubkey -in/etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der2>/dev/null| \ openssl dgst -sha256 -hex| seds/^.* //work token 如果过期后,重新申请kubeadm tokencreate--print-join-command从节点加入主节点,在主节点初始化完成后会出现如何加入集群的命令,可以直接复制,注意要指定容器sockkubeadmjoin 192.168.1.190:6443 --token 79dfmw.bcdri1p1uc5pbkom \ --discovery-token-ca-cert-hash sha256:1f30189f89860b28030415566be642f6fc8bb35407819f77da81d282a43895f6 \ --cri-socket=unix:///var/run/cri-dockerd.sock6. 安装网络插件
阿里云服务器有系统吗
官网地址(calico插件)https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremisesinstall-calico-with-kubernetes-api-datastore-more-than-50-nodes安装Calico 命令行工具curl -o calicoctl -O -L https://github.com/projectcalico/calico/releases/download/v3.26.0/calicoctl-linux-amd64 chmod 755 calicoctl cp calicoctl /usr/bin/所有节点都需要进行以下操作(提前下载容器镜像)wget https://github.com/projectcalico/calico/releases/download/v3.26.0/release-v3.26.0.tgz tar -xfrelease-v3.26.0.tgz cdrelease-v3.26.0/images dockerload-i calico-cni.tar dockerload-i calico-node.tar dockerload-i calico-typha.tar dockerload-i calico-kube-controllers.tar主节点操作curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.3/manifests/calico-typha.yaml -o calico.yaml vim calico.yaml修改一:取消掉注释-name: CALICO_IPV4POOL_CIDRvalue:"10.244.0.0/16"value的值改为和 初始化主节点 pod-network-cidr的值相同修改二:修改为 BGP 模式Enable IPIP-name: CALICO_IPV4POOL_IPIPvalue:"Off"将Always改成Off-----------修改三: 可选操作开始---------目标 IP 或域名可达-name: calico-node image: registry.geoway.com/calico/node:v3.19.1env:Auto-detect the BGP IP address.-name: IPvalue:"autodetect"-name: IP_AUTODETECTION_METHODvalue:"can-reach=www.baidu.com"对机器上所有网卡进行域名解析如果成功就选择 不成功放弃kubectlsetenv daemonset/calico-node -n kube-systemIP_AUTODETECTION_METHOD=can-reach=www.baidu.com匹配目标网卡-name: calico-node image: registry.geoway.com/calico/node:v3.19.1env:Auto-detect the BGP IP address.-name: IPvalue:"autodetect"-name: IP_AUTODETECTION_METHODvalue:"interface=eth.*"通过正则匹配使用的网卡排除匹配网卡-name: calico-node image: registry.geoway.com/calico/node:v3.19.1env:Auto-detect the BGP IP address.-name: IPvalue:"autodetect"-name: IP_AUTODETECTION_METHODvalue:"skip-interface=eth.*"CIDR 指定一个范围来选择网卡-name: calico-node image: registry.geoway.com/calico/node:v3.19.1env:Auto-detect the BGP IP address.-name: IPvalue:"autodetect"-name: IP_AUTODETECTION_METHODvalue:"cidr=192.168.200.0/24,172.15.0.0/24"修改 kube-proxy 模式为 ipvskubectl edit configmap kube-proxy -n kube-systemmode: ipvs kubectldeletepod -n kube-system-l k8s-app=kube-proxy-----------可选操作结束---------部署 calicokubectlapply-f calico.yaml如果从节点也需要 kubectl get nodes 做以下操作先去到 master节点scp /etc/kubernetes/admin.conf192.168.1.191:/etc/kubernetes/ scp /etc/kubernetes/admin.conf192.168.1.192:/etc/kubernetes/回到node节点echo"export KUBECONFIG=/etc/kubernetes/admin.conf">> ~/.bash_profilesource~/.bash_profile kubectlgetnodes完成可以关注的目录/etc/kubernetes/mainfests这里是启动k8s的清单文件,包括apiserver等,对于想要使用二进制安装的同学有一些参考性/etc/kubernetes/admin.confk8s的admin管理文件 妥善保管/var/lib/kubelet/kubeadm-flags.envkubelet基于kubeadmi的一些子选项,cri接口,镜像仓库安徽鲲鹏服务器云服务器
推荐阅读
- 云南代理服务器云服务器远程控制手机的软件有哪些免费远程控制手机的软件推荐 2025-12-20 04:02:33
- dcoker云服务器2026值得信赖的云手机品牌推荐,多多云手机 2025-12-20 03:52:28
- 阿里云服务器好卡新手也能轻松上手!轻松玩转多多云手机 2025-12-20 03:42:22
- 艾云 服务器手机连监控不用找师傅!5步轻松搞定,新手也能10分钟上手不踩坑 2025-12-20 03:32:15
- 阿里云服务器怎么挂机阿里云服务中断?数据中心冷却如何保证设施24小时运行 2025-12-20 03:22:13

