创建k8s

安装

export http_proxy=http://192.168.23.1:808

export https_proxy=http://192.168.23.1:808

export no_proxy=localhost,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] Environment="HTTP_PROXY=http://192.168.23.1:808" Environment="HTTPS_PROXY=http://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 docker

rm -rf /etc/systemd/system/docker.service.d

4. 重新加载并重启 Docker

systemctl daemon-reload systemctl restart docker

5. 验证是否生效

1systemctl show docker --property=Environment

删除代理

代码块

./kk create manifest --with-kubernetes v1.33.0

apiVersion: 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] name=openEuler-24.03-LTS-SP3 OS baseurl=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/OS/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler priority=1 [everything] name=openEuler-24.03-LTS-SP3 everything baseurl=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/everything/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/everything/$basearch/RPM-GPG-KEY-openEuler priority=1 [update] name=openEuler-24.03-LTS-SP3 update baseurl=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/update/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/update/$basearch/RPM-GPG-KEY-openEuler priority=1 [EPOL] name=openEuler-24.03-LTS-SP3 EPOL baseurl=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/EPOL/main/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-24.03-LTS-SP3/EPOL/main/$basearch/RPM-GPG-KEY-openEuler priority=1


一键获取完整项目代码

💡 说明:$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 << EOF
nameserver 11.2.212.161
nameserver 10.33.176.66
EOF

mkdir -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 Provisioner)

sudo dnf list docker-ce --showduplicates

mv 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.imageRegistry=11:8000/ --set extension.imageRegistry=11:8000/ --set ksExtensionRepository.image.tag=v1.2.4 --set ha.enabled=true --set redisHA.enabled=true --set hostClusterName=opsxlabs-main --debug --wait helm install -n kubesphere-system --create-namespace ks-core ks-core-1.2.4.tgz \ --set global.imageRegistry=11.2.212.58:8000 \ --set extension.imageRegistry=11.2.212.58:8000 \ --set ksExtensionRepository.image.tag=v4.2.1 \ --set ha.enabled=true \ --set redisHA.enabled=true \ --set hostClusterName=bf \ --debug get svc ks-console -n kubesphere-system http://:30880/login 初次密码 P@88w0rd