0
点赞
收藏
分享

微信扫一扫

Kubernetes(k8s)使用操作及入门

绪风 2022-10-06 阅读 162


文章目录

  • ​​kubectl​​
  • ​​kubectl 文档​​
  • ​​资源类型​​
  • ​​格式化输出​​
  • ​​常用操作​​
  • ​​命令参考​​
  • ​​yaml 语法​​
  • ​​yml 模板​​
  • ​​k8s入门操作​​
  • ​​Pod 是什么,Controller 是什么​​
  • ​​Deployment&Service 是什么​​
  • ​​Service的意义​​
  • ​​labels and selectors​​
  • ​​Ingress​​
  • ​​网络模型​​
  • ​​项目部署​​

kubectl

kubectl 文档

​​https://kubernetes.io/zh/docs/reference/kubectl/overview/​​

资源类型

https://kubernetes.io/zh/docs/reference/kubectl/overview/#%E8%B5%84%E6%BA%90%E7%B1%B B%E5%9E%8B

格式化输出

https://kubernetes.io/zh/docs/reference/kubectl/overview/#%E6%A0%BC%E5%BC%8F%E5%8C%9 6%E8%BE%93%E5%87%BA

常用操作

https://kubernetes.io/zh/docs/reference/kubectl/overview/#%E7%A4%BA%E4%BE%8B-%E5%B8% B8%E7%94%A8%E6%93%8D%E4%BD%9C

命令参考

​​https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands​​

yaml 语法

yml 模板

Kubernetes(k8s)使用操作及入门_docker

k8s入门操作

Pod 是什么,Controller 是什么

​​https://kubernetes.io/zh/docs/concepts/workloads/pods/#pods-and-controllers​​​ Pod 和控制器
控制器可以为您创建和管理多个 Pod,管理副本和上线,并在集群范围内提供自修复能力。
例如,如果一个节点失败,控制器可以在不同的节点上调度一样的替身来自动替换 Pod。
包含一个或多个 Pod 的控制器一些示例包括:
Deployment
StatefulSet
DaemonSet
控制器通常使用您提供的 Pod 模板来创建它所负责的 Pod
Kubernetes(k8s)使用操作及入门_tomcat_02

Deployment&Service 是什么

Kubernetes(k8s)使用操作及入门_nginx_03

Service的意义

1、部署一个 nginx
kubectl create deployment nginx --image=nginx

2、暴露 nginx 访问
kubectl expose deployment nginx --port=80 --type=NodePort

统一应用访问入口;
Service 管理一组 Pod。
防止 Pod 失联(服务发现)、定义一组 Pod 的访问策略

现在 Service 我们使用 NodePort 的方式暴露,这样访问每个节点的端口,都可以访问到这 个 Pod,如果节点宕机,就会出现问题。

labels and selectors

Kubernetes(k8s)使用操作及入门_kubernetes_04

Ingress

通过 Service 发现 Pod 进行关联。

基于域名访问。

通过 Ingress Controller 实现 Pod 负载均衡

支持 TCP/UDP 4 层负载均衡和 HTTP 7 层负载均衡

Kubernetes(k8s)使用操作及入门_nginx_05


步骤:

1)、部署 Ingress Controller

2)、创建 Ingress 规则

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web
spec:
rules:
- host: tomcat6.atguigu.com
http:
paths:
- backend:
serviceName: tomcat6
servicePort: 80

如果再部署了 tomcat8;看效果;
kubectl create deployment tomcat8 --image=tomcat:8.5.51-jdk8
kubectl expose deployment tomcat8 --port=88 --target-port=8080 --type=NodePort

kubectl delete xxx 删除指定资源

随便配置域名对应哪个节点,都可以访问 tomcat6/8;因为所有节点的 ingress-controller 路 由表是同步的。

网络模型

Kubernetes 的网络模型从内至外 由四个部分组成:

1、Pod 内部容器所在的网络

2、Pod 所在的网络

3、Pod 和 Service 之间通信的网 络

4、外界与 Service 之间通信的网 络

Kubernetes(k8s)使用操作及入门_java_06

项目部署

项目部署流程
制作项目镜像(将项目制作为 Docker 镜像,要熟悉 Dockerfile 的编写)
控制器管理 Pod(编写 k8s 的 yaml 即可)
暴露应用
日志监控


举报

相关推荐

0 条评论