首页 > 其他分享 >ubantu初始化配置

ubantu初始化配置

时间:2024-07-16 17:41:10浏览次数:15  
标签:初始化 ubantu -- 配置 apt registry docker cri com

配置网络
wxx@k8s-master01:~$ more /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses:
- 192.168.223.11/24
nameservers:
addresses:
- 8.8.8.8
- 192.168.223.2
routes:
- to: default
via: 192.168.223.2

netplan apply

version: 2
renderer: networkd


安装ping chrony
apt install chrony iputils-ping

配置时间服务器 yum源
echo "server ntp.aliyun.com iburst" >> /etc/chrony/chrony.conf
sed -i 's/http:\/\/cn.archive.ubuntu.com/http:\/\/mirrors.aliyun.com/g' /etc/apt/sources.list

禁用swap
swapoff -a
sed -ri 's+(^/swap.*)+# \1+g' /etc/fstab

配置docker-ce仓库
apt -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt update

安装docker-ce : apt install docker-ce apt install docker-ce=5:23.0.3-1~ubuntu.22.04~jammy

docker 优化
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xzxhosvl.mirror.aliyuncs.com"],
"dns": ["8.8.8.8"],
"insecure-registries": ["harbor.wxx.com:8888"],
"exec-opts":["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-opts": {
"max-size": "200m"
}
}

systemctl daemon-reload && systemctl start docker.service &&systemctl enable docker.service

安装 cri-dockerd
curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd_0.3.1.3-0.ubuntu-jammy_amd64.deb
apt install ./cri-dockerd_0.3.1.3-0.ubuntu-jammy_amd64.deb
systemctl status cri-docker.service

安装 kubelet kubeadm kubectl
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl


整合kubelet和cri-dockerd
仅支持CRI规范的kubelet需要经由遵循该规范的cri-dockerd完成与docker-ce的整合。

配置cri-dockerd
配置cri-dockerd,确保其能够正确加载到CNI插件。编辑/usr/lib/systemd/system/cri-docker.service文件,确保其[Service]配置段中的ExecStart的值类似如下内容。
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-cache-dir=/var/lib/cni/cache --cni-conf-dir=/etc/cni/net.d

sed -ri 's+(^ExecStart.*)+\1 --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-cache-dir=/var/lib/cni/cache --cni-conf-dir=/etc/cni/net.d+g' /usr/lib/systemd/system/cri-docker.service

配置完成后,重载并重启cri-docker.service服务。
systemctl daemon-reload && systemctl restart cri-docker.service

配置kubelet
mkdir /etc/sysconfig
vim /etc/sysconfig/kubelet
KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=/run/cri-dockerd.sock"

初始化master节点(在master01上完成如下操作)


kubeadm config images list --image-repository=registry.aliyuncs.com/google_containers
114 docker image pull registry.aliyuncs.com/google_containers/pause:3.6
115 docker image tag registry.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
116 docker images
117 docker image tag registry.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9

kubeadm config images pull --cri-socket unix:///run/cri-dockerd.sock --image-repository=registry.aliyuncs.com/google_containers

方式亿 kubeadm init --control-plane-endpoint="kubeapi.wxx.com" --kubernetes-version=v1.28.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --token-ttl=0 --cri-socket unix:///run/cri-dockerd.sock --upload-certs --image-repository=registry.aliyuncs.com/google_containers
方式2
vim k8s_init.yaml
############################################################################
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
kind: InitConfiguration
localAPIEndpoint:
# 这里的地址即为初始化的控制平面第一个节点的IP地址;
advertiseAddress: 192.168.223.11
bindPort: 6443
nodeRegistration:
criSocket: unix:///run/cri-dockerd.sock
imagePullPolicy: IfNotPresent
# 第一个控制平面节点的主机名称;
name: k8s-master01.wxx.com
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/master
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
# 控制平面的接入端点,我们这里选择适配到kubeapi.wxx.com这一域名上;
controlPlaneEndpoint: "kubeapi.wxx.com:6443"
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.27.1
networking:
dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12
podSubnet: 10.244.0.0/16
scheduler: {}
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
# 用于配置kube-proxy上为Service指定的代理模式,默认为iptables;
mode: "ipvs"
############################################################################
将上面的内容保存于配置文件中,例如kubeadm-config.yaml,而后执行如下命令即能实现类似前一种初始化方式中的集群初始配置,但这里将Service的代理模式设定为了ipvs。
kubeadm init --config k8s_init.yaml --upload-certs

部署flanel网络插件
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml


添加工作节点
添加工作节点后 工作节点一直notready,使用journalctl -f -u kubelet.service排查原因是k8s默认去官网下载registry.k8s.io/pause:3.6 我们需要
在阿里下载后 重新打标签。docker image pull registry.aliyuncs.com/google_containers/pause:3.6
docker image tag registry.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6

错误二 卡在Running pre-flight checks 一般是token国企如果是token过期问题,重新生成一下token在加入进去就行了 kubeadm token create --ttl 0

kubeadm join kubeapi.wxx.com:6443 --token head5g.bq1xpg670oc3pvkv --discovery-token-ca-cert-hash sha256:0059f4ce07f3606a766dd106574b1fb63f693bf58462ccf212b82d2b34a8832c --cri-socket unix:///run/cri-dockerd.sock


kubeadm config images list --image-repository=registry.aliyuncs.com/google_containers
114 docker image pull registry.aliyuncs.com/google_containers/pause:3.6
115 docker image tag registry.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
116 docker images
117 docker image tag registry.aliyuncs.com/google_containers/pause:3.9 registry.k8s.io/pause:3.9
--cri-socket unix:///run/cri-dockerd.sock

kubeadm config images pull --cri-socket unix:///run/cri-dockerd.sock --image-repository=registry.aliyuncs.com/google_containers _containers

 

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kuboard
namespace: kuboard
spec:
ingressClassName: nginx
rules:
- host: kuboard.magedu.com
http:
paths:
- path: /
backend:
service:
name: kuboard-v3
port:
number: 80
pathType: Prefix

标签:初始化,ubantu,--,配置,apt,registry,docker,cri,com
From: https://www.cnblogs.com/wxxjianchi/p/18305768

相关文章

  • Vue3项目配置Vue-Router
            在使用 Vue 作为前端开发框架时,我们通常以单页面应用(SPA)的形式进行开发。而单页面应用中,我们通常通过路由跳转的方式来实现我们页面上组件之间的跳转。在本文中,博主将详细介绍在Vue3 项目中,如何进行Vue-Router的安装与配置。在开始安装和配置Vue-Ro......
  • Springboot Study-入门&配置
    SpringbootStudy入门&配置1.入门构建了Springboot工程,创建springboot项目,完成了第一个项目helloworld2.配置2.1配置分类:properties>yml>yaml(优先级)2.2yaml基本语法:大小写敏感,数值前要有空格,空格缩进表示层级关系数据格式:*对象*数组(使用“-”表示数组每个元......
  • Linux 配置gitlab步骤
    最近在玩gitlab,记录一下配置gitlab的过程一、安装gitlab相关的依赖环境   (1) yuminstall-ycurlpolicycoreutilsopenssh-serveropenssh-clientspostfixpolicycoreutils-pythoncronie           (2) 启动Postfix        systemct......
  • 本地和网络yum源的配置,以及自建yum仓库
    本地和网络yum源的配置rpm-ivhxxx手动添加依赖,yum不执行安装,自动处理依赖管理yum优点rpm安装(下载软件,单独安装,需要解决依赖关系)源码安装configuremakemakeinstallyum基于rpm,相当于rpm升级版,自动解决依赖关系1.使用光盘作为yum源仓库1)在vmware中装载centos7光盘......
  • golang使用yaml文件做配置文件
    yaml配置文件host:localhost:3306user:rootpwd:112233dbname:1安装yaml读取工具gogetgopkg.in/yaml.v2从yaml文件读取配置packagemain​import("fmt""gopkg.in/yaml.v2""os")​typeConfstruct{Host string`yaml:"host&qu......
  • 在 JeecgBoot 项目中基于 Vue 3 配置多页面入口
    在现代Web开发中,使用Vue框架构建项目已经成为一种常见的选择。而JeecgBoot作为一个优秀的后台管理系统框架,也提供了丰富的功能和组件,方便开发人员快速搭建企业级应用。本文将介绍如何在JeecgBoot项目中基于Vue3配置多页面入口,实现更灵活的页面管理和定制化需求。前提......
  • 使用Spring Cloud构建分布式配置中心
    使用SpringCloud构建分布式配置中心大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代的分布式系统中,配置管理是一个至关重要的方面。本文将详细介绍如何利用SpringCloud构建和管理分布式系统的配置中心,以提高系统的灵活性和可维护性。一、SpringC......
  • [Pnetlab实战演练]手把手教你配置华为防火墙的Telnet远程访问!
    实验介绍关于本实验网络管理员在维护网络过程中,经常需要登录很多设备,通过Console口登录每台设备比较困难,为方便维护与调试设备,通过在设备上配置远程登录功能,使远程管理员能够通过Telnet方式远程登录到设备上进行管理。实验目的通过本实验,掌握配置设备Telnet远程登录功......
  • rbd常用的配置参数
    本文分享自天翼云开发者社区《rbd常用的配置参数》,作者:l****nrbd的基本介绍rbd的架构如下图所示:rbd采用CRUSH算法实现数据的随机分布。CRUSH算法,即ControlledReplicationUnderScalableHashing,是一种基于哈希的数据分布算法。CRUSH算法以数据唯一标识符、当前存储集群的拓......
  • 【01】LLaMA-Factory微调大模型——基础环境配置
    为了构建法律领域的垂直应用大模型,从本文起记录使用LLaMA-Factory微调大模型的过程,以期UU们可以复刻与应用。大语言模型统一高效微调框架(LLaMA-Factory)的详解介绍可见:LLaMA-Factory/README_zh.mdatmain·hiyouga/LLaMA-Factory·GitHubLLaMA-Factory框架旨在简化大型语......