Kubernetes学习笔记(十四)Pod详解(环境变量env/端口设置)

环境变量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 <string> #端口名称,如果绑定必须保证name在pod中是唯一的
   containerPort <integer> #容器需要监听的端口(0<x<65536)
   hostIP       <string> #要将外部端口绑定到的主机ip,一般不配置
   hostPort     <integer> #容器要在主机绑定的端口,如果设置,主机只能运行一个容器的副本,一般不配置
   protocol     <string> #端口协议,必须是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

相关文章

kubernetes基础知识之secret环境变量

kubernetes secret资源对象可以通过secret.yaml创建出来:apiVersion: v1kind: Secretmetadata:name: mysecretnamespace:...

Nginx后端服务器组的配置(nginx访问后端服务器超时)

Nginx服务器支持设置一组服务器作为后端服务器,在学习Nginx服务器的反向代理、负载均衡等重要功能时会经常涉及后端服务器。服务器组的设置包括几个指令,它们是由标准HTTP模块ngx_http_up...