- 博客(23)
- 收藏
- 关注
原创 docker file使用指南
白话容器基础(四):重新认识Docker容器# 使用官方提供的Python开发镜像作为基础镜像FROM python:2.7-slim# 将工作目录切换为/appWORKDIR /app# 将当前目录下的所有内容复制到/app下ADD . /app# 使用pip命令安装这个应用所需要的依赖RUN pip install --trusted-host pypi.python.org -r requirements.txt# 允许外界访问容器的80端口EXPOSE 80# .
2021-02-28 21:22:49 109
原创 如何让kind: StatefulSet创建的pod轮询起来
[root@dock01 ~]# cat t007.yamlapiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None selector: app: nginx [root@dock01 ~]# cat t008.yamlapiVersion: apps...
2021-02-25 11:35:56 331
原创 浅谈容器网络
浅谈容器网络:需要指出的是,作为一个容器,它可以声明直接使用宿主机的网络栈(–net=host),即:不开启 Network Namespace,比如:docker run -d -net=host --name nginx-host nginxdocker run -d --network=host --name nginx-host 192.168.137.102:5000/centos_tomcat_v7dock03:/root#docker run -d --network=ho
2021-02-23 18:41:23 169
原创 这就说明,像 Kubernetes 这样构建出来的、基于本地存储的 Volume,完全可以提供容器持久化存储的功能。 所以,像 StatefulSet 这样的有状态编排工具,也完全可以通过声明 Lo
29 PV、PVC体系是不是多此一举?从本地持久化卷谈起# 在node-1上执行mkdir /mnt/disksfor vol in vol1 vol2 vol3; do mkdir /mnt/disks/$vol mount -t tmpfs $vol /mnt/disks/$voldone[root@dock02 ~]# df | grep mntvol1 938812 0 938812 0% /m...
2021-02-21 22:45:22 185
原创 pvc 绑定pv
pvc 绑定pv:[root@dock01 ~]# kubectl describe pv pv02Name: pv02Labels: name=pv02Annotations: pv.kubernetes.io/bound-by-controller: yesFinalizers: [kubernetes.io/pv-protection]StorageClass: Status: BoundClaim...
2021-02-20 11:16:47 209
原创 显然,我们前面使用的 hostPath 和 emptyDir 类型的 Volume 并不具备这个特征:它们既有可能被 kubelet 清理掉,也不能被“迁移”到其他节点上。
显然,我们前面使用的 hostPath 和 emptyDir 类型的 Volume 并不具备这个特征:它们既有可能被 kubelet 清理掉,也不能被“迁移”到其他节点上。[root@dock02 ~]# ls -ltr / | grep datadrwxr-xr-x 2 root root 6 Feb 19 21:28 data01drwxr-xr-x 2 root root 6 Feb 19 22:20 datadrwxr-xr-x 2 root root ...
2021-02-20 10:39:56 81
原创 kubernetes path: /data_zjzc 自动在对应主机上创建目录
[root@dock01 ~]# cat pod.yamlapiVersion: v1kind: Podmetadata: name: test-containersspec: restartPolicy: Never volumes: - name: shared-data hostPath: path: /data_zjzc containers: - name: nginx-container image: nginx ...
2021-02-19 22:30:39 236
原创 pvc绑定pv
[root@dock01 ~]# kubectl get pvcNAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGEmypvc Bound pv02 5Gi RWO,RWX 26mnfs Pending manual ...
2021-02-19 22:08:16 177 1
原创 PV->PVC->Pod
创建PV:apiVersion: v1kind: PersistentVolumemetadata: name: pv02 labels: name: pv02spec: nfs: path: /data01 server: 172.17.1.36 accessModes: ["ReadWriteOnce","ReadWriteMany"] capacity: storage: 5Gi[root@dock01 ~]# kubectl ap...
2021-02-19 21:51:53 362 2
原创 使用PVC
apiVersion: v1kind: Podmetadata: labels: role: web-frontendspec: containers: - name: web image: nginx ports: - name: web containerPort: 80 volumeMounts: - name: nfs mountPath: "/usr/share/nginx/html...
2021-02-19 20:41:49 131
原创 Headless Service 使用域名访问pod
Headless ServiceapiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginxspec: ports: - port: 80 name: web clusterIP: None selector: app: nginx kubectl create -f svc.yaml kubectl create -f statefulse...
2021-02-16 20:02:52 1634
原创 Secret 最典型的使用场景,莫过于存放数据库的 Credential 信息,比如下面这个例子:
Secret 最典型的使用场景,莫过于存放数据库的 Credential 信息,比如下面这个例子:apiVersion: v1kind: Podmetadata: name: test-projected-volumespec: containers: - name: test-secret-volume image: busybox args: - sleep - "86400" volumeMounts: - name: mysql...
2021-02-09 20:47:25 176 1
原创 Pod 里的容器要共享 PID Namespace
这就意味着这个 Pod 里的容器要共享 PID Namespace。apiVersion: v1kind: Podmetadata: name: nginxspec: shareProcessNamespace: true containers: - name: nginx image: nginx - name: shell image: busybox stdin: true tty: true [root@dock01...
2021-02-06 20:25:37 363
原创 HostAliases:定义了 Pod 的 hosts 文件
Pod 扮演的是传统部署环境里“虚拟机”的角色。这样的设计,是为了使用户从传统环境(虚拟机环境)向 Kubernetes(容器环境)的迁移,更加平滑。HostAliases:定义了 Pod 的 hosts 文件(比如 /etc/hosts)里的内容,用法如下:apiVersion: v1kind: Pod...spec: hostAliases: - ip: "10.1.2.3" hostnames: - "foo.remote" - "bar.remote"...
2021-02-06 20:15:51 639
原创 一个pod内容器共享namespace
[root@dock01 ~]# cat tomcat.yamlapiVersion: v1kind: Podmetadata: name: javaweb-20210118spec: containers: - name: tomcat1-20210118 image: 192.168.137.102:5000/centos_tomcat_v7 command: ["/bin/sh","-c","sleep 3600"] volumeMounts: -...
2021-02-06 13:42:19 176
原创 pod编排容器
第一个最典型的例子是:WAR 包与 Web 服务器。实际上,有了 Pod 之后,这样的问题就很容易解决了。我们可以把 WAR 包和 Tomcat 分别做成镜像,然后把它们作为一个 Pod 里的两个容器“组合”在一起。这个 Pod 的配置文件如下所示:[root@dock01 ~]# cat webapp.yamlapiVersion: v1kind: Podmetadata: name: javaweb-20210206spec: initContainers: - ima...
2021-02-06 11:18:08 229
原创 Pod,其实是一组共享了某些资源的容器
首先,关于 Pod 最重要的一个事实是:它只是一个逻辑概念。pod内的容器资源共享那么,Pod 又是怎么被“创建”出来的呢?答案是:Pod,其实是一组共享了某些资源的容器。具体的说:Pod 里的所有容器,共享的是同一个 Network Namespace,并且可以声明共享同一个 Volume。...
2021-02-06 10:51:15 498
原创 Kubernetes 进行容器编排的重要模式
在 Kubernetes 中,我们经常会看到它通过一种 API 对象来管理另一种 API 对象,比如 Deployment 和 Pod 之间的关系;而由于 Pod 是“最小”的对象,所以它往往都是被其他对象控制的。这种组合方式,正是 Kubernetes 进行容器编排的重要模式。...
2021-02-05 23:30:03 106 1
原创 kubernetes kind类型之Deployment
Deployment 扮演的正是 Pod 的控制器的角色。 apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containe...
2021-02-05 22:33:06 1558
原创 kubenetets kind类型之pod
apiVersion: v1kind: Podmetadata: name: two-containersspec: restartPolicy: Never volumes: - name: shared-data hostPath: path: /data containers: - name: nginx-container image: nginx volumeMounts: - name: shared-data...
2021-02-05 22:19:01 683
原创 PVC PV
apiVersion: apps/v1kind: StatefulSetmetadata: name: webspec: serviceName: "nginx" replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx...
2021-02-04 10:26:29 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人