k8s的ymal文件
YAML 语法格式:
●大小写敏感
●使用缩进表示层级关系
●不支持Tab键制表符缩进,只使用空格缩进
●缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
●符号字符后缩进一个空格,如冒号,逗号,短横杆(-)等
●“---”表示YAML格式,一个文件的开始,用于分隔文件间
●“#”表示注释
查看 api 资源版本标签
kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1 #如果是业务场景一般首选使用 apps/v1
apps/v1beta1 #带有beta字样的代表的是测试版本,不用在生产环境中
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1
案列1
vim nginx-deployment.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.15.4ports:- containerPort: 80# 运行
kubectl create -f nginx-deployment.yaml
运行结果如下
案列2
vim nginx-service.ymal
apiVersion: v1
kind: Service
metadata:name: nginx-servicelabels:app: nginx
spec:type: NodePortports:- port: 80targetPort: 80selector:app: nginx# 启动
kubectl create -f nginx-service.ymal
获取服务信息
kubectl get svc
//在浏览器输入 nodeIP:nodePort 即可访问
http://192.168.10.150:31606
http://192.168.10.160:31606
案列3
vim nginx-test.yaml apiVersion: v1
kind: Pod
metadata:labels:run: nginx-testname: nginx-test
spec:containers:- image: nginxname: nginx-testports:- containerPort: 80# 启动
kubectl apply -f nginx-test.yaml
查看节点
kubectl describe pod nginx-test
进入该容器
kubectl exec -it nginx-test -- /bin/bash
绑定所有接口
# 所有地址访问
kubectl port-forward nginx-test 8080:80 --address 0.0.0.0# 特定地址访问
kubectl port-forward nginx-test 8080:80 --address 192.168.10.100
主机地址访问
待续...............