默认2个参数就可以启动(必需)

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379

默认http是127.0.0.1:8080 https://0.0.0.0:6443

设置insecure-bind-address(默认127.0.0.1)

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--insecure-bind-address=0.0.0.0

设置访问api的日志

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--audit-log-path=/root/apiserver.log

开启记录juneral日志(修改非安全ip)

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 \
--logtostderr=false \ #log to standard error instead of files (default true) 默认是true
--v=2
--v=0的时候日志很少,--v2日志较多

将juneral日志记录到文件

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--insecure-bind-address=0.0.0.0 \
--logtostderr=false \
--log-dir=/root/logs \
--v=2
--audit-log-path=/root/apiserver.log

这里如果--v2时候,感觉audit日志也被juneral日志包含了.

audit和logtostderr分别都不设置,则啥都不记录.

设置swagger(默认关闭)

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--insecure-bind-address=0.0.0.0 \
--enable-swagger-ui=true \
--audit-log-path=/root/apiserver.log

http://192.168.14.132:8080/swagger-ui/

稍微完善点的写法

kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--enable-swagger-ui=true \
--audit-log-path=/var/log/kubernetes/apiserver.log \
--audit-log-maxsize=100 \
--audit-log-maxbackup=3 \
--audit-log-maxage=30 \
--event-ttl=1h \
--logtostderr=true \
--v=2
kube-apiserver \
--service-cluster-ip-range=10.254.0.0/16 \
--etcd-servers=http://192.168.14.132:2379 \
--enable-swagger-ui=true \
--audit-log-path=/var/log/kubernetes/apiserver.log \
--audit-log-maxsize=100 \
--audit-log-maxbackup=3 \
--audit-log-maxage=30 \
--event-ttl=1h \
--logtostderr=false \
--log-dir=/root/logs \
--v=2

kube-apiserver参数解析

参考: https://kubernetes.io/docs/reference/generated/kube-apiserver/

https://kubernetes.io/docs/tasks/debug-application-cluster/audit/

cat  > kube-apiserver.service <<EOF
...
[Service]
ExecStart=/usr/local/bin/kube-apiserver \\
#++++++++++++++++++++++++++++++++++++++++++
#必需区
#++++++++++++++++++++++++++++++++++++++++++
--service-cluster-ip-range=10.254.0.0/16 \\
--etcd-servers=http://192.168.14.132:2379 #++++++++++++++++++++++++++++++++++++++++++
# 监听ip区---http https 监听的ip+port
#++++++++++++++++++++++++++++++++++++++++++
--apiserver-count=3 \\(default 1)
--advertise-address=192.168.14.132 \\ #告诉别人在我是谁[ members of the cluster][默认 --bind-address] --insecure-bind-address=192.168.14.132 \\ #非安全端口监听的ip(default 127.0.0.1)
--insecure-port=8080 \\ # 非安全端口监听的端口(默认8080)
--bind-address=0.0.0.0 \\ # 安全端口监听的ip(default 0.0.0.0)
--secure-port=6443 \\ # 安全端口(默认6443) --service-node-port-range=30000-65535 \\(default 30000-32767)
--runtime-config=rbac.authorization.k8s.io/v1alpha1 \\ # 打开或关闭针对某个api版本支持
#++++++++++++++++++++++++++++++++++++++++++
# 授权区----授权模式 准入插件 是否允许容器特权
#++++++++++++++++++++++++++++++++++++++++++
--authorization-mode=RBAC \\ # 授权模式(default "AlwaysAllow")
--admission-control=ServiceAccount,DefaultStorageClass,ResourceQuota(基于pod和容器的配额),LimitRanger(基于ns的配额),NamespaceLifecycle(随着ns被删其包含的资源也被删除) \\ 值得注意的是他还有 AlwaysPullImages这个控制参数 --allow-privileged=true \\ # docker run --privileged [default=false]
--enable-swagger-ui=true \\ #Enable to allow secrets of type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication.
--experimental-bootstrap-token-auth \\
#(If set, the file that will be used to secure the secure port of the API server via token authentication.)
--token-auth-file=/etc/kubernetes/token.csv \\ #++++++++++++++++++++++++++++++++++++++++++
# 证书区
#++++++++++++++++++++++++++++++++++++++++++
--client-ca-file=/etc/kubernetes/ssl/ca.crt \\
--service-account-key-file=/etc/kubernetes/ssl/ca.key \\
--tls-cert-file=/etc/kubernetes/ssl/server.crt \\
--tls-private-key-file=/etc/kubernetes/ssl/server.key \\ --etcd-cafile=/etc/kubernetes/ssl/ca.pem \\
--etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem \\
--etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem \\
--etcd-servers=https://192.168.14.132:2379,https://192.168.14.133:2379,https://192.168.14.134:2379 \\ #++++++++++++++++++++++++++++++++++++++++++
# 日志区
#++++++++++++++++++++++++++++++++++++++++++
--audit-log-path=/var/log/kubernetes/apiserver.log \\ #审计日志路径
--audit-log-maxsize=100 \\#日志文件最大大小(单位MB),超过后自动做轮转(默认为100MB)
--audit-log-maxbackup=3 \\#旧日志文件最多保留个数
--audit-log-maxage=30 \\ #旧日志最长保留天数
--event-ttl=1h \\
--logtostderr=false \\ #不输出到
----log-dir=/root/logs \\ 输出到文件夹
--v=2 #级别0比级别2输出的日志少

[k8s]k8s api-server启动systemd参数分析的更多相关文章

  1. k8s之API Server认证

    集群安全性 在生产环境中,必须保障集群用户的角色以及权限问题,不能给所有用户都赋予管理员权限. 1.集群的安全性必须考虑如下几个目标 (1)保证容器与其所在宿主机的隔离 (2)限制容器给基础设置或其他 ...

  2. Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系 ...

  3. kubernetes API Server 权限管理实践

    API Server权限控制方式介绍 API Server权限控制分为三种:Authentication(身份认证).Authorization(授权).AdmissionControl(准入控制). ...

  4. k8s 组件介绍-API Server

    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. kub ...

  5. K8S Api Server认证

    目录 认证类型 基于CA证书的双向认证 apiserver端配置 生成客户端私钥和证书 master核心组件与apiserver的认证方式 HTTP Token认证 HTTP Basic认证 kube ...

  6. k8s api server ha 连接配置问题

    常见的lb 负载有硬件的f5 big-ip  ,同时对于互联网公司大家常用的是nginx  haproxy 了解k8s 集群高可用的都知道 api server  是无状态的(etcd 解决了),但是 ...

  7. k8s中的api server的ca证书,可以和front proxy ca证书一样么?

    答案是: 绝对不可以! 因为请求先验证的是 --requestheader-client-ca-file CA 然后才是--client-ca-file. . 那获取的用户名就会通不过了. 所以会影响 ...

  8. k8s使用自定义证书将客户端认证接入到API Server

    自定义证书使用kubectl认证接入API Serverkubeconfig是API Server的客户端连入API Server时使用的认证格式的客户端配置文件.使用kubectl config v ...

  9. 图解Android - Zygote, System Server 启动分析

    Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的).用ps 输出可以看到 >adb shell ...

随机推荐

  1. java性能监控器VisualVM

    1.mac系统启动文件位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/jvisualvm 2.linux ...

  2. 在Ubuntu Server上源码安装OpenERP 8.0,并配置wsgi和nginx运行环境

    原文: How to install OpenERP 8.0 Alpha on a fresh Debian / Ubuntu server. OpenERP的安装,可以有多种方式,通过添加源,到 h ...

  3. git 超前一个版本 落后一个版本的解决方案

    在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢? 首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮. 然后输入: $ git ...

  4. 第九章:Elasticsearch集群优化及相关节点配置说明

    Linux系统调优: Linux调整打开文件数(重新启动生效) 在/etc/security/limits.conf在文件中增加: * soft nofile 8192 * hard nofile 2 ...

  5. 抓取网页图片的脚本(javascript)

    抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...

  6. CocoSourcesCS 2

    CocoSourcesCS 2 /*------------------------------------------------------------------------- DFA.cs - ...

  7. Java中常用的6种排序算法详细分解

    排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料. 废话不多说,下面逐一看看经典的排序算法: 1. 选择排序 选择排序的基本思想是遍历数组的过 ...

  8. Oracle一些查询的习题,初学者一定要练习,蛮不错的

    1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...

  9. iPhone销售拉动 鸿海精密第一季度利润增长21%

    据美国<华尔街日报>5月15日消息,苹果公司主要代工厂鸿海精密发布,第一季度利润增长21%.主要得益于iPhone手机销量强劲以及生产效率提升. 这家全球最大的电子产品代工商近一半的收入是 ...

  10. PowerDesigner一些常用功能介绍

    主键.自增长等等 修改之前: drop table if exists sys_user; /*==================================================== ...