apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Pod 就是 Kubernetes 世界里的“应用”;而一个应用,可以由多个容器组成。
[root@dock01 ~]# docker ps | grep -i nginx
[root@dock01 ~]# kubectl get pods -l app=nginx
No resources found in default namespace.
[root@dock02 ~]# docker ps | grep -i nginx
[root@dock02 ~]# kubectl get pods -l app=nginx
The connection to the server localhost:8080 was refused - did you specify the right host or port?
[root@dock01 ~]# kubectl create -f nginx-deployment.yaml
deployment.apps/nginx-deployment created
[root@dock02 ~]# docker ps | grep -i nginx
1eed4915de2e registry.aliyuncs.com/google_containers/pause:3.2 "/pause" 2 minutes ago Up 2 minutes k8s_POD_nginx-deployment-5d59d67564-nvdgx_default_16c86a50-9c46-4bbc-9d0e-7a0646b6eed8_0
674e221f5d61 registry.aliyuncs.com/google_containers/pause:3.2 "/pause" 2 minutes ago Up 2 minutes k8s_POD_nginx-deployment-5d59d67564-xrzlw_default_8e381ef6-43fd-4f69-afa5-7d818849360e_0
会在docker02上创建容器
kubectl get deployments -n
[root@dock01 ~]# kubectl get pods -l app=nginx
NAME READY STATUS RESTARTS AGE
nginx-deployment-5d59d67564-nvdgx 1/1 Running 0 6m50s
nginx-deployment-5d59d67564-xrzlw 1/1 Running 0 6m50s
此外, 你还可以使用 kubectl describe 命令,查看一个 API 对象的细节,比如:
[root@dock01 ~]# kubectl get pods -l app=nginx
NAME READY STATUS RESTARTS AGE
nginx-deployment-5d59d67564-nvdgx 1/1 Running 0 8m13s
nginx-deployment-5d59d67564-xrzlw 1/1 Running 0 8m13s
[root@dock01 ~]# kubectl describe pod nginx-deployment-5d59d67564-nvdgx
Name: nginx-deployment-5d59d67564-nvdgx
Namespace: default
Priority: 0
Node: dock02/192.168.137.201
Start Time: Thu, 17 Dec 2020 01:48:44 -0500
Labels: app=nginx
pod-template-hash=5d59d67564
Annotations: <none>
Status: Running
IP: 10.32.0.7
IPs:
IP: 10.32.0.7
Controlled By: ReplicaSet/nginx-deployment-5d59d67564
Containers:
nginx:
Container ID: docker://b6bce32dc0aba501c32d698a66c702407ad5e22559346dfc5300168f9f872749
Image: nginx:1.7.9
Image ID: docker-pullable://nginx@sha256:e3456c851a152494c3e4ff5fcc26f240206abac0c9d794affb40e0714846c451
Port: 80/TCP
Host Port: 0/TCP
State: Running
Started: Thu, 17 Dec 2020 01:51:56 -0500
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-tmb7n (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
default-token-tmb7n:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-tmb7n
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 9m6s default-scheduler Successfully assigned default/nginx-deployment-5d59d67564-nvdgx to dock02
Normal Pulling 9m kubelet Pulling image "nginx:1.7.9"
Normal Pulled 5m55s kubelet Successfully pulled image "nginx:1.7.9" in 3m5.352918751s
Normal Created 5m54s kubelet Created container nginx
Normal Started 5m54s kubelet Started container nginx
接下来,如果我们要对这个 Nginx 服务进行升级,把它的镜像版本从 1.7.9 升级为 1.8,要怎么做呢?
...
spec:
containers:
- name: nginx
image: nginx:1.8 #这里被从1.7.9修改为1.8
ports:
- containerPort: 80
[root@dock02 ~]# docker ps | grep -i nginx
b6bce32dc0ab nginx "nginx -g 'daemon of?? 30 minutes ago Up 30 minutes k8s_nginx_nginx-deployment-5d59d67564-nvdgx_default_16c86a50-9c46-4bbc-9d0e-7a0646b6eed8_0
1f3a29186b33 nginx "nginx -g 'daemon of?? 30 minutes ago Up 30 minutes k8s_nginx_nginx-deployment-5d59d67564-xrzlw_default_8e381ef6-43fd-4f69-afa5-7d818849360e_0
我们可以使用 kubectl replace 指令来完成这个更新:
$ kubectl replace -f nginx-deployment.yaml
$ kubectl apply -f nginx-deployment.yaml
# 修改nginx-deployment.yaml的内容
$ kubectl apply -f nginx-deployment.yaml
本文介绍了使用Kubernetes部署Nginx服务的过程,包括编写Deployment配置文件、创建Pod等操作。还展示了查看Pod状态和详细信息的方法。此外,说明了对Nginx服务进行升级,将镜像版本从1.7.9升级为1.8的操作,可使用kubectl replace或apply指令完成更新。
1769

被折叠的 条评论
为什么被折叠?



