美文网首页
教你一键单机部署kubernetes

教你一键单机部署kubernetes

作者: 晓明_aca7 | 来源:发表于2019-01-13 22:00 被阅读0次

    更多精彩内容请关注同名公众号

    操作系统:Ubuntu16.04

    硬件配置:2核4GB阿里云ECS

    权限: root

    部署架构图

    安装步骤

    准备环境

    准备一台Ubuntu16.04 机器,比如阿里云ECS 2核心8GB的机器,需要又公网IP

    配置一个kubectl访问集群用的域名,例如 k8s.xxxx.com,域名指向机器的公网IP

    配置一个API访问的域名,例如 api.xxxx.com,域名指向机器的公网IP

    确保机器的80,6443端口可以访问(阿里云机器的话需要配置安全组)

    安装git,下载本代码仓库

    apt-getupdate-yapt-getupgrade-yaptinstallgit

    gitclonehttps://github.com/gomode/kubernetes_helper.git

    执行安装脚本

    cdkubernetes_helper/setup/

    ./setup_k8s_ubuntu_1604.sh

    执行过程中需要如如两个参数: + 请输入想要安装的k8s版本(1.13.1),默认1.13.1,如果想要自定义,按照格式输入即可,否则直接回车 + 请输入远程访问k8s需要的域名/公网IP,最好自己输入一个域名,然后把域名指向本机公网IP即可,也可以直接输入gongwangIP - 这个地址是后面从其他机器通过kubectl的地址 — 到时候修改.kube/config下面的 server地址即可 + 请输入访问集群测试API接口的域名,这个是用于测试集群内服务是否部署成功的 - 这个域名通常配置为整个后端的接口域名 - 整个脚本执行完成以后可以通过域名/healthz来测试,成功的话返回ok。

    测试服务可用性

    服务是一个go语言实现的http服务端

    代码再healthz目录中

    代码以Deployment的形式部署,暴露的端口是8080

    通过kubernetes的svc来暴露服务,服务端口80

    通过ingress-nginx来配置路由

    使用前面的api.xxxx.com/healthz,部署成功的话会返回ok

    前面的脚本会自动部署一个服务叫healthz,用于测试服务的可用性

    从公网使用kubectl访问集群(可选)

    本地安装好kubectl (具体安装文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/)

    把集群服务器的~/.kube/config 下面的文件拷贝到本地的 ~/.kube/config 位置

    修改server 这个参数里面的私有地址替换为一开始准备好的域名(k8s.xxxx.com)

    kubectl get node 查看一下

    问题排查

    kubectl 命令行自动提示

    source(kubectlcompletionbash)

    kubelet日志查看

    journalctl-f-ukubelet

    解决vim中文乱码问题

    echosetfileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom/etc/vim/vimrc

    echosetsettermencoding=utf-8/etc/vim/vimrc

    echosetsetencoding=utf-8/etc/vim/vimrc

    相关文章

      网友评论

          本文标题:教你一键单机部署kubernetes

          本文链接:https://www.haomeiwen.com/subject/voxrdqtx.html