k8s怎样部署属于自己的环境服务
在k8s中创建属于自己的命名空间,然后在此命名空间发布pod及对外发布service
·
简介:
- Pod: k8s最小单位
- Service: Pod每次动态创建后,自动分配ip会不同,所以引入了service(即服务的注册与发现)
- namespace: 命名空间,主要用于隔离
部署步骤
- 创建namespace nginx-namespace.yaml
apiVersion: v1 #类型为Namespace
kind: Namespace #类型为Namespace
metadata:
name: ns-test #命名空间名称
labels:
name: label-test #pod标签
执行
#创建
kubectl create -f nginx-namespace.yaml
#查询
kubectl get namespace
- 创建pod,一般不直接create pod,而是通过controller来创建pod。deployment为其中一种controller
nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: ns-test
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
执行
#创建
kubectl create -f nginx-deployment.yaml
#查询
kubectl get deployment -n ns-test
#或
kubectl get pods -n ns-test
kubectl get pods -o wide -n ns-test
kubectl get deploy nginx-deployment -n ns-test
- 创建Service nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
namespace: ns-test
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
执行(其中svc就是service的简写)
kubectl create -f nginx-service.yaml
kubectl get svc nginx-service -o wide -n ns-test
更多推荐
已为社区贡献3条内容
所有评论(0)