Giter Club home page Giter Club logo

alkssh's Introduction

ALKSSH

简介

一个集成了终端页面,后端整条kubernetes调动的组件,可以实现pod在web页面的连接,方便各位大佬的使用,二次开发和集成项目,通过url的方式识别和连接pod容器,不需要侵入到k8s环境中,可在kubernetes外部部署使用,

演示

image

环境说明

centos7.3+
python==3.6
Django==2.0.5
kubernetes==12.0.0
channels==2.0.2

部署方式

物理机部署

1.拉取源码到本地
git clone https://github.com/SK2-Angel/alkssh.git

2.安服务所需要的模块
pip install django==2.0.5 kubernetes==12.0.0 channels==2.0.2

3.将集群的权限文件kubelet.conf放置到/root/kubernetes.yaml,以至于组件可以正常的访问k8s集群
cp -rp /etc/kubernetes/kubelet.conf /root/kubernetes.yaml

说明:如果要更权限文件的路径,可在代码的/alkssh/medivh/kube.py这个文件中的config.load_kube_config("/root/kubernetes.yaml")更改

4.进入到目录中启动运行服务
python3 manage.py runserver 0.0.0:3578  #端口号可以根据自己的需求更改

容器化部署

 利用docker启动组件
 docker run -d -v /root/kubernetes.yaml:/root/kubernetes.yaml -p 3578:3578 --add-host apiserver.cluster.local:172.3.59.166 czl1041484348/alkssh:v1
 
 说明:
      /root/kubernetes.yaml: kubernetes的认证文件,组件需要获取kubernetes权限,用来调用api和数据传输。
      -p 3578:3578: 容器内部的默认启动端口是3578,根据个人的需求进行改变。
      –add-host apiserver.cluster.local:172.3.59.166: 这参数是添加一个hosts到容器中,这里是因为作者的kube-apiserver是通过名称进行访问的,所以要加一个hosts否则无法解析地址,根据个人的需求进行改变。

访问方式

http://部署此组件的机器地址加端口号/index/namespace命名空间/pod的名称
例如:

 http://225.145.56.221:3578/index/alkssh/nginx-alktest-5bfb49576d-875f9

API集成方法

集成组件可以用url的方式,例如在调用组件前,获取接口的ip:port,命令空间名称指定的pod名称,然后可以利用window.open(url)的方式,打开并跳转页面,实现pod终端的连接

结尾

此开源组件除了docker也可部署在宿主机和kubernetes中,后续会更新kubernetes的部署方法,如果有任何疑问或者发现了BUG,可以提交问题,我看到第一时间会回复,运维开发是将来的发展趋势,自动化运维已经满足不了部分需求,谢谢大家的支持!!

博客连接:

https://blog.csdn.net/qq_42647772/article/details/111663376

作者微信,有什么问题可以加我微信问,也可以探讨运维开发的奥妙,谢谢


alkssh's People

Contributors

sk2-angel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

alkssh's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.