1. 查看机器节点
# kubectl get node
2. 用命令启动一个nginx
#kubectl run my-nginx --image=nginx --replicas=2 --port=80
3. 暴露服务
# kubectl expose deployment my-nginx --port=8080 --target-port=80 --external-ip=x.x.x.168
参数说明
--port 容器的端口
--container-port和target-port是一个意思,指的是宿主机转发的端口,可以随意指定一个,也可以不指定
--external-ip 对外暴露的ip地址,一般用公网IP地址,执行那个命令过后,我们就可以在公网上访问了,但是这里有个问题就是这个IP地址必须是安装了k8s的机器的IP,如果你随便用一个IP是不能访问的,这里也给应用上造成了不便
--type=LoadBalancer
4. 查看pod
# kubectl get po
5. 查看service
# kubectl get svc
# kubectl get service my-nginx
6. 删除
# kubectl delete deployment,service my-nginx
7. 查看子网
通过etcdctl查看node机器的子网分配情况
# etcdctl ls -r |grep subnets
# etcdctl get /coreos.com/network/subnets/10.0.101.0-24
8. 查询pod明细
# kubectl describe po my-nginx-2494149703-2m6sc
初次创建要下载镜像,可能等待的时间比较长
Pod分配到了kube-node-1,容器的ip:10.0.64.2
那么我们在kube-node-1上,测试nginx是否正常启动
# curl http://10.0.64.2
至此,nginx已成功启动
9. 查看service明细
#kubectl describe service/my-nginx
10.254.242.11是Service的虚拟IP地址,对该虚拟地址的8080端口访问会被重定向到两个 Endpoints中的一个;这两个Endpoints就是上面创建的两个Pods.
Kubernetes中的Service使用了虚拟ip地址;该地址无法ping通过,但访问8080端口时,可以访问到对应的资源
# curl http://10.254.242.11:8080
10. 查看iptables的规则
# iptables-save | grep default/my-nginx
访问10.254.242.11/32 8080端口的请求会被重定向到10.0.64.2/32或10.0.101.2/32的80端口。这些规则是由kube-proxy生成;如果需要某台机器可以访问Service,则需要在该主机启动kube-proxy
11. 用文件启动一个nginx
编辑nginx-pod.yaml
# cat nginx-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
labels:
app: nginx-test
spec:
containers:
- name: nginx-test
image: nginx
ports:
- containerPort: 80
#kubectl create -f nginx-pod.yaml
12. 用文件配置一个Service
# cat nginx_svc.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-test
labels:
app: nginx-test
spec:
selector:
run: nginx-test
ports:
protocol: TCP
port: 8080
targetPort: 80
# kubectl create -f nginx_svc.yaml
参考:
http://kubernetes.io/docs/user-guide/quick-start/
- 大小: 5.2 KB
- 大小: 4.3 KB
- 大小: 4.3 KB
- 大小: 7.2 KB
- 大小: 7.5 KB
- 大小: 6.1 KB
- 大小: 3.8 KB
- 大小: 16.3 KB
- 大小: 56.3 KB
- 大小: 25.3 KB
- 大小: 10.9 KB
- 大小: 22.7 KB
- 大小: 29.9 KB
分享到:
相关推荐
│ 04-kubernetes应用快速入门.mp4 │ 05-kubernetes资源清单定义入门.mp4 │ 06-Kubernetes Pod控制器应用进阶.mp4 │ 07-Kubernetes Pod控制器应用进阶.mp4 │ 08-Kubernetes Pod控制器.mp4 │ 09-Kubernetes Pod...
然后创建一个Prometheus实例并安装Prometheus Metric适配器。 使用这些工具后,提供的Helm图表将安装我们的演示应用程序以及支持的监视组件,例如Prometheus的ServiceMonitor ,Horizontal
antmanler/rethinkdb 将使用 kubernetes_ro 服务提供的端点发现对等点,因此首先创建一个服务,以便以下 pod 可以查询其端点 $kubectl create -f driver-service.yaml 查看: $kubectl get se NAME LAB
一组快速入门示例,这些示例演示了iOS上的Firebase API。 每个样本都包含Objective-C和Swift的目标。 有关更多信息,请参阅 。 样品 您可以将以下每个示例作为Xcode项目打开,然后在移动设备或模拟器上运行它们。 只...
新建一个httpd资源库文件夹 35 11.9.6. 修改本地源地址 35 11.10. Ambari-server端安装部署(server机器操作) 36 11.10.1. 安装Ambari-server 36 11.10.2. 配置Ambari-server 36 11.10.3. 查看并启动Ambari-server...
【容器系统】之⼤数据容器化-基于Kubernetes构建现代⼤数据系统 Apache Spark 在⼤数据...helm install incubator/sparkoperator --namespace spark-operator 创建服务⽤户及绑定权限 $ kubectl create serviceaccount
您将快速了解Kubernetes如何与容器一起工作,并概述Kubernetes的主要功能,例如Pod,Deployments,Service等。 您将能够使用适当的身份验证和授权策略创建Kubernetes集群并在Kubernetes上运行应用程序。 借助现实...
K9s 是一个基于终端的 UI,用于与您的 Kubernetes 集群进行交互。 该项目的目的是使导航、观察和管理您部署的应用程序变得更加容易。 K9s 会持续观察 Kubernetes 的变化,并提供后续命令来与您观察到的资源进行交互...
macOS Pusher App允许您通过APNS(Apple Push Notification Service)发送推送通知,并在设备上接收它们。 它还可以从同一wifi网络上的任何iPhone获取设备令牌。 注意:此应用是由SSED SDK团队内部使用而创建的。 ...
滚动更新Postgres集群更改,包括次要版本快速更新 无需重新启动Pod即可调整实时卷大小(AWS EBS,PVC) 具有PGBouncer的数据库连接池 还原和克隆Postgres集群(包括主要版本升级) 此外,可以配置到S3存储桶的逻辑...