环境变量env
创建pod-env.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-command
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1.
- name: busybox
images: busybox:1.30
command: ["/bin/sh","-c","touch /tmp/hello.txt;while true;do /bin/echo $(date +%T) >> /tmp/hello.txt;sleep 3;done;"]
env: #设置环境变量列表
- name: "username"
value: "admin"
- name: "password"
value: "123456"
env用户在pod中的容器设置环境变量
#创建pod
kubectl create -f pod-env.yaml
#进入容器,输出环境变量
[root@master ~]# kubectl exec pod-command -n dev -it -c busybox /bin/sh
/ # echo $username
admin
/ # echo $password
123456
这种配置环境变量的方式不是很推荐,推荐将这些配置独立存储在配置文件中,这种方式将在后面介绍。
端口设置
本小节介绍容器的端口暴露,也就是container的pors选项
首先看一下ports支持的子选项
[root@master ~]# kubectl explain pod.spec.containers.ports
KIND: Pod
VERSION: v1
RESOURCE: ports <[]object>
DESCRIPTION:
FIELDS:
name #端口名称,如果绑定必须保证name在pod中是唯一的
containerPort #容器需要监听的端口(0<x<65536)
hostIP #要将外部端口绑定到的主机ip,一般不配置
hostPort #容器要在主机绑定的端口,如果设置,主机只能运行一个容器的副本,一般不配置
protocol #端口协议,必须是UPD,TCP或SCTP,默认tcp
编写案例,创建pod-ports.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-command
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1.
ports:
- name: nginx-port
containerPort: 80
protocol: TCP
#创建pod
kubectl create -f pod-ports.yaml
#查看pod
kubectl get pod pod-ports -n dev -o yaml
访问容器中的程序需要使用的是podIp:containerPort
注意:非原创,是跟着黑马视频学习一个字一个字敲出来的笔记
视频地址:
https://www.bilibili.com/video/BV1xX4y1K7nb?p=2