# 面试作品-K8S **Repository Path**: ccoldplay/interview-work-k8s ## Basic Information - **Project Name**: 面试作品-K8S - **Description**: 银四!开始找工作了,开始一个ansible安装k8s的项目用于面试 - **Primary Language**: Docker - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-07-25 - **Last Updated**: 2021-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 面试作品-K8S #### 介绍 银四!开始找工作了,开始一个ansible安装k8s的项目由于面试 基于centos7 && 1-master && n-nodes 模式 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0416/131715_628ae4b4_1311864.png "屏幕截图.png") #### ansible\roles文件结构 1. k8s_init_environment linux k8s所需环境初始化配置 2. k8s_master_install mastar节点安装 3. k8s_node_install node节点安装 4. k8s_componet_install k8s基础组件部署 完成安装 #### 安装教程 1. 安装配置好ansible 2. 配置ansible\roles\k8s_init_environment\tasks\set_hosts.yml 为自己机器地址 3. 配置私有harbor内网地址支持http协议 3.1. 修改ansible\roles\k8s_init_environment\templates\daemon.json insecure-registries 为自己的私有harbor内网地址 4. 在ansible\inventory配置连接信息,hostname 5. 在ansible目录下执行 `ansible-playbook -i inventory k8s.install.yml` 安装k8s #### 添加node 1. 后面集群中增加机器,在ansible\inventory添加主机 2. 需要添加到hosts的话在ansible\roles\k8s_init_environment\tasks\set_hosts.yml新增 - name: add hosts k8snode05 lineinfile: path: /etc/hosts state: present line: "192.168.56.xxx k8snode0xx" tags: add_hosts 3. 在ansible目录下执行 `ansible-playbook -i inventory --tags=add_hosts k8s.install.yml` 应用新hosts文件改变 #### 安装应用 1. 安装nfs 2. 安装 nfs-client-provisioner 2.1. 执行helm install nfs-client-provisioner --set nfs.server=192.168.0.53 --set nfs.path=/nfs apphub/nfs-client-provisioner 3. 安装自己的应用,以application中的zantao demo为例: 3.1. 修改pvc.yml中的nfs为nfs私有地址 3.2. kubectl apply -f pvc.yml 安装pvc 3.3. kubectl apply -f zantao.yml 安装zantao deployment及service 3.4. 修改zantao-ingree.yml中的zandao访问域名为自己的域名 3.4. kubectl apply -f zantao-ingree.yml 安装zantao ingress 4. 解析域名到k8s服务(生产环境),配置dnsmasq到k8s服务(测试环境)