Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

完成验收答辩 #50

Merged
merged 161 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
3fbecf0
Enable CI/CD for dev branch (#4)
sjtuzc954 Apr 15, 2024
1b94946
feat: 增加Pod相关类型声明
sjtuzc954 Apr 16, 2024
5392c9e
Merge pull request #5 from GMH233/feature/types
sjtuzc954 Apr 16, 2024
4a2a263
feat: 完成kubelet启动框架
sjtuzc954 Apr 16, 2024
93ddcc1
feat: 增加pod workers和pod manager框架
sjtuzc954 Apr 17, 2024
fba327a
feat: 增加kubelet client,增加pleg框架
sjtuzc954 Apr 20, 2024
144fa70
feat: complete addpod in runtime
someonetang Apr 20, 2024
240ec5f
Merge branch 'feature/kubelet-iter1-tz' into feature/kubelet
sjtuzc954 Apr 20, 2024
baf9193
refactor: kubelet包结构
sjtuzc954 Apr 20, 2024
8e1248a
feat: kubelet创建mock pod用例完成
sjtuzc954 Apr 20, 2024
cf168cc
feat: kubelet与apiserver交互并创建pod用例完成
sjtuzc954 Apr 20, 2024
08f6d96
Merge pull request #6 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 20, 2024
88673b2
feat: 增加runtime pod数据结构
sjtuzc954 Apr 22, 2024
457a2b6
Merge pull request #7 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 22, 2024
a53be15
feat: add GetAllPods & GetPodStatus
Apr 26, 2024
8151a67
Merge pull request #8 from GMH233/feature/kubelet-iter1-tz
someonetang Apr 26, 2024
f120946
feat: 完成pod状态回传至apiserver (#9)
sjtuzc954 Apr 26, 2024
5cc8342
feat: 增加kubelet delete pod框架
sjtuzc954 Apr 26, 2024
41e566d
fix: 修复GetNewerThan永久阻塞
sjtuzc954 Apr 27, 2024
ed5d3f3
feat: 实现always重启策略
sjtuzc954 Apr 28, 2024
3bd24ad
Merge pull request #10 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 28, 2024
7319f7e
feat: 增加weave适配层,实现attach + detach
sjtuzc954 Apr 28, 2024
7eff847
Merge pull request #11 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 28, 2024
04976e4
feat: complete usage of attach and detach in rm
Apr 28, 2024
0322e43
Merge pull request #14 from GMH233/feature/kubelet-iter1-tz
sjtuzc954 Apr 28, 2024
8306663
feat: pod卷创建与挂载
sjtuzc954 Apr 29, 2024
fe03de4
Merge pull request #15 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 29, 2024
9e346b2
fix: 修复runtime manager返回不受kubelet管理的容器,以及错误detach的问题
sjtuzc954 Apr 29, 2024
23a3e2f
Merge pull request #16 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 29, 2024
ba346b7
refactor: 修改test文件夹结构(同一个文件夹不能有两个main函数)
sjtuzc954 Apr 29, 2024
635f53f
Merge pull request #18 from GMH233/feature/kubelet-iter1-zc
sjtuzc954 Apr 29, 2024
dd1305c
Merge pull request #19 from GMH233/feature/kubelet
sjtuzc954 Apr 29, 2024
cc4f177
feat: kubectl
sjtuzc954 Apr 27, 2024
5776b86
feat: 简易kubectl,支持apply pod
sjtuzc954 Apr 29, 2024
7139d76
fix: 解决依赖合并冲突
sjtuzc954 Apr 29, 2024
656fc96
feat: 支持get pods, delete pod(simple)
sjtuzc954 Apr 30, 2024
dacc0e9
Merge pull request #20 from GMH233/feature/kubectl
sjtuzc954 Apr 30, 2024
a49e3be
feat: implement the basic stucture of apiserver, implemented trivial …
GMH233 Apr 20, 2024
da9e338
refactor: reduce redundant marshal
GMH233 Apr 20, 2024
a4cd085
feat: 支持简单的status查询和修改api
GMH233 Apr 26, 2024
df34d56
feat: 加入删除pod的api
GMH233 Apr 27, 2024
6ebb393
fix: 解决重复添加和删除空名字的bug
GMH233 Apr 29, 2024
709d910
feat: 增加etcd持久化支持
GMH233 Apr 30, 2024
51b3b78
feat: 增加查询pod的接口
GMH233 Apr 30, 2024
d855264
refactor: 调整apiserver目录结构
GMH233 Apr 30, 2024
726a71f
fix: add go sum and go mod
GMH233 Apr 30, 2024
485c39d
fix: 解决go.mod和go.sum冲突
GMH233 Apr 30, 2024
fff8033
Merge pull request #21 from GMH233/feature/apiserver
GMH233 Apr 30, 2024
8888f89
feat: 完成ipvs适配层
sjtuzc954 May 6, 2024
2262eed
feat: 增加service类型定义,runtime增加端口暴露
sjtuzc954 May 6, 2024
3d32501
feat: 完成kubeproxy skeleton
sjtuzc954 May 8, 2024
70b8564
feat: 初步完成kubeproxy全流程
sjtuzc954 May 8, 2024
e761e40
feat: 增加apiserver添加service,查询全部service的功能
sjtuzc954 May 8, 2024
b2cff37
feat: 增加apiserver的delete service接口
sjtuzc954 May 10, 2024
2d78c8b
feat: 完成ClusterIP模式
sjtuzc954 May 10, 2024
0f444f8
Merge pull request #22 from GMH233/feature/kubeproxy
sjtuzc954 May 10, 2024
dfee8f3
fix: 修复重复detach
sjtuzc954 May 10, 2024
7685d5d
Merge pull request #23 from GMH233/feature/kubelet
sjtuzc954 May 10, 2024
f879867
feat: 支持NodePort模式
sjtuzc954 May 10, 2024
f2929f8
Merge pull request #24 from GMH233/feature/kubeproxy
sjtuzc954 May 10, 2024
ded30ee
feat: complete replicaset controller
May 10, 2024
73132ef
feat: 增加基本的从cadvisor获取指标的功能,kubelet定时同步pod信息到collector
GMH233 May 10, 2024
551d33f
build: go mod sum
GMH233 May 10, 2024
33c34db
feat: complete the replicaset controller and apiserver
someonetang May 11, 2024
04416af
Merge pull request #25 from GMH233/feature/kubelet-iter1-tz
someonetang May 11, 2024
42f6baf
Revert "Feature/kubelet iter1 tz"
sjtuzc954 May 12, 2024
1d1f3e2
Merge pull request #26 from GMH233/revert-25-feature/kubelet-iter1-tz
sjtuzc954 May 12, 2024
3858271
feat: 完成proxy侧dns的创建和删除
sjtuzc954 May 12, 2024
d36b259
feat: 增加apiserver dns接口
sjtuzc954 May 13, 2024
3d8c5f5
feat: 增加多机apiserver接口
sjtuzc954 May 17, 2024
3fcc1e5
feat: kubelet支持多机
sjtuzc954 May 17, 2024
b53ef98
Merge pull request #28 from GMH233/feature/scheduler
sjtuzc954 May 17, 2024
b288340
Merge branch 'dev' into feature/kubeproxy
sjtuzc954 May 17, 2024
5a6a910
Merge pull request #30 from GMH233/feature/kubeproxy
sjtuzc954 May 17, 2024
baf019f
feat: fix conflict of revert
someonetang May 17, 2024
ec38e03
feat: complete replicaset controller and scheduler
someonetang May 19, 2024
bfe14c6
Merge pull request #31 from GMH233/feature/scheduler-iter2-tz
someonetang May 19, 2024
b65b144
feat: 增加autoscaler相关的数据类型
GMH233 May 19, 2024
bd9c171
feat: 增加存储metrics的数据库
GMH233 May 19, 2024
fc6bcbf
feat: 实现在kubelet运行的metrics collector
GMH233 May 19, 2024
3d0e374
feat: 增加autoscaler相关接口和策略controller的框架
GMH233 May 19, 2024
8b1a2dd
Merge branch 'dev' into feature/autoscaler
GMH233 May 19, 2024
7e66aff
fix: 修改URL冲突
GMH233 May 19, 2024
0731943
chore: 调试metrics上传
GMH233 May 19, 2024
83dc2c4
fix: 保证单个容器的上传时间戳是单调不重合的
GMH233 May 20, 2024
d1884f5
fix: 正确拿到请求窗口内的数据
GMH233 May 20, 2024
1133d23
feat: 增加scaler的api支持
GMH233 May 20, 2024
74d65fc
feat: iptables拦截进出站流量
sjtuzc954 May 20, 2024
b0970fa
feat: 获取单个replicaSet和改变replicaSet的副本数
GMH233 May 20, 2024
3375099
chore: typo
GMH233 May 20, 2024
d19adce
feat: hpa controller获取到匹配的pod信息,增加修改rps num的接口
GMH233 May 21, 2024
98995bf
tmp: try catch metrics
GMH233 May 21, 2024
baf1b71
fix: 悬垂镜像导致tag为空数组, 读取空数组
GMH233 May 21, 2024
e9b3205
feat: basic envoy proxy
sjtuzc954 May 21, 2024
32f8597
fix: 接口时间戳格式 正确获取metrics
GMH233 May 21, 2024
71be282
fix: 修改metrics抽象返回值
GMH233 May 21, 2024
102b998
feat: 基本实现基于cpu的扩缩容(待改进框架)
GMH233 May 21, 2024
ee26777
feat: kubelet增加sidecar支持(security context和init containers)
sjtuzc954 May 21, 2024
0481d60
feat: 基本支持对于cpu和内存的扩缩容策略
GMH233 May 21, 2024
002cd7d
refactor: 增加controllerManager
GMH233 May 21, 2024
2e5bc17
fix: 增加controllerManager通过简单测试
GMH233 May 21, 2024
f3120d4
Merge pull request #33 from GMH233/feature/autoscaler
GMH233 May 21, 2024
98988d9
feat: api types used by microservice
sjtuzc954 May 22, 2024
e268a9e
Merge pull request #34 from GMH233/feature/microservice-types
sjtuzc954 May 22, 2024
28f3563
fix: SidecarMapping定义错误
sjtuzc954 May 22, 2024
9d82dce
Merge pull request #35 from GMH233/feature/microservice-types
sjtuzc954 May 22, 2024
fb54063
feat: virtual service和subset接口
sjtuzc954 May 22, 2024
fa38873
feat: 实现扩缩容规则: 窗口内不会超过限度
GMH233 May 22, 2024
ed0062d
Merge branch 'feature/microservice-types' into feature/autoscaler
GMH233 May 22, 2024
daf8832
feat: sidecar mapping接口(save and get)
sjtuzc954 May 23, 2024
d7968dd
feat: server加锁
sjtuzc954 May 23, 2024
4ba7045
fix: namespace key写错
sjtuzc954 May 23, 2024
6b73f45
Merge branch feature/envoy into feature/microservice-zc
sjtuzc954 May 24, 2024
eb1f606
Merge pull request #36 from GMH233/feature/autoscaler
GMH233 May 24, 2024
c428bcb
feat: envoy转发
sjtuzc954 May 24, 2024
4b787b5
Merge branch 'refs/heads/dev' into feature/microservice-zc
sjtuzc954 May 24, 2024
39ba4f6
Merge pull request #37 from GMH233/feature/microservice-zc
sjtuzc954 May 24, 2024
8272be5
feat: complete pilot
someonetang May 25, 2024
8f4ee0e
fix: fix the error return way and add the sync iteration
someonetang May 25, 2024
d69c27d
fix : fix the wrong return of client
someonetang May 25, 2024
a068ca8
fix: subset update产生垃圾
sjtuzc954 May 25, 2024
62c4c21
Merge pull request #38 from GMH233/feature/pilot-tz
someonetang May 25, 2024
7a2b8d2
refactor: 减少debug信息
GMH233 May 27, 2024
e66c6db
Merge pull request #39 from GMH233/feature/autoscaler
GMH233 May 27, 2024
cc09f8e
fix: inbound proxy未作端口映射
sjtuzc954 May 25, 2024
9063ea8
feat: 简单build脚本
sjtuzc954 May 25, 2024
e0dade0
feat: 支持服务名作为域名
sjtuzc954 May 26, 2024
73eac60
fix: image pull删除prefix,apiserver add pod增加namespace检查
sjtuzc954 May 27, 2024
f309226
fix: 移除滥用panic
sjtuzc954 May 27, 2024
0bd1a0e
fix: init container pull未读取输出
sjtuzc954 May 27, 2024
554f210
fix: pilot sidecar mapping输出不正确
sjtuzc954 May 27, 2024
1414b32
Merge pull request #41 from GMH233/feature/microservice-zc
sjtuzc954 May 27, 2024
f3ef747
fix: checkImage实现错误
sjtuzc954 May 28, 2024
441ca4a
Merge pull request #42 from GMH233/hotfix/runtime
sjtuzc954 May 28, 2024
36f02f4
fix: 删除获取容器日志的操作
sjtuzc954 May 28, 2024
dcbdb9a
Merge pull request #43 from GMH233/hotfix/runtime
sjtuzc954 May 28, 2024
a5de601
fix: restart pod
sjtuzc954 May 29, 2024
296fd2d
Merge pull request #44 from GMH233/hotfix/runtime
sjtuzc954 May 29, 2024
a0c9e0a
feat: kubelet join
sjtuzc954 May 31, 2024
4bfd65f
feat: kubelet join with config
sjtuzc954 May 31, 2024
dacbbc0
feat: node affinity policy
sjtuzc954 May 31, 2024
0346a98
feat: Fuck spec changes
sjtuzc954 May 31, 2024
e1a5c8e
feat: 实现基础的pod/service/replicaset/hpa的kubectl增删查
GMH233 May 31, 2024
7704972
feat: finish this branch
sjtuzc954 May 31, 2024
5f0237a
Merge pull request #45 from GMH233/feature/fk-spec-change
sjtuzc954 May 31, 2024
07d6cbd
feat: 实现和virtual service 相关交互的接口+service更好的显示
GMH233 May 31, 2024
3ad3c85
Merge branch 'dev' into feature/kubectl
GMH233 May 31, 2024
3cf05cf
Merge pull request #46 from GMH233/feature/kubectl
GMH233 Jun 1, 2024
f42816d
feat: again finish this branch
sjtuzc954 May 31, 2024
12b5aea
fix: 修复endpoint对应问题与加权随机算法问题
sjtuzc954 May 31, 2024
cd9b28b
feat:录制除dns,hpa,microservice的视频
sjtuzc954 Jun 1, 2024
06387d1
Merge pull request #47 from GMH233/feature/fk-spec-change
sjtuzc954 Jun 1, 2024
222d1ee
feat:尝试增加对virtual-service,subsets,dns的支持
GMH233 Jun 1, 2024
5929e7c
Merge branch 'dev' into feature/kubectl
GMH233 Jun 1, 2024
b9a149b
fix: 多余换行
GMH233 Jun 1, 2024
0b552b0
feat: dns支持+模糊get
GMH233 Jun 1, 2024
c76c05f
feat: kubectl增加对rollingUpdate的支持
GMH233 Jun 1, 2024
cf4e675
Merge pull request #48 from GMH233/feature/kubectl
GMH233 Jun 1, 2024
67c8aaa
feat: dns录制
sjtuzc954 Jun 4, 2024
319c3a1
feat: microservice录制
sjtuzc954 Jun 4, 2024
f811458
Merge pull request #49 from GMH233/feature/fk-spec-change
sjtuzc954 Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Go

on:
push:
branches: [ "main", "dev"]
pull_request:
branches: [ "main", "dev" ]

jobs:

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22.x'

- name: Build
run: go build -v ./...

- name: Test
run: go test -v ./...
Empty file removed cmd/_your_app_/.keep
Empty file.
33 changes: 33 additions & 0 deletions cmd/envoy/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 使用官方的 Golang 镜像作为基础镜像
FROM golang:bullseye AS builder

# 设置工作目录
WORKDIR /app

# 复制源代码到工作目录
COPY . .

WORKDIR /app/cmd/envoy
# 编译 Go 程序
RUN go build -o /envoy

# 使用官方的 Debian 镜像作为基础镜像
FROM debian:bullseye

# 设置工作目录
WORKDIR /app

# 从构建阶段复制编译后的 Go 程序
COPY --from=builder /envoy .

# 创建用户和组,并设置 UID 为 1337
RUN groupadd -g 1337 envoy_proxy_group && useradd -u 1337 -g envoy_proxy_group -m envoy_proxy

# 更改文件所有者为新创建的用户和组
RUN chown -R envoy_proxy:envoy_proxy_group /app

# 切换到非特权用户
USER envoy_proxy

# 设置默认命令
CMD ["/app/envoy"]
14 changes: 14 additions & 0 deletions cmd/envoy/envoy.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package main

import (
"log"
"minikubernetes/pkg/microservice/envoy"
)

func main() {
e, err := envoy.NewEnvoy("10.119.12.123")
if err != nil {
log.Fatalf("Failed to create envoy: %v", err)
}
e.Run()
}
38 changes: 38 additions & 0 deletions cmd/envoyinit/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 使用官方的 Golang 镜像作为基础镜像
FROM golang:bullseye AS builder

# 设置工作目录
WORKDIR /app

# 复制源代码到工作目录
COPY . .

WORKDIR /app/cmd/envoyinit
# 编译 Go 程序
RUN go build -o /envoy-init

# 使用官方的 Debian 镜像作为基础镜像
FROM debian:bullseye

USER root

# 安装 iptables
RUN apt-get update && apt-get install -y iptables && rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 从构建阶段复制编译后的 Go 程序
COPY --from=builder /envoy-init .

## 创建用户和组,并设置 UID 为 1337
#RUN groupadd -g 1337 envoy_proxy_group && useradd -u 1337 -g envoy_proxy_group -m envoy_proxy
#
## 更改文件所有者为新创建的用户和组
#RUN chown -R envoy_proxy:envoy_proxy_group /app
#
## 切换到非特权用户
#USER envoy_proxy

# 设置默认命令
CMD ["/app/envoy-init"]
18 changes: 18 additions & 0 deletions cmd/envoyinit/envoy_init.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package main

import (
"log"
envoyinit "minikubernetes/pkg/microservice/envoy/init"
)

func main() {
e, err := envoyinit.NewEnvoyInit()
if err != nil {
log.Fatalf("Failed to create envoy: %v", err)
}
err = e.Init()
if err != nil {
log.Fatalf("Failed to init envoy: %v", err)
}
log.Println("Envoy init success.")
}
13 changes: 13 additions & 0 deletions cmd/kube-apiserver/apiserver.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package main

import "minikubernetes/pkg/kubeapiserver/app"

/* This is the starting interface of apiserver in main */

func main() {
kubeApiServer, err := app.NewKubeApiServer()
if err != nil {
return
}
kubeApiServer.Run()
}
10 changes: 10 additions & 0 deletions cmd/kube-controller-manager/controllerManager.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package main

import (
"minikubernetes/pkg/controller"
)

func main() {
cm := controller.NewControllerManager("192.168.1.10")
cm.Run()
}
7 changes: 7 additions & 0 deletions cmd/kubectl/kubectl.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package main

import "minikubernetes/pkg/kubectl/cmd"

func main() {
cmd.Execute()
}
18 changes: 18 additions & 0 deletions cmd/kubectl/testyaml/dns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: DNS
metadata:
name: nginx-dns
spec:
rules:
- host: myservice.com
paths:
- path: /service1
backend:
service:
name: nginx-service
port: 801
- path: /service2
backend:
service:
name: nginx-service-2
port: 802
28 changes: 28 additions & 0 deletions cmd/kubectl/testyaml/hpa-cpu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
kind: HorizontalPodAutoscaler
apiVersion: v1
metadata:
name: test-hpa
spec:
scaleTargetRef:
kind: ReplicaSet
name: nginx-replicaset
namespace: default
minReplicas: 1
maxReplicas: 3
scaleWindowSeconds: 20
metrics:
- name: cpu
target:
type: Utilization
averageUtilization: 50
upperThreshold: 80
lowerThreshold: 20
behavior:
scaleUp:
type: Pods
value: 1
periodSeconds: 60
scaleDown:
type: Pods
value: 1
periodSeconds: 60
26 changes: 26 additions & 0 deletions cmd/kubectl/testyaml/hpa-memory.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
kind: HorizontalPodAutoscaler
apiVersion: v1
metadata:
name: test-hpa
spec:
scaleTargetRef:
kind: ReplicaSet
name: nginx-replicaset
namespace: default
minReplicas: 1
maxReplicas: 3
scaleWindowSeconds: 20
metrics:
- name: memory
target:
type: AverageValue
AverageValue: 100
behavior:
scaleUp:
type: Pods
value: 1
periodSeconds: 60
scaleDown:
type: Pods
value: 1
periodSeconds: 60
14 changes: 14 additions & 0 deletions cmd/kubectl/testyaml/pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
kind: Pod
apiVersion: v1
metadata:
name: nginx-pod-1
namespace: default
labels:
app: nginx
spec:
containers:
- name: container
image: python:latest
ports:
- containerPort: 1024
protocol: tcp
23 changes: 23 additions & 0 deletions cmd/kubectl/testyaml/replicaset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
kind: ReplicaSet
apiVersion: v1
metadata:
name: nginx-replicaset
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-pod
namespace: default
labels:
app: nginx
spec:
containers:
- name: container
image: python:latest
ports:
- containerPort: 1024
protocol: tcp
25 changes: 25 additions & 0 deletions cmd/kubectl/testyaml/rolling-update.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: v1
kind: RollingUpdate
metadata:
name: my-ru
spec:
serviceRef: reviews
port: 9080
minimumAlive: 1
interval: 20
newPodSpec:
containers:
- name: reviews
image: istio/examples-bookinfo-reviews-v3:1.19.1
ports:
- containerPort: 9080
protocol: tcp
- name: envoy-proxy
image: sjtuzc/envoy:1.1
securityContext:
runAsUser: 1337
initContainers:
- name: proxy-init
image: sjtuzc/envoy-init:latest
securityContext:
privileged: true
13 changes: 13 additions & 0 deletions cmd/kubectl/testyaml/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
kind: Service
apiVersion: v1
metadata:
name: nginx-service

spec:
type: NodePort
ports:
- port: 801
targetPort: 1024
nodePort: 30081
selector:
app: nginx
9 changes: 9 additions & 0 deletions cmd/kubectl/testyaml/subset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v1
kind: Subset
metadata:
name: nginx-v1
namespace: default
spec:
pods:
- nginx-pod-1
- nginx-pod-2
11 changes: 11 additions & 0 deletions cmd/kubectl/testyaml/virtual-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: VirtualService
metadata:
name: nginx-vs
namespace: default
spec:
serviceRef: nginx-service
port: 802
subsets:
- name: nginx-v1
weight: 1
Loading
Loading