Un truco para completar la composición de archivos de lista de recursos YAML
1. Composición del archivo de lista de recursos YAML
1.1 Cómo ver la composición de metadatos de los objetos de recursos
# kubectl explain 关键字
1.2 composición de metadatos del pod
# kubectl explain pod
En TypeMeta
Objeto PodMeta
subspec
1.3 Composición de metadatos del controlador
# kubectl explain deployment
Tipo de controladorMeta
Objeto de implementaciónMeta
Especificaciones de implementación
1.4 Composición de metadatos del servicio
# kubectl explain service
Tipo de servicioMeta
ObjetoMeta
Especificaciones de servicio
2. ¿Cómo crear objetos de recursos a través de archivos de manifiesto de recursos YAML?
2.1 Espacio de nombres
apiVersion: v1
kind: Namespace
metadata:
name: test
2.2 vaina
apiVersion: v1
kind: Pod
metadata:
name: pod1
spec:
containers:
- name: k8sonline1
image: nginx:latest
imagePullPolicy: IfNotPresent
2.3 Implementación
apiVersion: apps/v1
kind: Deployment
metadata:
name: deploy-nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
2.4 Servicio
apiVersion: v1
kind: Service
metadata:
name: deploy-nginx-svc
spec:
type: ClusterIP
ports:
- protocol: TCP
port: 80
targetPort: 80
selector:
app: nginx
3. ¿Cómo administrar completamente el alojamiento de archivos de la lista de recursos YAML?
# wget https://nginx.org/download/nginx-1.23.1.tar.gz
# mkdir nginxdir
# mv nginx-1.23.1.tar.gz nginxdir
# ls nginxdir/
nginx-1.23.1.tar.gz
# cd nginxdir/
# ls
nginx-1.23.1.tar.gz ngx-fancyindex-0.4.3.tar.gz
# tar xf nginx-1.23.1.tar.gz
# tar xf ngx-fancyindex-0.4.3.tar.gz
# ls
nginx-1.23.1 nginx-1.23.1.tar.gz ngx-fancyindex-0.4.3 ngx-fancyindex-0.4.3.tar.gz
# yum -y install gcc pcre-devel zlib-devel openssl-devel
# cd nginx-1.23.1/
# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/root/nginxdir/ngx-fancyindex-0.4.3/
# make && make install
# cat /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
fancyindex on; 添加
fancyindex_exact_size off; 添加
index index;
}
#error_page 404 /404.html;
# /usr/local/nginx/sbin/nginx
# cd /usr/local/nginx/html/
# ls
50x.html index.html
# touch pod.yaml
# ls
50x.html index.html pod.yaml
[root@k8s-master01 ~]# kubectl apply -f http://192.168.10.144/pod.yaml