柚子快報邀請碼778899分享:K8s單機部署
環(huán)境:centos7.9、k8s? 1.22.9、docker 26.1.4
Kubernetes(通常簡稱為K8s)是一個開源的容器編排系統(tǒng),用于自動化應用程序的部署、擴展和管理。它最初由Google開發(fā),現(xiàn)在由云原生計算基金會(Cloud Native Computing Foundation)管理。Kubernetes提供了一個強大的平臺,可以將容器化的應用程序部署到一個分布式的集群中,并為其提供自動化的管理和可擴展性
一、配置環(huán)境
? ? ? ? 1.查看主機名
????????????????
hostname
? ? ? ?
? ? ? ? 2.修改hosts文件
? ?
vim /etc/hosts
????????
3.關(guān)閉防火墻、Selinux、swap
#臨時關(guān)閉
systemctl stop firewalld
setenforce 0
swapoff -a
#永久關(guān)閉
systemctl disable firewalld
sed -i '/^SELINUX=/ c\SELINUX=disabled' /etc/selinux/config
sed -i '/swap/ s/^/#/g' /etc/fstab
4.配置模塊
cat >> /etc/sysconfig/modules/k8s.modules << EOF
#! /bin/bash
modprobe br_netfilter
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack
EOF
chmod +x /etc/sysconfig/modules/k8s.modules && cat /etc/sysconfig/modules/k8s.modules
| bash
# 內(nèi)核參數(shù)修改
cat >> /etc/sysctl.d/k8s.conf << EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.netfilter.nf_conntrack_max=1048576
vm.overcommit_memory=1
vm.swappiness=0
fs.file-max=52706963
fs.nr_open=52706963
EOF
sysctl -p /etc/sysctl.d/k8s.conf
二、安裝docker
# 安裝 docker
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
# 配置鏡像源
# https://cr.console.aliyun.com
[ ! -d /etc/docker ] && mkdir -p /etc/docker
cat >> /etc/docker/daemon.json < { "data-root": "/mnt/docker-image", #容器存儲位置,不要手動創(chuàng)建否則docker會報錯 "exec-opts": [ "native.cgroupdriver=systemd" ], "bip":"172.16.46.1/24", #本機IP "registry-mirrors": [ "http://docker-registry-mirror.kodekloud.com" ] } EOF # 重啟 docker systemctl daemon-reload && systemctl start docker && systemctl enable docker 三、安裝k8s # 添加 k8s 源 cat >> /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF # 更新緩存 yum clean all && yum makecache -y # 安裝 k8s yum install -y kubelet-1.22.9-0 kubeadm-1.22.9-0 kubectl-1.22.9-0 --disableexcludes=kubernetes systemctl enable kubelet systemctl start kubelet 四、初始化K8s #初始化K8s kubeadm reset #拉取配置 kubeadm config print init-defaults > init.default.yaml vim init.default.yaml apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 1.2.3.4 bindPort: 6443 --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd: local: dataDir: /var/lib/etcd imageRepository: registry.aliyuncs.com/google_containers kind: ClusterConfiguration kubernetesVersion: 1.22.0 networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 scheduler: {} #創(chuàng)建一個新的 Kubernetes 集群 kubeadm init --apiserver-advertise-address=172.16.46.35 --apiserver-bind-port=6443 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --kubernetes-version=1.22.9 --image-repository registry.aliyuncs.com/google_containers 4.1成功后顯示 # 設(shè)置 k8s 環(huán)境變量 mkdir ~/.kube/config cat /etc/kubernetes/admin.conf > ~/.kube/config 4.2部署網(wǎng)絡(luò)插件calico或flannel ????????Calico使用BGP協(xié)議來實現(xiàn)路由,每個節(jié)點上的容器都有一個唯一的IP地址,并使用BGP來進行路由選擇。 ????????Flannel使用Overlay網(wǎng)絡(luò)來實現(xiàn)跨主機的通信,每個節(jié)點上的容器都分配一個子網(wǎng),容器之間的通信通過Overlay網(wǎng)絡(luò)路由。 curl -O https://docs.projectcalico.org/manifests/calico.yaml kubectl apply -f calico.yaml curl -O https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml kubectl apply -f kube-flannel.yml 五、安裝kubelet 命令補全? ?可選 yum -y install bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc 柚子快報邀請碼778899分享:K8s單機部署
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。