国产化麒麟操作系统部署K8S

国产化银河麒麟操作系统(Kylin)部署K8S集群

一、K8S集群节点准备

1.1 主机操作系统说明

序号 操作系统及版本 备注
1 Kylin-Server-10-SP2-x86

1.2 主机硬件配置说明

需求 CPU 内存 硬盘 角色 主机名
4C 8G 100GB slave1 slave1
4C 8G 100GB slave2 slave2

1.3 主机配置

1.3.1 主机名配置

由于本次使用2台主机完成kubernetes集群部署,其中1台为master节点,名称为slave1;其中1台为slave2节点,名称分别为:slave2

slave1节点
# hostnamectl set-hostname salve1
salve2节点
# hostnamectl set-hostname slave2



### 1.3.2 主机IP地址配置



~~~powershell
salve1节点IP地址为:192.168.71.102/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.71.102"
PREFIX="24"
GATEWAY="192.168.71.2"
DNS1="8.8.8.8"
salve2节点IP地址为:192.168.71.103/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.71.103"
PREFIX="24"
GATEWAY="192.168.71.2"
DNS1="8.8.8.8"

1.3.3 主机名与IP地址解析

所有集群主机均需要进行配置。

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.71.102 slave1
192.168.71.103 salve2

1.3.4 防火墙配置

所有主机均需要操作。

关闭现有防火墙firewalld
# systemctl disable firewalld
# systemctl stop firewalld
# firewall-cmd --state
not running

1.3.5 SELINUX配置

所有主机均需要操作。修改SELinux配置需要重启操作系统。

# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

1.3.6 时间同步配置

所有主机均需要操作。最小化安装系统需要安装ntpdate软件。

# crontab -l
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com

1.3.7 配置内核转发及网桥过滤

所有主机均需要操作。

添加网桥过滤及内核转发配置文件
# cat /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net
### Kubernetes集群在Kylin V10 ARM架构上的安装配置 #### 准备工作 确保所有节点的时间同步,可以使用NTP服务来实现时间同步。关闭防火墙和服务隔离策略,以防止这些因素干扰Kubernetes组件之间的通信。 #### 节点初始化设置 对于Control Plane节点而言,需执行特定命令来进行环境准备以及初始化操作[^1]: ```bash swapoff -a && sed -i 's/^.*swap/#&/' /etc/fstab modprobe br_netfilter echo 'net.bridge.bridge-nf-call-ip6tables = 1' >> /etc/sysctl.conf echo 'net.bridge.bridge-nf-call-iptables = 1' >> /etc/sysctl.conf sysctl -p ``` #### 安装Docker容器运行时 针对ARM架构,在Kylin V10环境中部署Docker作为默认容器引擎。下载适用于ARM平台版本的二进制文件并完成安装过程。 #### 设置Kubernetes源仓库 由于官方yum源可能不完全支持国产操作系统或存在网络访问障碍,建议采用国内镜像站提供的kubelet、kubeadm和kubectl软件包资源库。 ```bash cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-arm64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 EOF ``` #### 初始化控制平面节点 通过`kubeadm init`指令启动master节点创建流程,指定合适的Pod子网CIDR范围与Service CIDR区间参数[^2]: ```bash kubeadm init --pod-network-cidr=10.48.0.0/16 --service-cidr=10.96.0.0/16 ``` #### 配置kubectl工具 为了方便后续管理和维护集群,需要为当前用户配置好kubectl认证信息以便于直接操作API Server: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` #### 安装CNI插件 选择合适类型的Container Network Interface (CNI),比如Calico, Flannel等,并按照文档指引应用相应的YAML清单到新建立起来的Cluster当中去。 #### 测试集群功能正常性 最后一步是验证整个系统的可用性和稳定性,可以通过部署简单的应用程序实例或者利用busybox镜像来做基本的功能检测[^3]。 ```bash kubectl run busybox --image=arm64v8/busybox:latest --command -- sleep infinity kubectl exec -it busybox -- nslookup kubernetes.default ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值