首页 > 社交 > 科普中国

IaC示例:Terraform

常驻编辑 科普中国 2022-10-13 集群   节点   示例   变量   基础设施   虚拟机   实例   定义   代码   环境   文件
的 Inventory 文件。qTu拜客生活常识网

部署K3S集群

完成虚拟机的创建之后,我们进入 k3scluster/ansible/ 目录,进行下一步操作qTu拜客生活常识网

❯ cd ../ansible/

❯ ls
  apps.yml    init.yml    k3s.yaml    k3s_hosts    main.yml    roles

其中文件 k3s_hosts 是在上一步生成的 Inventory 文件,init.yml 文件是初始化节点的 playbook,在上一步的 Terraform 应用中以及执行了。
main.yml 文件是安装配置 K3S 集群的 playbook,roles/ 目录包含了所有的任务。qTu拜客生活常识网

在执行具体任务之前,我们可以通过 ansbile 测试下虚拟机节点的可用性qTu拜客生活常识网

❯ ansible -i k3s_hosts all -m ping
worker1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
worker2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
control | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

接下来执行 main.yml playbookqTu拜客生活常识网

❯ ansible-playbook -i k3s_hosts main.yml
...
PLAY RECAP ********************************************
control                    : ok=16   changed=7    unreachable=0    failed=0    skipped=4    rescued=0    ignored=0   
worker1                    : ok=8    changed=4    unreachable=0    failed=0    skipped=6    rescued=0    ignored=0   
worker2                    : ok=8    changed=4    unreachable=0    failed=0    skipped=6    rescued=0    ignored=0

这将会调用 roles/k3s/ 里定义的任务,安装和配置 K3S 集群,具体的执行任务,请查看 roles 里的代码。
成功之后,会发现在当前目录生成了一个
k3s.yaml 的文件,这是从 control 节点获取的 kubeconfig 文件,我们需要替换一下 api-server 的 IPqTu拜客生活常识网

❯ sed -i 's/127.0.0.1/192.168.123.10/g' k3s.yaml

之后,我们就可以通过该 kubeconfig 文件来访问该集群了,例如qTu拜客生活常识网

❯ kubectl --kubeconfig k3s.yaml cluster-info
Kubernetes control plane is running at https://192.168.123.10:6443
CoreDNS is running at https://192.168.123.10:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://192.168.123.10:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy

❯ kubectl --kubeconfig k3s.yaml get no
NAME                STATUS   ROLES                  AGE     VERSION
worker2.k3s.local   Ready                     4m19s   v1.25.2+k3s1
worker1.k3s.local   Ready                     4m18s   v1.25.2+k3s1
control.k3s.local   Ready    control-plane,master   4m39s   v1.25.2+k3s1

至此,我们就完成了一个 K3S 集群的部署,并可以在部署其他应用。最后,我们也可以继续使用 ansible 来部署演示应用。
文件
apps.yml 是部署演示应用的 playbook,其通过 roles/k3s-app/

相关阅读:

  • kubernetes上部署
  • 互联网后端技术大全!建议收藏
  • 1.8亿年前蜉蝣婚飞
  • 我科学家揭示最古老昆虫婚飞行为
  • Java后端大神总结的“造火箭”理论,找工作很有用哦
  • “长不大”的寒武纪:收入1.72亿,亏损6.22亿,市值暴跌800
  • 一图读懂《促进中小企业特色产业集群发展暂行办法》↓
  • hadoop、hbase、zookeeper集成kerberos认证
  • 黄河宿集:打动人的不止风景,还有场景
  • 为何要发展中小企业产业集群?记者调研带你看集群优势→
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。