Oracle Kubernetes 1.22 单机部署中文指南
Oracle Kubernetes 1.22 单机部署中文指南

背景与核心痛点:在企业级 Oracle Linux 环境下,通过 kubeadm 从零手动搭建 Kubernetes 单节点/主从集群往往涉及繁琐的底层环境调优。从关闭 Swap、配置 iptables 转发与 SELinux 放行,到集成 Docker/containerd 运行时、初始化 kubeadm 控制平面、部署 Calico/Flannel CNI 网络插件,以及集成官方 Kubernetes Dashboard 与 Harbor 企业镜像仓库,本文提供经生产验证的完整中文实操闭环指南。
目录
- Oracle Linux 基础环境初始化
- 容器运行时 Docker 与 Cgroup 配置
- 使用 kubeadm 初始化 Kubernetes 单节点集群
- 部署官方 Dashboard 与管理员授权
- 企业级 Harbor 私有镜像仓库部署
- 高频部署故障与证书排查要点
Oracle Linux 基础环境初始化
1. 修改主机名与网络转发
hostnamectl set-hostname k8s-master
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.max_map_count = 262144
EOF
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
2. 永久关闭 Swap 分区
swapoff -a
sed -i "/ swap / s/^\(.*\)$/#\1/g" /etc/fstab
3. 放行防火墙与 SELinux
setenforce 0
sed -i "s/^SELINUX=enforcing$/SELINUX=permissive/" /etc/selinux/config
容器运行时 Docker 与 Cgroup 配置
- 添加 Docker 官方 Yum 镜像源并安装核心组件:
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io - 配置 Docker Cgroup 驱动为 systemd(K8s 强推荐):
保存至{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }/etc/docker/daemon.json并重启 Docker:systemctl daemon-reload && systemctl restart docker
使用 kubeadm 初始化 Kubernetes 单节点集群
1. 安装 kubeadm, kubelet, kubectl
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF
yum install -y kubelet-1.22.0 kubeadm-1.22.0 kubectl-1.22.0 --disableexcludes=kubernetes
systemctl enable --now kubelet
2. 执行 kubeadm 初始化
kubeadm init --apiserver-advertise-address=10.0.0.125 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
3. 去除 Master 污点(单节点必做)
允许 Pod 调度到单机 Master 节点上运行:
kubectl taint nodes --all node-role.kubernetes.io/master-
部署官方 Dashboard 与管理员授权
- 部署官方 Web UI 资源清单:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml - 创建 admin-user 服务账户并绑定 cluster-admin 超级管理角色。
- 获取登录 Token 即可在浏览器通过安全代理访问控制台。
企业级 Harbor 私有镜像仓库部署
使用 Helm 部署 Harbor 镜像仓库:
- 配置 Ingress 自动绑定泛域名证书。
- 后端数据目录挂载本地存储 local-path 或 NFS 持久卷。
- 为 Docker 守护进程配置私有仓库登录信任与证书挂载。
高频部署故障与证书排查要点
- cert-manager 证书无法处于 Ready 状态:在 Ingress 注解中必须显式声明:
cert-manager.io/issue-temporary-certificate: "true" acme.cert-manager.io/http01-edit-in-place: "true" - Kubelet 启动报 cgroup 冲突:严格保证 Docker daemon 与 Kubelet 配置一致使用 systemd。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果