microk8s(三)资源对象
2019-07-21 本文已影响0人
印随2018
Kubernetes中的大部分概念如Node、Pod、Replication Controller、Service等都可以被看作一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(API编程调用)执行增删改查等操作并将其保存在etcd持久化存储。
一、查看kube-apiserver监听的端口
# ps aux|grep kube-apis | grep -v grep | grep "basic-auth-file"
root 9759 1.3 7.5 474992 303772 ? Ssl 10:14 4:39 /snap/microk8s/687/kube-apiserver --insecure-bind-address=127.0.0.1 --cert-dir=/var/snap/microk8s/687/certs --etcd-servers=unix://etcd.socket:2379 --service-cluster-ip-range=10.152.183.0/24 --authorization-mode=AlwaysAllow --basic-auth-file=/var/snap/microk8s/687/credentials/basic_auth.csv --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota --service-account-key-file=/var/snap/microk8s/687/certs/serviceaccount.key --client-ca-file=/var/snap/microk8s/687/certs/ca.crt --tls-cert-file=/var/snap/microk8s/687/certs/server.crt --tls-private-key-file=/var/snap/microk8s/687/certs/server.key --kubelet-client-certificate=/var/snap/microk8s/687/certs/server.crt --kubelet-client-key=/var/snap/microk8s/687/certs/server.key --secure-port=16443 --insecure-port=8080 --requestheader-client-ca-file=/var/snap/microk8s/687/certs/ca.crt
从上输出可以看出几个信息
- http的8080端口只在本地监听
- --insecure-bind-address=127.0.0.1
- --insecure-port=8080
- https的16443端口监听任意地址
- --secure-port=16443
- basic认证的配置信息
- --basic-auth-file=/var/snap/microk8s/687/credentials/basic_auth.csv
二、浏览器访问
用浏览器打开 https://{HOST_IP}:16443/, 见下图

三、API接口分类
我总结了一下,接口可以大致分为三类
- /APIGroupList/APIGroup/APIResourceList/APIResource
- /apis/apps/v1/daemonsets 扩展功能
- /APIVersions/APIResourceList/APIResource
- /api/v1/pods 核心功能
- /APIResource
- /version 辅助功能
四、核心功能的演变方式
当为了改进核心功能,已经存在的资源需要增加字段时,一般先以注解的方式进行配置,把功能先跑起来,等一段时间功能特性稳定后,就会以新字段的形式对资源进行重构。