`
wiselyman
  • 浏览: 2094362 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
Group-logo
点睛Spring4.1
浏览量:82376
74ae1471-94c5-3ae2-b227-779326b57435
点睛Spring MVC4...
浏览量:130817
社区版块
存档分类
最新评论

kubespray安装kubernetes完成后kubectl客户端配置

 
阅读更多

接上篇使用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 
0
1
分享到:
评论

相关推荐

    基于 Kubespray 进行 Kubernetes 的部署 采用 ROOK 存储方案

    整合 Kubespray,Nexus Repository Manager 和 Rook,提供可离线部署 kubernetes 的一套 ansible playbooks。

    Kubespray离线创建Kubernetes并与Portal集成管理.docx

    Kubespray离线创建Kubernetes并与Portal集成管理.docx

    kubespray部署高可用kubernetes集群(国内镜像)

    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 ...

    2+3+4、Kubernetes 集群安装+Kubernetes 资源清单+Deployment 控制器-V4.pdf

    Kubernetes 集群安装可以通过多种方式完成,包括使用 kubeadm 工具、使用 kubespray 工具、使用 Ansible 等。每种方式都有其优缺点,读者可以根据自己的需求选择合适的安装方法。 系统初始化 系统初始化是指将操作...

    k8s-rook-setup:在rook.io上使用带有持久存储的kubespray设置kubernetes集群的分步指南

    我们将在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 ...

    云原生Kubernetes全栈架构师实战.docx

    安装和配置的步骤包括了解Kubernetes源码、熟悉Kubernetes客户端、对Linux操作系统的熟悉等。在安装和配置过程中,需要使用kubeadm命令行工具、kubespray工具等。 三、Kubernetes核心组件 Kubernetes核心组件包括...

    Kubernetes 实践指南

    Kubespray是一个基于Ansible的自动化工具,它通过SSH协议在多台远程主机上执行脚本,以安装和配置Kubernetes组件。在搭建前,读者需要下载Kubespray,安装必要的依赖(包括Ansible),并复制一份配置文件。配置文件...

    Kubernetes v1.21 官方文档(全).pdf

    Kubernetes 提供了多种安装扩展来满足不同的安装需求,包括 kubeadm、Kops 和 Kubespray 等。这些安装扩展可以帮助开发者更快速地安装和配置 Kubernetes 集群。 10. Kubernetes API Kubernetes API 是 Kubernetes ...

    Kubernetes部署指南.pdf

    3. kubectl 安装:介绍了 kubectl 的安装方法,包括使用 kubeadm 安装 kubectl、使用 kops 安装 kubectl 等。 4. 集群部署:介绍了集群部署的详细步骤,包括创建计算资源、配置证书、生成配置、生成密钥、部署 Etcd ...

    kubernetes中文文档

    - **安装与配置**: 包括如何安装 Kubernetes,设置客户端工具(如 kubectl),以及如何创建和管理集群。 - **基本命令**: 如何使用 `kubectl` 进行基本的操作,例如创建、查看、更新和删除资源。 - **Pod 和容器**: ...

    kubespray-deployer:使用Kubespray轻松部署Kubernetes集群

    Kubespray部署器 Kubespray Deployer是用于通过Docker 轻松的包装器。 TL; DR # work/cluster_inventory.yml - hostname : master1 type : master - hostname : master2 type : master - hostname : worker1 ...

    kubernetes基础入门

    - **3.1.1 kubectl安装**: 介绍如何安装kubectl客户端工具。 - **3.1.2 单机部署**: 提供快速部署Kubernetes集群的方法,适用于测试环境。 - **3.1.3 特性开关**: 配置Kubernetes集群支持的特性集。 **3.2 集群部署...

    terraform-vsphere-kubespray:在VMware vSphere上部署Kubernetes HA集群

    6. **验证集群状态**:部署完成后,使用`kubectl`命令检查集群状态,确保所有组件都正常运行。 7. **持续管理**:一旦集群部署完成,你可以使用Terraform进行后续的更新和扩展,例如添加或删除节点,或者调整集群...

    如何使用KubeSpray在Azure上构建Kubernetes集群

    4. **验证集群**:部署完成后,使用`kubectl`命令行工具连接到新创建的集群,通过`kubectl get nodes`检查节点状态,确保所有节点已加入集群并处于Ready状态。 在这个过程中,`How-to-build-a-Kubernetes-cluster-...

    kubernetes常用工具1

    Kubernetes 部署安装手册(基于 kubeadm) Kubernetes 部署安装手册(基于 kubeadm)旨在指导 Kubernetes 部署、开发人员以及有一定 Linux 相关基础的运维人员进行 Kubernetes 集群的部署和安装。 适用对象:本...

    Kubernetes指南,中文版

    集群部署部分涉及如何使用kubeadm、kops、Kubespray等工具来构建可扩展的生产级Kubernetes集群。 4.3 Kubernetes-The-Hard-Way 这部分提供了详细的指南,用于一步步手动搭建Kubernetes集群,了解内部运作机制。 ...

    Kubernetes-HA-BareMetal:使用Kubespray和尽可能少的云组件进行Kubernetes的HA部署!

    9. **Kubespray配置**:使用Kubespray部署Kubernetes时,需要配置包括主机列表、网络模型、存储解决方案等在内的各项参数。对于HA部署,还需要特别关注控制平面节点的设置和冗余。 10. **网络插件**:Kubernetes中...

    kubespray-v2.14.2.tar.gz

    - 验证集群:部署完成后,使用kubectl工具检查集群状态,验证服务是否正常运行。 3. **关键特性** - **网络策略**:Kubespray支持多种网络模型,如Calico、Flannel等,满足不同场景的网络隔离需求。 - **高可用...

    kubespray-2.4.0.tar.gz

    Kubespray,以前是Kargo,是Kubernetes社区保护伞下的一个项目。它是一组工具,旨在轻松部署生产就绪的Kubernetes集群。具体使用参见:《Kubernetes的HA高可用容器化部署(使用Kubespray) 以及使用PVC模式挂载Ceph...

Global site tag (gtag.js) - Google Analytics