[k8s]通过svc来访问集群podhttp://api:8080/api/v1/namespaces/default/services/mynginx/proxy/

通过http://api:8080/api/v1/namespaces/default/services/mynginx/proxy/

通过svc访问集群报错

我想通过类似这种模式来访问我的集群

http://192.168.14.11:8080/api/v1/namespaces/default/services/mynginx/proxy/
http://192.168.14.11:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/

本来应该是这样子

结果报错了

Error: 'dial tcp 10.2.60.3:80: getsockopt: connection refused'
Trying to reach: 'http://10.2.60.3:80/'

master节点为何要跑flannel?

最终查明,本质原因在于master没跑flannel,master跑了flannel后就可以了.
master和pod通信是通过svc网络的.

集群环境(1.9)on the fly搭建

参考: https://raw.githubusercontent.com/lannyMa/scripts/master/k8s/
http://www.cnblogs.com/iiiiher/p/8159693.html

mkdir -p /kubernetes/network/config/
cat > /kubernetes/network/config/flannel-config.json << EOF
{
 "Network": "10.2.0.0/16",
 "SubnetLen": 24,
 "Backend": {
   "Type": "host-gw"
  }
}
EOF

##################################
etcd --advertise-client-urls=http://0.0.0.0:2379 --listen-client-urls=http://0.0.0.0:2379 --debug
cd /kubernetes/network/config
etcdctl set /kubernetes/network/config < flannel-config.json

flanneld -etcd-endpoints=http://192.168.14.11:2379 -iface=eth0 -etcd-prefix=/kubernetes/network

systemctl stop docker
dockerd --bip=10.2.60.1/24 --mtu=1500

##################################

kube-apiserver --service-cluster-ip-range=10.254.0.0/16 --etcd-servers=http://127.0.0.1:2379 --insecure-bind-address=0.0.0.0 --admission-control=ServiceAccount     --service-account-key-file=/root/ssl/ca.key --client-ca-file=/root/ssl/ca.crt --tls-cert-file=/root/ssl/server.crt --tls-private-key-file=/root/ssl/server.key --allow-privileged=true --storage-backend=etcd2 --v=2 --enable-bootstrap-token-auth --token-auth-file=/root/token.csv

kube-controller-manager   --master=http://127.0.0.1:8080   --service-account-private-key-file=/root/ssl/ca.key  --cluster-signing-cert-file=/root/ssl/ca.crt --cluster-signing-key-file=/root/ssl/ca.key --root-ca-file=/root/ssl/ca.crt --v=2  --allocate-node-cidrs=true --cluster-cidr=10.244.0.0/16

kube-scheduler --master=http://127.0.0.1:8080 --v=2 

kubelet --allow-privileged=true --cluster-dns=10.254.0.2 --cluster-domain=cluster.local --v=2 --experimental-bootstrap-kubeconfig=/root/bootstrap.kubeconfig --kubeconfig=/root/kubelet.kubeconfig --fail-swap-on=false --network-plugin=cni

kube-proxy  --master=http://192.168.14.11:8080  --v=2

测试

kubectl run --image=nginx mynginx --replicas=2
kubectl expose deployment mynginx --port=80

http://192.168.14.11:8080/api/v1/namespaces/default/services/mynginx/proxy/

最终结果

原文地址:https://www.cnblogs.com/iiiiher/p/8177449.html

时间: 2024-10-18 18:19:57

[k8s]通过svc来访问集群podhttp://api:8080/api/v1/namespaces/default/services/mynginx/proxy/的相关文章

_00024 妳那伊抹微笑_云计算之ClouderaManager以及CHD5.1.0集群部署安装文档V1.0

博文作者:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 博文标题:_00024 妳那伊抹微笑_云计算之ClouderaManager以及CHD5.1.0集群部署安装文档V1.0 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章

【K8S学习笔记】Part1:使用端口转发访问集群内的应用

本文介绍如何使用kubectl port-forward命令连接K8S集群中运行的Redis服务.这种连接方式有助于数据库的调试工作. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 在进行该操作之前,需要满足以下条件: 需要有一个K8S集群,并且配置好了kubectl命令行工具来与集群通信.如果未准备好集群,那么你可以使用Minikube创建一个K8S集群,或者你也可以使用下面K8S环境二者之一: Katacoda Play with Kubernete

k8s官方案例练习-公开外部 IP 地址以访问集群中应用程序

先准备镜像: [[email protected] node]# ls Dockerfile server.js [[email protected] node]# cat Dockerfile FROM node:6.14.2 EXPOSE 8080 COPY server.js . CMD node server.js [[email protected] node]# cat server.js var http = require('http'); var handleRequest =

k8s之二进制安装etcd集群

前言 kubeadm安装的集群,默认etcd是一个单机的容器化的etcd,并且k8s和etcd通信没有经过ssl加密和认证,这点是需要改造的.所以首先我们需要先部署一个三节点的etcd集群,二进制部署,systemd守护进程,并且需要生成ca证书 ETCD集群详情 主机 IP 节点名称 etcd的名称 主机01 192.168.56.200 MM etcd1 主机02 192.168.56.201 SS01 etcd2 主机03 192.168.56.202 SS02 etcd3 master上

手动安装K8s第三节:etcd集群部署

准备安装包https://github.com/coreos/etcd版本:3.2.18wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz 0.安装[[email protected] src]# tar zxf etcd-v3.2.18-linux-amd64.tar.gz[[email protected] src]# cd etcd-v3.2.18-lin

Elasticsearch集群配置以及REST API使用

ES安装与启动 在官网下载压缩包,解压后直接运行bin目录下的.bat文件即可.下载地址戳这里. ES配置集群 Elasticsearch配置集群很简单,只要配置一个集群的 名称 ,ES就会自动寻找并加入到其中. 并且会自动的进行分片.备份等等操作. 配置方式: 直接修改conf/elasticsearch.yml ES查询集群状态 使用ES的REST API可以做到下面的事情: 1 管理集群,节点,索引数据和元数据 2 执行创建,读取,更新和删除操作,以及根据索引查询 3 执行更深入的操作,比

Spark API编程动手实战-02-以集群模式进行Spark API实战textFile、cache、count

操作HDFS:先要保证HDFS启动了: 启动spark集群: 以spark-shell运行在spark集群上: 查看下之前上传到HDFS上的"LICENSE.txt"文件: 用spark读取这个文件: 使用count统计该文件的行数: 我们可以看到count 耗时为0.239708s 对该RDD进行cache操作并执行count使得缓存生效: 执行count结果为: 此时耗时为0.21132s 再执行count操作: 此时耗时为0.029580s,这时因为我们自己基于cache后的数据

Spark API编程动手实战-02-以集群模式进行Spark API实战textFile、cach

操作HDFS:先要保证HDFS启动了: 启动spark集群: 以spark-shell运行在spark集群上: 查看下之前上传到HDFS上的"LICENSE.txt"文件: 用spark读取这个文件: 使用count统计该文件的行数: 我们可以看到count 耗时为0.239708s 对该RDD进行cache操作并执行count使得缓存生效: 执行count结果为: 此时耗时为0.21132s 再执行count操作: 此时耗时为0.029580s,这时因为我们自己基于cache后的数据

Ceph 配置S3和swift接口访问集群

要使用REST接口,我们首先要为S3接口创建一个初始的Ceph对象网关用户,然后为Swift界面创建一个子用户,最后,我们需要验证创建的用户是否能够访问网关. 创建用以访问s3接口的radosgw用户 执行如下命令创建用户,记录下access_key和secret_key,没记住也没关系,可以使用radosgw-admin user info --uid s3查看 [[email protected] ~]# radosgw-admin user create --uid="s3" -