当前位置:首页 > 技术文章 > 正文内容

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

arlanguage3个月前 (01-31)技术文章22

环境变量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

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1468.html

分享给朋友:

“Kubernetes学习笔记(十四)Pod详解(环境变量env/端口设置)” 的相关文章

nginx知识梳理及配置详解

nginx安装#nginx安装 yum -y install gcc pcre-devel openssl-devel #依赖包 useradd -s /sbin/nologin nginx ./configure --prefix=/usr/local/nginx #...

网页上出现503 Service Unavailable Error应该如何处理?

本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:zcwyou.com1. 前言在浏览网页时,最常见的错误之一是“503 Service Unavaila...

宝塔面板——永久免费的服务器运维面板

宝塔面板是什么?宝塔面板,简单好用的服务器运维面板。官称永久免费。Linux版请确保纯净系统安装(支持CentOS、Ubuntu、Debian、Fedora、deepin),Web端管理,一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMP与LAM...

一起学习Kubernetes:容器和镜像

简述容器每个运行的容器都是可重复的;包含依赖环境在内的标准,意味着无论你在哪里运行它都会得到相同的行为。容器将应用程序从底层的主机设施中解耦。 这使得在不同的云或 OS 环境中部署更加容易。Kubernetes 集群中的每个节点都会运行容器,这些容器构成分配给该节点的 Pod。 单个 Pod 中的容...

Linux—shell中$(( ))、$( )、` `与$「 」的详解

命令替换在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。[root@localhost ~]# echo Tom > tom.txt [root@localhost ~...

nginx-UrlRewrite 实现URL重写转发

URL重写在前后端分离的开发模式中,会遇到这样一个需求:前端通过特定路由前缀来访问后端接口,例如:http://localhost/api/getUser,这里 api 即是每一个前端 request 所多加的前缀。nginx 需要把http://localhost/api/getUser 转换成后...