Kubernetes v1.12 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

Edit This Page

Fedora (单节点)

前提条件

  1. 您需要两台或更多机器安装 Fedora。这些机器可以是裸机,也可以是虚拟机。

说明

这是 Fedora 的入门指南。配置手工打造,因而需要了解所有底层软件包/服务/端口等等。

本指南只能使一个节点(以前的 minion)工作。多个节点需要在 Kubernetes 之外完成功能性网络配置。尽管额外的 Kubernetes 配置需求是显而易见的。

Kubernetes 包提供了一些服务:kube-apiserver、kube-scheduler、kube-control -manager、kubelet、kube-proxy。这些服务由 systemd 管理,配置位于中心位置:/etc/kubernetes。 我们将打破主机之间的服务。第一个主机,fed-master,将是 Kubernetes 主节点。该主节点将运行 kube-apiserver、kube-control-manager 和 kube-scheduler。 此外,主服务器还将运行 etcd (如果 etcd 运行在不同的主机上就不需要了,但是本指南假设 etcd 和 Kubernetes 主服务器在同一主机上运行)。剩下的主机,fed-node 将是节点并运行 kubelet、proxy 和 docker。

系统信息:

主机:

fed-master = 192.168.121.9
fed-node = 192.168.121.65

准备主机:

dnf -y install kubernetes
dnf -y install etcd
echo "192.168.121.9    fed-master
192.168.121.65    fed-node" >> /etc/hosts
# 逗号分隔的 etcd 群集中的节点列表 
KUBE_MASTER="--master=http://fed-master:8080"
systemctl mask firewalld.service
systemctl stop firewalld.service

systemctl disable iptables.service
systemctl stop iptables.service

在主服务器上配置 Kubernetes 服务。

# 本地服务器上所要监听的地址。
KUBE_API_ADDRESS="--address=0.0.0.0"

# 逗号在 ETCD 集群分离节点列表 
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"

# 地址范围内使用的服务 
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

# 添加你自己的!
KUBE_API_ARGS=""
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES
done

在节点上配置 Kubernetes 服务

我们需要在节点上配置 kubelet。

###
# Kubernetes kubelet(节点)的配置

# info 服务器要服务的地址(设置为 0.0.0.0 或 "" 用于所有接口)
KUBELET_ADDRESS="--address=0.0.0.0"

# 可以留空,使用实际主机名
KUBELET_HOSTNAME="--hostname-override=fed-node"

# api-server 的位置 
KUBELET_ARGS="--cgroup-driver=systemd --kubeconfig=/etc/kubernetes/master-kubeconfig.yaml"
kind: Config
clusters:
- name: local
  cluster:
    server: http://fed-master:8080
users:
- name: kubelet
contexts:
- context:
    cluster: local
    user: kubelet
  name: kubelet-context
current-context: kubelet-context
for SERVICES in kube-proxy kubelet docker; do 
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES 
done
kubectl get nodes
NAME            STATUS      AGE      VERSION
fed-node        Ready       4h

要从 Kubernetes 集群中删除 _fed-node_,应该在 fed-master 上运行以下命令(这只是演示用):

kubectl delete -f ./node.json

到此为止!

集群应该正在运行!创建测试 pod。

支持级别

IaaS 供应商 | 配置管理 | 操作系统| 网络 | 文档 | 合规 | 支持级别

——————– | ———— | —— | ———- | ——————————————— | ———| —————————- Bare-metal | custom | Fedora | none | 文档 | | 项目

有关所有解决方案的支持级别信息,请参见解决方案表

反馈