多合一模式最小化部署集群¶
前置条件¶
- 您已拥有一个标准 kubernetes 集群或云厂商提供的集群。
- 集群控制节点或云终端已将安装了 kubectl 工具。
- kubean helm chart 已在您的集群上部署。
- kubean 项目已经克隆至您本地,如果您还未克隆 kubean,可以执行执行如下命令进行克隆:
git clone https://github.com/kubean-io/kubean.git
开始部署¶
本教程将使用您克隆至本地的 kubean/example
文件作为范例模板,进行集群部署演示。
借助案例模板,仅需两步我们就能使用 kubean 完成一个单节点集群的部署。
1. 配置 AllInOne.yml 参数¶
进入 kubean/examples/install/1.minimal
文件路径下,编辑单节点模式部署模板 AllInOne.yml,将下列参数替换为您的真实参数。
<IP1>
:节点 IP。<USERNAME>
:登陆节点的用户名,建议使用 root 或具有 root 权限的用户登陆。<PASSWORD>
:登陆节点的密码。<TAG>
:kubean 镜像版本,推荐使用最新版本,参阅 kubean 版本列表。
例如,下面展示了一个 AllInOne.yml 示例:
AllInOne.yml 示例
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mini-hosts-conf
namespace: kubean-system
data:
hosts.yml: |
all:
hosts:
node1:
ip: 10.6.175.10 # 你的节点 IP
access_ip: 10.6.175.10 # 你的节点 IP
ansible_host: 10.6.175.10 # 你的节点 IP
ansible_connection: ssh
ansible_user: root # 登陆节点的用户名
ansible_password: password01 # 登陆节点的密码
children:
kube_control_plane:
hosts:
node1:
kube_node:
hosts:
node1:
etcd:
hosts:
node1:
k8s_cluster:
children:
kube_control_plane:
kube_node:
calico_rr:
hosts: {}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mini-vars-conf
namespace: kubean-system
data:
group_vars.yml: |
container_manager: containerd
kube_network_plugin: calico
etcd_deployment_type: kubeadm
---
apiVersion: kubean.io/v1alpha1
kind: Cluster
metadata:
name: cluster-mini
labels:
clusterName: cluster-mini
spec:
hostsConfRef:
namespace: kubean-system
name: mini-hosts-conf
varsConfRef:
namespace: kubean-system
name: mini-vars-conf
---
apiVersion: kubean.io/v1alpha1
kind: ClusterOperation
metadata:
name: cluster-mini-install-ops
spec:
cluster: cluster-mini
image: ghcr.m.daocloud.io/kubean-io/spray-job:v0.5.2 # kubean 镜像版本
actionType: playbook
action: cluster.yml
preHook:
- actionType: playbook
action: disable-firewalld.yml
postHook:
- actionType: playbook
action: cluster-info.yml
执行如下命令编辑 AllInOne.yml 配置模板:
vi kubean/examples/install/1.minimal/AllInOne.yml
2. 应用 AllInOne.yml 配置¶
完成上述步骤并保存 AllInOne.yml 文件后,执行如下命令:
kubectl apply -f examples/install/1.minimal/AllInOne.yml
至此,您已经完成了一个简单的单节点集群的部署。