k8s安装之配置

配置


Configuration file details
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
Kubeconfig

###安装kubectl工具
wget https://dl.k8s.io/v1.11.0/kubernetes-client-linux-amd64.tar.gz
tar -zxf kubernetes-client-linux-amd64.tar.gz
cp kubernetes/client/bin/kubectl /usr/local/bin/
chmod +x /usr/local/bin/kubectl
###创建kubeconfig在master节点执行
export KUBE_APISERVER="https://172.16.20.206:6443"
####设置集群参数
kubectl config set-cluster kubernetes   --certificate-authority=/etc/kubernetes/ssl/ca.pem   --embed-certs=true   --server=${KUBE_APISERVER}
####设置客户端认证参数
kubectl config set-credentials admin   --client-certificate=/etc/kubernetes/ssl/admin.pem   --embed-certs=true   --client-key=/etc/kubernetes/ssl/admin-key.pem
####设置上下文参数
kubectl config set-context kubernetes   --cluster=kubernetes   --user=admin
####设置默认上下文
kubectl config use-context kubernetes
####说明
kubectl是kubernetes的集群管理工具,任何节点通过kubetcl都可以管理整个k8s集群。
在master节点部署,部署成功后会生成 /root/.kube/config 文件,kubectl就是通过这个获取 kube-apiserver 地址、证书、用户名等信息,所以这个文件需要保管好

###创建bootstrap.kubeconfig文件
####创建 TLS Bootstrapping Token
export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ‘ ‘)
cat > token.csv <<EOF
${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
EOF
cp token.csv /etc/kubernetes/
####生成bootstrap.kubeconfig文件
cd /etc/kubernetes
export KUBE_APISERVER="https://172.16.20.206:6443"
#####设置集群参数
kubectl config set-cluster kubernetes   --certificate-authority=/etc/kubernetes/ssl/ca.pem   --embed-certs=true   --server=${KUBE_APISERVER}   --kubeconfig=bootstrap.kubeconfig
#####设置客户端认证参数
kubectl config set-credentials kubelet-bootstrap   --token=${BOOTSTRAP_TOKEN}   --kubeconfig=bootstrap.kubeconfig
#####设置上下文参数
kubectl config set-context default   --cluster=kubernetes   --user=kubelet-bootstrap   --kubeconfig=bootstrap.kubeconfig
#####设置默认上下文
kubectl config use-context default --kubeconfig=bootstrap.kubeconfig
####说明
kubelet访问kube-apiserver的时候是通过bootstrap.kubeconfig进行用户验证;
--embed-certs 为 true 时表示将 certificate-authority 证书写入到生成的 bootstrap.kubeconfig 文件中;
设置客户端认证参数时没有指定秘钥和证书,后续由 kube-apiserver 自动生成。

###创建kube-proxy.kubeconfig文件
cd /etc/kubernetes
export KUBE_APISERVER="https://172.16.20.206:6443"
#####设置集群参数
kubectl config set-cluster kubernetes   --certificate-authority=/etc/kubernetes/ssl/ca.pem   --embed-certs=true   --server=${KUBE_APISERVER}   --kubeconfig=kube-proxy.kubeconfig
#####设置客户端认证参数
kubectl config set-credentials kube-proxy   --client-certificate=/etc/kubernetes/ssl/kube-proxy.pem   --client-key=/etc/kubernetes/ssl/kube-proxy-key.pem   --embed-certs=true   --kubeconfig=kube-proxy.kubeconfig
#####设置上下文参数
kubectl config set-context default   --cluster=kubernetes   --user=kube-proxy   --kubeconfig=kube-proxy.kubeconfig
#####设置默认上下文
kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
####说明
设置集群参数和客户端认证参数时 --embed-certs 都为 true,这会将 certificate-authority、client-certificate 和 client-key 指向的证书文件内容写入到生成的 kube-proxy.kubeconfig 文件中;
kube-proxy.pem 证书中 CN 为 system:kube-proxy,kube-apiserver 预定义的 RoleBinding cluster-admin 将User system:kube-proxy 与 Role system:node-proxier 绑定,该 Role 授予了调用 kube-apiserver Proxy 相关 API 的权限。
####参考链接
https://blog.51cto.com/devingeng/2159857?source=dra
https://jimmysong.io/posts/kubernetes-create-kubeconfig/
###分发配置文件
将/etc/kubernetes/{kube-proxy.kubeconfig,bootstrap.kubeconfig}分发到node节点
##master节点安装

###/etc/kubernetes/config文件
cat > /etc/kubernetes/config << EOF
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=2"
KUBE_ALLOW_PRIV="--allow-privileged=true"
KUBE_MASTER="--master=172.16.20.206:8080"
EOF
####说明
该配置文件同时被kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy使用。

原文地址:https://blog.51cto.com/phospherus/2445746

时间: 2024-10-08 04:40:28

k8s安装之配置的相关文章

k8s安装 1.10.1

k8s版本 主机名 ip 配置 1.10 master 192.168.61.250 4C8G node1 192.168.61.251 4C8G node2 192.168.61.252 4C8G kubectl 命令补全 [email protected]:/# vim /etc/profile  #添加下面这句,再source source <(kubectl completion bash) [email protected]:/# source /etc/profile 修改主机名,时

Kubernetes二进制方式v1.13.2生产环境的安装与配置(HTTPS+RBAC) ?

Kubernetes二进制方式v1.13.2生产环境的安装与配置(HTTPS+RBAC) 一 背景 由于众所周知的原因,在国内无法直接访问Google的服务.二进制包由于其下载方便.灵活定制而深受广大kubernetes使用者喜爱,成为企业部署生产环境比较流行的方式之一,Kubernetes v1.13.2是目前的最新版本.安装部署过程可能比较复杂.繁琐,因此在安装过程中尽可能将操作步骤脚本话.文中涉及到的脚本已经通过本人测试. 二 环境及架构图 2.1 软件环境 OS(最小化安装版): cat

Kubernetes Dashboard的安装与配置

Kubernetes Dashboard的安装与配置 一 背景 通过kubeadm快速完成了kubernetes的安装,即可迅速地体验到kubernetes的强大功能.美中不足的是,只能通过命令来查看或操作,没有一个直观且简洁的Web UI来感受一下这种成功的喜悦.此外,国内的网络环境,也在某种程度上增加了一些门槛.面对如此种种,依然有办法体验kunernetes dashboard. 二 操作步骤 因为不清楚Pod会被调度到哪一个Node上,所以在每一个节点上执行以下脚本: #!/bin/ba

Windows下MySQL下载安装、配置与使用

用过MySQL之后,不论容量的话,发现比其他两个(sql server .oracle)好用的多,一下子就喜欢上了.下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤. (我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路.当然,知道同学的可以略过,选择你想知道的地方看) 第一大步:下载.(不需要注册也可以下载,直接点下面的no thanks) a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是

Centos 7.3下 Linux For SQL Server安装及配置介绍

Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳

redis的单机安装与配置以及生产环境启动方案

简单介绍一下redis的单机安装与配置,方便自己记录安装步骤的同时方便他人获取知识. 首先,从官网下载最新版的(稳定版)的redis安装包.官网地址如下:https://redis.io/download 下载源码包后,redis需要编译安装.需要安装gcc和tcl,gcc用于编译tcl用于测试. 使用命令安装gcc,yum install gcc,一路选择yes,gcc就可以安装成功. 接下来安装tcl,首先获取tcl源码包(见百度云盘)或者使用命令:wget http://downloads

Tomcat安装与配置

进行Tomcat的安装与配置,得要jdk的支持,jdk的安装与配置就不说了,毕竟学Java第一步就是这个,所以以下步骤是已有jdk的情况下进行的 首先进入Tomcat的官网http://tomcat.apache.org/,会出现左侧Download一栏,选择自己需要的Tomcat版本,这里我选择的是Tomcat 7 点击进入后到达如下界面,选择自己所对应的系统下载对应的zip包(个人感觉下载zip包简介一点,当然也可以下载可执行文件) 注意下载到哪个地方,下载完成后得到压缩包 对此压缩包进行解

MongoDB 3.2 在CentOS 上的安装和配置

MongoDB 3.2 在CentOS 上的安装和配置 2016-01-06 14:41:41 发布 您的评价:       0.0   收藏     0收藏 一.安装 编辑/etc/yum.repos.d/mongodb-org-3.2.repo [mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpg

Keepalived安装与配置

一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务. 上图是Keepalived的功能体系结构,大致分两层:用户空间(user space)和内核空间(kernel space