五个一级字段
apiVersion:api的版本信息(每个版本可能不同)
kind:资源类别
metadata:资源元数据
spec:资源的期望运行的状态
status:当前的状态
[root@master ~]# cat nginx.yaml
```bash
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2(运行数量)
template:(模板)
metadata:(元数据)
labels:(标签,关联)
app: web_server(服务名)
spec:
containers:(容器)
name: nginx(容器名称)
image: nginx:1.15(镜像)
运行:kubectl apply -f nginx.yaml
kubectl create -f nginx.yaml
用label来控制pod的位置
给节点打标签:kubectl label nodes node01 disktype=ssd
取消标签:kubectl label nodes node01 disktype-
查看:kubectl get nodes --show-labels
删除:kubectl delete -f nginx.yaml
登录pod的shell:kubectl exec -it nginx-deployment-d6ff6c799-q2q4l /bin/bash
排错:
tailf /var/log/messages
查看某一pod的日志:
kubectl logs nginx-deployment-d6ff6c799-q2q4l
docker私有仓库:
docker pull registry
docker run --restart=always -d -p 5000:5000 registry:2
修改配置文件
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.52.10:5000
重载配置,重启服务
systemctl daemon-reload
systemctl restart docker
查看k8s状态:
kubectl get nodes
systemctl restart kubelet.service
kubectl get nodes
测试:
docker pull nginx
改名:docker tag nginx:latest 192.168.52.10:5000/nginx:v1.0
查看:
上传:docker push 192.168.52.10:5000/nginx:v1.0
在其他节点修改配置文件:
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.52.10:5000
测试:
编写使用私有仓库的yaml文件:
[root@master ~]# cat nginx.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 5
template:
metadata:
labels:
run: nginx
spec:
containers:
- name: nginx
image: 192.168.52.10:5000/nginx:v1.0
ports:
- containerPort: 80