k8s的yml编写

命令

服务器鉴权 [把公司镜像服务地址+账号+密码绑定到 k8s]

1
kubectl create secret docker-registry lsbb-reg --docker-server=registry.cn-beijing.aliyuncs.com --docker-username=[$Username] --docker-password=[$Password] --docker-email=[$Email]

ssl 证书

1
kubectl create secret tls 【自定义名称】 --key 【证书key】 --cert 【证书pem】 【namespace

常用命令

1
2
3
kubectl get pod
kubectl exec -it pod名字 sh
kubectl apply -f deployment.yml

pod 扩展数量

1
kubectl scale deployment pod名称 --replicas=100

yml 更新

1
kubectl create -f deployment.yml --dry-run=client -o yaml |kubectl apply  -f -

启动 pod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-release
namespace: release
spec:
replicas: 1 # 启动几个pod
selector:
matchLabels:
app: app-release
template:
metadata:
labels:
app: app-release # pod的名称 对应Service 下面app-name
spec:
containers:
- name: app-release
image: nginx //容器的路径+版本 docker pull nginx:1.1 或者 某个容器库
imagePullPolicy: "Always"
ports:
- containerPort: 80

Service 对外暴露 配置

1
2
3
4
5
6
7
8
9
10
11
12
apiVersion: v1
kind: Service
metadata:
name: app-release
namespace: release
spec:
selector:
app: app-release # 对应的app-name
ports:
- protocol: TCP
port: 80
targetPort: 80 # 容器的端口

Ingress 网络配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-release
namespace: release
spec:
rules:
- host: www.baidu.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-release # Service下面 metadata->name
port:
number: 80 # Service下面 metadata->port
tls:
- hosts:
- www.baidu.com
secretName: app-release

k8s的yml编写
https://code-lives.github.io/2023/05/04/k8s-yml/
作者
Li Jie
发布于
2023年5月4日
许可协议