【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档
K8S-网络模型、POD/RC/SVC YAML 语法官方文档
- Kubernetes - Production-Grade Container Orchestrationkubernetes/kubernetes: Production-Grade Container Scheduling and ManagementPosts containing 'yaml' - Stack Overflowhow to pass a configuration file thought yaml on kubernetes to create new replication controller - Stack OverflowHow to expose a Kubernetes service externally using NodePort - Stack OverflowYaml templates in Kubernetes - Stack OverflowKubernetes - Production-Grade Container Orchestrationkubernetes/examples at master · kubernetes/kubernetesKubernetes用户指南(二)--部署组合型的应用、连接应用到网络中 - 小黑 - 博客频道 - CSDN.NET
kind: ReplicationController
metadata:
name: my-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
replicationcontrollers/my-nginx
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
my-nginx nginx nginx app=nginx 2
NAME READY STATUS RESTARTS AGE
my-nginx-065jq 1/1 Running 0 51s
my-nginx-buaiq 1/1 Running 0 51s
replicationcontrollers/my-nginx
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS APP
my-nginx nginx nginx app=nginx 2 nginx
apiVersion: v1
kind: ReplicationController
metadata:
name: my-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
$ kubectl get pods -l app=nginx -o wide
my-nginx-6isf4 1/1 Running 0 2h e2e-test-beeps-minion-93ly
my-nginx-t26zt 1/1 Running 0 2h e2e-test-beeps-minion-93ly
"podIP": "10.245.0.15",
apiVersion: v1
kind: Service
metadata:
name: nginxsvc
labels:
app: nginx
spec:
ports:
- port: 80
protocol: TCP
selector:
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
kubernetes 10.179.240.1 <none> 443/TCP <none> 8d
Name: nginxsvc
Namespace: default
Labels: app=nginx
Selector: app=nginx
Type: ClusterIP
IP: 10.0.116.146
Port: <unnamed> 80/TCP
Endpoints: 10.245.0.14:80,10.245.0.15:80
Session Affinity: None
No events.
NAME ENDPOINTS
KUBERNETES_SERVICE_HOST=10.0.0.1
$ kubectl get pods -l app=nginx -o wide
NAME READY STATUS RESTARTS AGE NODE
my-nginx-5j8ok 1/1 Running 0 2m node1
my-nginx-90vaf 1/1 Running 0 2m node2
$ kubectl exec my-nginx-5j8ok -- printenv | grep SERVICE
KUBERNETES_SERVICE_PORT=443
NGINXSVC_SERVICE_HOST=10.0.116.146
KUBERNETES_SERVICE_HOST=10.0.0.1
NGINXSVC_SERVICE_PORT=80
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
kube-dns 10.179.240.10 <none> 53/UDP,53/TCP k8s-app=kube-dns 8d
apiVersion: v1
kind: Pod
metadata:
name: curlpod
spec:
containers:
- image: radial/busyboxplus:curl
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: curlcontainer
restartPolicy: Always
default/curlpod
$ kubectl get pods curlpod
NAME READY STATUS RESTARTS AGE
curlpod 1/1 Running 0 18s
$ kubectl exec curlpod -- nslookup nginxsvc
Server: 10.0.0.10
Address 1: 10.0.0.10
Name: nginxsvc
Address 1: 10.0.116.146
- HTTPS自签名证书(或者你已经有了一个证书)
- 一个nginx服务配置好了使用这个证书
- 一个加密措施使得证书在Pod之间交流使用
$ kubectl create -f /tmp/secret.json
secrets/nginxsecret
$ kubectl get secrets
NAME TYPE DATA
default-token-il9rc kubernetes.io/service-account-token 1
nginxsecret Opaque 2
apiVersion: v1
kind: Service
metadata:
name: nginxsvc
labels:
app: nginx
spec:
type: NodePort
ports:
- port: 8080
targetPort: 80
protocol: TCP
name: http
- port: 443
protocol: TCP
name: https
selector:
app: nginx
---
apiVersion: v1
kind: ReplicationController
metadata:
name: my-nginx
spec:
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
volumes:
- name: secret-volume
secret:
secretName: nginxsecret
containers:
- name: nginxhttps
image: bprashanth/nginxhttps:1.0
ports:
- containerPort: 443
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/ssl
name: secret-volume
- 其包括了RC和SVC的定义在同一个文件中
- nginx服务的HTTP通过80端口,HTTPS通过443端口
- 每个容器都通过挂载在/etc/nginx/ssl卷中的keys来连接。这步是在nginx服务启动之前完成的
replicationcontrollers/my-nginx
services/nginxsvc
services/nginxsvc
"podIP": "10.1.0.80",
node $ curl -k https://10.1.0.80
...
vapiVersion: v1
kind: ReplicationController
metadata:
name: curlrc
spec:
replicas: 1
template:
metadata:
labels:
app: curlpod
spec:
volumes:
- name: secret-volume
secret:
secretName: nginxsecret
containers:
- name: curlpod
command:
- sh
- -c
- while true; do sleep 1; done
image: radial/busyboxplus:curl
volumeMounts:
- mountPath: /etc/nginx/ssl
name: secret-volume
$ kubectl create -f ./curlpod.yaml
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
curlpod 1/1 Running 0 2m
my-nginx-7006w 1/1 Running 0 24m
$ kubectl exec curlpod -- curl https://nginxsvc --cacert /etc/nginx/ssl/nginx.crt
...
<title>Welcome to nginx!</title>
...
{
"name": "http",
"protocol": "TCP",
"port": 80,
"targetPort": 80,
"nodePort": 32188
},
{
"name": "https",
"protocol": "TCP",
"port": 443,
"targetPort": 443,
"nodePort": 30645
}
$ kubectl get nodes -o json | grep ExternalIP -C 2
{
"type": "ExternalIP",
"address": "104.197.63.17"
}
--
},
{
"type": "ExternalIP",
"address": "104.154.89.170"
}
$ curl https://104.197.63.17:30645 -k
...
<h1>Welcome to nginx!</h1>
$ kubectl create -f ./nginx-app.yaml
$ kubectl get svc nginxsvc
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
nginxsvc 10.179.252.126 162.222.184.144 80/TCP,81/TCP,82/TCP run=nginx2 13m
$ curl https://162.22.184.144 -k
...
<title>Welcome to nginx!</title>
转载于:https://www.cnblogs.com/junneyang/p/6274689.html
【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档相关推荐
- K8S-网络模型、POD/RC/SVC YAML 语法官方文档
2019独角兽企业重金招聘Python工程师标准>>> K8S-网络模型.POD/RC/SVC YAML 语法官方文档 博客分类: Kubernetes K8S-网络模型.POD/R ...
- oracle语法官方文档,Oracle官方文档必备语法知识
很多Oracle DBA虽然接触Oracle时间很长,但是一旦想不起语法或找不出相应参数时,习惯百度或谷歌.虽然已经下载了官方文档,但是 Oracle官方文档必备语法知识 [日期:2015-04-21 ...
- k8s多master建议用几个_Kubernetes 教程之跟着官方文档从零搭建 K8S
前言 本文将带领读者一起, 参照者 Kubernetes 官方文档, 对其安装部署进行讲解. Kubernetes 更新迭代很快, 书上.网上等教程可能并不能适用于新版本, 但官方文档能. 阅读这篇文 ...
- Kubernetes教程之跟着官方文档从零搭建K8S
本文将带领读者一起, 参照着 Kubernetes 官方文档,对其安装部署进行讲解.Kubernetes更新迭代很快,书上.网上等教程可能并不能适用于新版本,但官方文可以. Kubernetes 教程 ...
- 【kubernetes/k8s概念】Kubernetes1.12从零开始(初):课程介绍与官方文档汇总
说明 资料和交流方式 Kubernetes的文档介绍 Kubernetes中的术语与资源的操作方法 Kubernetes的API约定与启用方法 Kubernetes中资源(Object)的定义 kub ...
- Sklearn官方文档中文整理10——等式回归和神经网络模型(有监督)篇
Sklearn官方文档中文整理10--等式回归和神经网络模型(有监督)篇 1. 监督学习 1.15. 等式回归[isotonic.IsotonicRegression] 1.17. 神经网络模型(有监 ...
- SpringBoot-08模板引擎 Thymeleaf 找源码官方文档使用 语法的学习
Thymeleaf 模板引擎 前端交给我们的页面,是html页面.如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的 ...
- 11 Themeleaf语法介绍 解读Themeleaf官方文档
Themeleaf语法介绍 第一个入门程序 代码如下 入门程序存在的坑 [1]spring boot1.x中themeleaf中存在缓存,需要关闭 [2]themeleaf官方文档开头就讲的是国际化的 ...
- 19.k8s官方文档
kubectl get - list resources kubectl describe - show detailed information about a resource kubectl l ...
- Cassandra 3.x官方文档_cassandra.yaml配置文件
cassandra.yaml是Cassandra的主要配置文件 重要: 修改完cassandra.yaml文件配置以后,你必须重启节点使他生效.它位于下面的目录中: • Cassandra packa ...
最新文章
- java弱引用弱点_终于有人把Java强、软、弱、虚四种引用知识点整理出来了
- Python读入CIFAR-10数据库
- jquery 根据class名 赋值_jQuery简单用法!!!
- php pdo预处理查询,关于php:从PDO预处理语句中获取原始SQL查询字符串
- 信息学奥赛一本通C++语言——1052:计算邮资
- 实用typescript_从今天开始,拿起 TypeScript 做一个轮子的制造者
- 交换机名词解释、配置常用命令
- 博文视点官方blog正式开张~~~~~~~~~
- Java开发之@PostConstruct和@PreDestroy注解
- 【转】用Terracotta实现Master-Worker
- Linux 中断详解
- 用ajax请求豆瓣api,结合豆瓣Api v2.0实现Jsonp跨域
- origin 修改部分拟合好的曲线
- 计算力学——有限元编程实现
- Lisp编制的坡度标注_形位公差自动标注的ATUOLISP程序设计(Ⅰ)
- ESP32音频框架 ESP-ADF 添加按键外设流程代码跟踪
- Linux 中的rsh,ssh
- 移动通信网络中的无线电通讯原理
- 《疯狂Java讲义》读书笔记(七):Swing编程
- 单例模式java概括_单例模式中总有几个歪门邪道的问题要知道!
热门文章
- Android之HandlerThread
- 汇编---3---物理地址
- mysql database backup use python scripts
- 数据库开发工程中,一些不常遇到的难题
- http://blog.csdn.net/evankaka/article/details/45155047
- JAVA HttpURLConnection 获取网页内容
- Mac 更改Apache文件系统目录
- 现在该去外企吗?入职微软三个月的我告诉你!
- Mysql 的优化方式,都给你整理好了(附思维导图)
- 编写Linux Shell脚本的最佳实践