摘要:进入,在任意一个地方创建一个文件如编辑这个,我们只需简单写三个字符串重新启动,启动时加入这个参数在其他机子上,我们再次执行命令,并加上是不是成功了
1.证书
之前的文章里我们为了成功使用heapster而自建了证书:进入master机器的/var/run/kubernetes/目录,执行如下的几个命令:
openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CN=abc.com" -days 5000 -out ca.crt openssl genrsa -out server.key 2048 openssl req -new -key server.key -subj "/CN=kubernetes" -out server.csr openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
其中第一个subj里/CN可以随便写一个,而第二个subj中的/CN必须是apiserver所在机器的hostname(如果仅用于内部的service,这里可以填kubernetes),这里建议两个/CN不要相同,亲测相同的情况下证书是签名无效的。在该机器上执行:
echo $HOSTNAME
就知道要写什么了。
apiserver的启动参数中加入:
--admission_control=ServiceAccount(加入这个参数后,k8s会给每个namespace都设置至少一个secret,secret作为一个存储介质,可以存储证书,token,甚至配置文件) --client_ca_file=/var/run/kubernetes/ca.crt(加入这个参数后,每个namespace的默认的secret中都会记录ca.crt) --tls-private-key-file=/var/run/kubernetes/server.key --tls-cert-file=/var/run/kubernetes/server.crt
controller-manager的启动参数中加入:
--service_account_private_key_file=/var/run/kubernetes/server.key --root-ca-file="/var/run/kubernetes/ca.crt"
我们要实现的目的是在任意一台机器上(ping得到master)可以执行apiserver的https API。这里我们必须:
1.将ca.crt复制到该机器上;
2.在该机器上添加一条master机器的hostname到其IP的hosts。
这种情况下,我们访问https的api:
curl --cacert ca.crt -X GET https://vm-56-65:6443/api/v1/namespaces/default/pods -v
会提示:
unauthorized.
这说明我们还需要token。
2.tokentoken的形式有多种,可以参考这两篇:
http://wangzhezhe.github.io/b...
http://segmentfault.com/a/119...
这里就介绍最简单的一种。
进入master,在任意一个地方创建一个token文件如:
/etc/kubernetes.io/heapster/token
编辑这个token,我们只需简单写三个字符串:
huang123,huang,huang
重新启动apiserver,启动时加入这个参数:
--token_auth_file=/etc/kubernetes.io/heapster/token
在其他机子上,我们再次执行curl命令,并加上-H:
curl --cacert ca.crt -X GET https://vm-56-65:6443/api/v1/namespaces/default/pods -H "Authorization: Bearer huang123" -v
是不是成功了?
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32429.html
摘要:的服务治理平台发源于早期的个人项目。客户端发现模式要求客户端负责查询注册中心,获取服务提供者的列表信息,使用负载均衡算法选择一个合适的服务提供者,发起接口调用请求。系统和系统之间,少不了数据的互联互通。随着微服务的流行,一个系统内的不同应用进行互联互通也是常态。 PowerDotNet的服务治理平台发源于早期的个人项目Power.Apix。这个项目借鉴了工作过的公司的服务治理方案,站在...
摘要:举个例子,我们在这种状态下创建一个,然后执行在中会发现有了字段,并且装载了一个是的,这个就是我们这个下的。 注:本案例在我的部署环境下是可行的,但不保证在所有环境下都可行。我尽可能讲得直白而详细,因为我自己也才刚开始接触,已经做过深入研究的可以浏览,若有什么错误,烦请指正,感激不尽! 我的环境: K8S1.0.0+flannel+docker1.6的分布式集群。 这里先不赘述fla...
摘要:举个例子,我们在这种状态下创建一个,然后执行在中会发现有了字段,并且装载了一个是的,这个就是我们这个下的。 注:本案例在我的部署环境下是可行的,但不保证在所有环境下都可行。我尽可能讲得直白而详细,因为我自己也才刚开始接触,已经做过深入研究的可以浏览,若有什么错误,烦请指正,感激不尽! 我的环境: K8S1.0.0+flannel+docker1.6的分布式集群。 这里先不赘述fla...
摘要:异步加载异步加载指的是为指定加载的回调函数,在的主体资源加载完毕之后,将自动调用该回调函数。 几种加载js的方式 同步加载 异步加载 延迟加载 同步加载 用的最多的一种方式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析,只有当当前加载完成,才能进行下一步操作。所以默认同步执行才是安全的。但这样如果js中有输出document内容、修改dom、重定向等行为,就会造成页面堵塞。...
阅读 1816·2021-11-25 09:43
阅读 1455·2021-09-02 15:21
阅读 3420·2019-08-30 15:52
阅读 1466·2019-08-30 12:48
阅读 1259·2019-08-30 10:57
阅读 2896·2019-08-26 17:41
阅读 650·2019-08-26 11:59
阅读 1317·2019-08-26 10:41