创建k8s

创建k8s 安装export http_proxyhttp://192.168.23.1:808export https_proxyhttp://192.168.23.1:808export no_proxylocalhost,127.0.0.1,192.168.0.0/16,.local没问题用vi编辑器来配置。以下是完整的操作步骤1. 创建配置目录 使用 vi 创建代理配置文件mkdir -p /etc/systemd/system/docker.service.d vi /etc/systemd/system/docker.service.d/http-proxy.conf mkdir -p /etc/systemd/system/docker.service.d cat EOF /etc/systemd/system/docker.service.d/http-proxy.conf [Service] EnvironmentHTTP_PROXYhttp://192.168.23.1:808 EnvironmentHTTPS_PROXYhttp://192.168.23.1:808 EOF systemctl daemon-reload systemctl restart docker rm -rf /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart dockerrm -rf /etc/systemd/system/docker.service.d4. 重新加载并重启 Dockersystemctl daemon-reload systemctl restart docker5. 验证是否生效1systemctl show docker --propertyEnvironment删除代理代码块./kk create manifest --with-kubernetes v1.33.0apiVersion: kubekey.kubesphere.io/v1alpha2 kind: Manifest metadata: name: sample spec: arches: - amd64 operatingSystems: [] kubernetesDistributions: - type: kubernetes version: v1.36.0 components: helm: version: v3.15.4 cni: version: v1.2.0 etcd: version: v3.6.8 containerRuntimes: - type: containerd version: 1.7.24 calicoctl: version: v3.28.1 crictl: version: v1.31.0 kubeadm: version: v1.36.0 kubelet: version: v1.36.0 kubectl: version: v1.36.0 docker-registry: version: 2 harbor: version: v2.11.1 docker-compose: version: v2.29.1 images: # ---------- K8s v1.36.0 核心 ---------- - registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.10.2 - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.36.0 - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.36.0 - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.36.0 - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.36.0 - registry.cn-beijing.aliyuncs.com/kubesphereio/etcd:3.6.8-0 - registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:v1.14.2 - registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.22.22 # 补充缺失 # ---------- Calico v3.28.1 ---------- - registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.28.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/node:v3.28.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers:v3.28.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol:v3.28.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/typha:v3.28.1 # ---------- 本地存储 OpenEBS ---------- - registry.cn-beijing.aliyuncs.com/kubesphereio/provisioner-localpv:4.2.0 - registry.cn-beijing.aliyuncs.com/kubesphereio/linux-utils:4.2.0 # ---------- KubeSphere v4.2.0 核心 (修复 -community 标签) ---------- - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/ks-apiserver:v4.2.0-community - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/ks-controller-manager:v4.2.0-community - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/ks-console:v4.2.0-community - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/ks-extensions-museum:v1.2.0 # ---------- 监控组件 ---------- - swr.cn-southwest-2.myhuaweicloud.com/ks/prometheus/node-exporter:v1.9.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/brancz/kube-rbac-proxy:v0.19.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/kube-state-metrics:v2.13.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/prometheus-operator/prometheus-operator:v0.77.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/prometheus-operator/prometheus-config-reloader:v0.77.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/prometheus/prometheus:v2.54.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/prometheus/alertmanager:v0.27.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/grafana/grafana:v11.2.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/thanos/thanos:v0.34.0 # 建议补上 # ---------- 通知组件 (修复版本) ---------- - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/notification-manager-operator:v1.4.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/notification-manager:v1.4.0 # ---------- 工具镜像 ---------- - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/kubectl:v1.36.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/kubesphere/whizard-telemetry-apiserver:v1.3.0 - swr.cn-southwest-2.myhuaweicloud.com/ks/kubespheredev/kube-webhook-certgen:v20240401 # ---------- Harbor v2.11.1 镜像 (统一源 修正名称 补全) ---------- - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-core:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-jobservice:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-registry:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-portal:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-postgresql:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-redis:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-trivy:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-registryctl:v2.11.1 - registry.cn-beijing.aliyuncs.com/kubesphereio/harbor-clair:v2.11.1 # 补充缺失组件 registry: auths: {}执行./kk artifact export -m manifest-fixed.yaml -o k8s136-ks42-offline.tar.gz注意rpm源3.2 配置 24.03 LTS SP3 官方安装源备份所有旧的 repo 文件# 创建备份目录mkdir -p /etc/yum.repos.d/backup# 移动所有旧repo文件到备份目录mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/一键获取完整项目代码创建新的官方源配置文件vi /etc/yum.repos.d/openEuler-24.03-LTS-SP3.repo一键获取完整项目代码写入以下内容根据架构自动适配[OS] nameopenEuler-24.03-LTS-SP3 OS baseurlhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/OS/$basearch/ enabled1 gpgcheck1 gpgkeyhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler priority1 [everything] nameopenEuler-24.03-LTS-SP3 everything baseurlhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/everything/$basearch/ enabled1 gpgcheck1 gpgkeyhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/everything/$basearch/RPM-GPG-KEY-openEuler priority1 [update] nameopenEuler-24.03-LTS-SP3 update baseurlhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/update/$basearch/ enabled1 gpgcheck1 gpgkeyhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/update/$basearch/RPM-GPG-KEY-openEuler priority1 [EPOL] nameopenEuler-24.03-LTS-SP3 EPOL baseurlhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/EPOL/main/$basearch/ enabled1 gpgcheck1 gpgkeyhttps://repo.openeuler.org/openEuler-24.03-LTS-SP3/EPOL/main/$basearch/RPM-GPG-KEY-openEuler priority1一键获取完整项目代码 说明$basearch会自动识别系统架构x86_64 或 aarch64无需手动修改保存并退出3.3 验证安装源配置清理旧缓存dnf clean all重建新缓存dnf makecache✅ 成功标志无报错显示 Metadata cache created查看可用的软件源dnf repolist————————————————版权声明本文为CSDN博主「倔强的胖蚂蚁」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/weixin_49109647/article/details/159780201还需要设置这个cat /etc/resolv.conf EOFnameserver 11.2.212.161nameserver 10.33.176.66EOFmkdir -p /etc/ssl/registry/ssl报错之后重新部署删除etc//1 nodes(11.192.152.74 11.192.152.75 11.192.152.76 11.192.152.77 11.192.152.78) for ip in ${nodes[]};do ssh root$ip EOF rm -rf /etc/ssl/etcd /etc/kubernetes/pki/etcd rm -rf /var/lib/etcd /tmp/kubekey EOF done //2 nodes(11.192.152.74 11.192.152.75 11.192.152.76 11.192.152.77 11.192.152.78) for ip in ${nodes[]};do ssh root$ip EOF rm -rf /etc/ssl/etcd /etc/kubernetes /var/lib/etcd /var/lib/kubelet /root/.kube /tmp/kubekey rm -rf /usr/local/bin/kube* /usr/bin/kube* EOF done //3 nodes(11.192.152.74 11.192.152.75 11.192.152.76 11.192.152.77 11.192.152.78) for ip in ${nodes[]};do ssh root$ip EOF rm -f /etc/etcd.env rm -rf /etc/ssl/etcd /etc/kubernetes/pki/etcd /var/lib/etcd EOF done rm -rf ~/.kubekey ./kubekey /tmp/kubekey //4 nodes(11.192.152.74 11.192.152.75 11.192.152.76 11.192.152.77 11.192.152.78) for ip in ${nodes[]};do ssh root$ip EOF # 删除etcd环境配置、数据、证书目录 rm -f /etc/etcd.env rm -rf /var/lib/etcd /etc/ssl/etcd /etc/kubernetes/pki/etcd # 兜底清理k8s相关 rm -rf /etc/kubernetes /var/lib/kubelet /root/.kube /tmp/kubekey rm -rf /usr/local/bin/kube* /usr/bin/kube* # 停止残留进程 systemctl stop etcd 2/dev/null systemctl disable etcd 2/dev/null EOF done // 5 #!/bin/bash nodes(11.192.152.74 11.192.152.75 11.192.152.76 11.192.152.77 11.192.152.78) for ip in ${nodes[]}; do echo 开始清理节点: $ip ssh root$ip EOF set -e # 1. 停止并禁用核心服务 (保持不变) systemctl stop kubelet containerd haproxy keepalived etcd kube-proxy flanneld calico-node 2/dev/null || true systemctl disable kubelet containerd haproxy keepalived etcd kube-proxy flanneld calico-node 2/dev/null || true systemctl reset-failed || true # 2. 强杀残留进程 (优化: 增加 -f 参数防止 grep 自身失败) # 原命令: pkill -9 kubelet ... # 建议替换为: killall -q kubelet etcd kube-apiserver kube-controller-manager kube-scheduler kube-proxy haproxy keepalived 2/dev/null || true # 3. 彻底清理 ETCD 相关 (保持不变) rm -rf /var/lib/etcd /etc/ssl/etcd /etc/etcd.env rm -f /etc/systemd/system/etcd.service /usr/local/bin/etcd* /usr/bin/etcd* # 4. 清理 K8s 全局目录、二进制与 CNI 插件 (保持不变) rm -rf /etc/kubernetes /var/lib/kubelet /root/.kube /tmp/kubekey /var/log/kubernetes rm -rf /etc/cni/net.d/ /opt/cni/bin/ /var/lib/cni rm -f /usr/local/bin/kube* /usr/bin/kube* /usr/local/bin/kubectl /usr/bin/kubectl # 5. 清理容器运行时 (优化: 增加对目录存在的判断避免报错) if command -v crictl /dev/null; then crictl rm -fa 2/dev/null || true crictl rmi --all 2/dev/null || true fi # 增加 -f 参数强制删除忽略不存在的文件错误 rm -rf /var/lib/containerd/io.containerd.runtime.v2.task/k8s.io/* rm -rf /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/* # 6. 彻底刷新网络状态 (保持不变) iptables -F iptables -t nat -F iptables -t mangle -F iptables -X || true ipvsadm -C 2/dev/null || true # 7. 清理本地存储残留 (你添加的这行很好保持不变) rm -rf /mnt/local-storage/* 2/dev/null || true # 8. 重载 systemd systemctl daemon-reload echo ✅ 节点清理完成 EOF done echo 所有节点清理完毕可执行 kk create cluster 重新创建集群 # 清理本地KK缓存 rm -rf ~/.kubekey ./kubekey /tmp/kubekey看你是否推送过镜像如果没有需要先推送镜像./kk create cluster -f config-sample.yaml -a kubesphere.tar.gz --with-local-storage --skip-push-images 查看更多可用参数可以执行以下命令 ./kk create cluster -f config-sample.yaml -a kubesphere.tar.gz --help 参数说明 - --skip-push-images 跳过预推送镜像 - --with-packages 安装操作系统依赖需要 ISO 文件 - --with-local-storage 部署本地存储Local PV Provisionersudo dnf list docker-ce --showduplicatesmv helm /usr/local/bin/helm version helm repo add kubesphere https://charts.kubesphere.io/main helm repo update helm pull kubesphere/ks-core --version 1.2.4 helm pull oci://hub.kubesphere.com.cn/kse/ks-core --version 1.2.4 helm upgrade --install -n kubesphere-system --create-namespace ks-core ks-core-1.2.4.tgz --set global.imageRegistry11:8000/ --set extension.imageRegistry11:8000/ --set ksExtensionRepository.image.tagv1.2.4 --set ha.enabledtrue --set redisHA.enabledtrue --set hostClusterNameopsxlabs-main --debug --wait helm install -n kubesphere-system --create-namespace ks-core ks-core-1.2.4.tgz \ --set global.imageRegistry11.2.212.58:8000 \ --set extension.imageRegistry11.2.212.58:8000 \ --set ksExtensionRepository.image.tagv4.2.1 \ --set ha.enabledtrue \ --set redisHA.enabledtrue \ --set hostClusterNamebf \ --debug get svc ks-console -n kubesphere-system http://:30880/login 初次密码 P88w0rd