接上篇使用kuberspay无坑安装生产级Kubernetes集群,在使用kubespray
安装好了kubernetes之
后,我们需要在自己的客户端电脑配置kubectl,如何将集群的配置信息在本地配置呢,我们使用下面的脚本,放在scripts\copy-kubeconfig.yaml
下,内容为:
源码地址:http://www.wisely.top/2017/07/04/kubespray-kubectl-config/
---
- hosts: kube-master[0]
gather_facts: no
become: yes
tasks:
- fetch:
src: "/etc/kubernetes/ssl/{{ item }}.pem"
dest: "{{ playbook_dir }}/kubectl/{{ item }}.pem"
flat: True
with_items:
- admin-{{ inventory_hostname }}-key
- admin-{{ inventory_hostname }}
- ca
- name: export hostname
set_fact:
kubectl_name: "{{ inventory_hostname }}"
- hosts: localhost
connection: local
vars:
kubectl_name: "{{ hostvars[groups['kube-master'][0]].kubectl_name }}"
cluster_name: "{{ hostvars[groups['kube-master'][0]].cluster_name }}"
kube_apiserver_port: "{{ hostvars[groups['kube-master'][0]].kube_apiserver_port }}"
system_namespace: "{{ hostvars[groups['kube-master'][0]].system_namespace }}"
tasks:
- name: "check if context admin@{{ cluster_name }} exists"
command: kubectl config get-contexts admin@{{ cluster_name }}
register: kctl
failed_when: kctl.rc == 0
- block:
- name: "create cluster {{ cluster_name }}"
command: >
kubectl config set-cluster {{ cluster_name }}
--server=https://{{ kubectl_name }}:{{ kube_apiserver_port }}
--certificate-authority={{ playbook_dir }}/kubectl/ca.pem
--embed-certs
- name: "create credentials admin"
command: >
kubectl config set-credentials admin
--certificate-authority={{ playbook_dir }}/kubectl/ca.pem
--client-key={{ playbook_dir }}/kubectl/admin-{{ kubectl_name }}-key.pem
--client-certificate={{ playbook_dir }}/kubectl/admin-{{ kubectl_name }}.pem
--embed-certs
- name: "create context admin@{{ cluster_name }}"
command: >
kubectl config set-context admin@{{ cluster_name }}
--cluster={{ cluster_name }}
--namespace={{ system_namespace }}
--user=admin
- name: "use context admin@{{ cluster_name }}"
command: kubectl config use-context admin@{{ cluster_name }}
when: kctl.rc != 0
- name: "clean up fetched certificates"
file:
state: absent
path: "{{ playbook_dir }}/kubectl"
在kubespray
根目录执行:
ansible-playbook -i inventory/inventory.cfg scripts/copy-kubeconfig.yaml
执行完成后,如果你本机的hosts
文件已经配置了node1
对应的ip,配置已经完成;如果没有配置,编辑vi /Users/wangyunfei/.kube/config
,将node1
修改为192.168.1.130
。此时再执行:
wangyunfeideMBP:kubespray wangyunfei$ kubectl get node
NAME STATUS AGE VERSION
node1 Ready,SchedulingDisabled 3d v1.6.1+coreos.0
node2 Ready 3d v1.6.1+coreos.0
node3 Ready 3d v1.6.1+coreos.0
相关推荐
整合 Kubespray,Nexus Repository Manager 和 Rook,提供可离线部署 kubernetes 的一套 ansible playbooks。
Kubespray离线创建Kubernetes并与Portal集成管理.docx
https://github.com/kubernetes-sigs/kubespray kubespray 使用 ansible 快速部署容器化 高可用 k8s 集群 环境 主机 内网ip 外网ip 系统 k8s-1 10.0.0.18 61.xxx.xxx.187 ubuntu 18.04 k8s-2 10.0.0.19 ...
我们将在Ubuntu 16.04LTS上使用从MAAS增强的7台裸机主机所有节点的存储硬盘都安装在/ opt分区上 主节点: master1 - 172.17.6.28 master2 - 172.17.6.29 master3 - 172.17.6.30 工作节点: agent1 - 172.17.6.25 ...
Kubespray部署器 Kubespray Deployer是用于通过Docker 轻松的包装器。 TL; DR # work/cluster_inventory.yml - hostname : master1 type : master - hostname : master2 type : master - hostname : worker1 ...
Kubespray,以前是Kargo,是Kubernetes社区保护伞下的一个项目。它是一组工具,旨在轻松部署生产就绪的Kubernetes集群。具体使用参见:《Kubernetes的HA高可用容器化部署(使用Kubespray) 以及使用PVC模式挂载Ceph...
使用KubeSpray消除设置Kubernetes集群的麻烦
在AWS上使用Terraform部署高可用性Kubernetes Storidge集群 查看以获得kubespray文档该项目将创建: 具有Storidge永久存储的高可用性Kubernetes集群具有公共和私有子网的VPC 公共子网中的堡垒主机和NAT网关专用子网...
原文链接:...
原文链接:https://blog.csdn.net/m0_37814112/article/details/124467155?spm=1001.2014.3001.5501 说明:由于包超过1G,所以这里存储了云盘下载地址,永久有效!
Ansible-kubespray.zip,部署生产就绪的kubernetes集群部署生产就绪的kubernetes集群,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Kubernetes-HA-BareMetal:使用Kubespray和尽可能少的云组件进行Kubernetes的HA部署!
原文链接:...说明:使用kubespray-v2.18.1工具部署高可用1.22.8版本k8s涉及到的二进制文件和安装包,这里是通过nginx来实现内部下载的,只需要将download目录mv到/usr/share/nginx/html目录下即可
使用和在GCP上配置Kubernetes集群 概述: 该项目将创建: 创建Kubernetes主实例模板和实例组(1&2) .Compute实例在不同区域中创建。 创建Kubernetes etcd实例模板和实例组(3和4) .Compute实例在不同区域中...
部署kubernetes多主机集群问:当已经有kubespray做相同的事情时,为什么存在这本剧本? 答:它与kubespray有所不同,更简单,更快,它不支持各种不同的GNU / Linux发行版,云提供商或CNI插件。 它主要是为在带有...
原文链接:...说明:使用kubespray-v2.18.1工具部署高可用1.22.8版本k8s涉及到的二进制文件和安装包,这里是通过nginx来实现内部下载的,只需要将download目录mv到/usr/share/nginx/html目录下即可
部署生产就绪的Kubernetes集群 如有疑问,请查看的文档,并加入我们的频道#kubespray 。 您可以收到邀请可以部署在 ,GCE, , , , (Bare metal),Oracle Cloud Infrastructure(Experimental)或Baremetal上高...
terraform-vsphere-kubespray:在VMware vSphere上部署Kubernetes HA集群