很早就很想弄一个k8s的管理平台,一直都在做一些准备工作,迟迟没有开始。

技术选型,web框架 ,页面展示 这些我都得从零开始,好在自己有django+adminlte的积累。

页面显示,最后决定选择模仿openshift,结合自己的想要展现的东西,边写边查,收获良多。

从底层代码结构逆向学习k8s基础,很多东西豁然开朗,很多东西都串起来了。

以前很讨厌看的yaml文件,现在看起来很亲切了。

一个deployment可以包含多个svc,server port , target port, node port, cluster_ip, pod_ip,node_name,node_ip 之间如何关联,为什么有这些组件,迎刃而解。

ingress可以包含多个deployment,对应不同svc,如何支持tls

临时转发svc、pod到主机端口:

从k8s master上做一个端口映射,本地测试验证:
# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
my-mysql     ClusterIP   10.98.222.228   <none>        3306/TCP   14m
# kubectl describe svc my-mysql
# kubectl port-forward svc/my-mysql 3306:3306 这里是转的svc
Forwarding from 127.0.0.1:3306 -> 3306
Forwarding from [::1]:3306 -> 3306

# kubectl port-forward my-mysql-687d89776b-79bq5 3306:3306  还可以转发pod
Forwarding from 127.0.0.1:3306 -> 3306    =>这里的ip
Forwarding from [::1]:3306 -> 3306

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐