云原生kubernetes
plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor:443"]endpoint = ["私有镜像仓库地址"][plugins."io.containerd.grpc.v1.cri".registry.configs."私有仓库的地址".tls]k8s是容器集群管理系统,是一个开源平台,能够实现容器集群的自动化部署,自动扩展缩2.
1.k8s的作用
k8s是容器集群管理系统,是一个开源平台,能够实现容器集群的自动化部署,自动扩展缩2.容,自动维护等。
2.k8s集群架构
(1)master(管理节点):
提供集群的控制
对集群进行全局决策
检测和响应集群事件
核心组件:APIServer、Scheduler、ControllerManager、etcd
(2)node(计算节点)
运行容器的实际节点
提供运行环境
在多个节点上运行
水平扩展
核心组件:kubelet、kube-proxy、Runtime
(3)image(镜像仓库)
存储镜像
为节点提供镜像支持
组件:Registry或Harbor
3.kubernetes安装
(1)安装控制节点
官网下载地址:https://packages.cloud.google.com
配置软件仓库:
把下载好的资源更新到目录下
createrepo --update /var/ftp/rpms/
系统环境配置:
配置yum安装源
vim /etc/yum.repos.d/k8s.repo
[k8s]
name=k8s
baseurl="软件包源地址"
enabled=1
gpgcheck=0
#禁用firewall和swap
sed '/swap/d' -i /etc/fstab
swapoff -a
yum -y remove firewalld-*
安装软件包:
# yum -y install kubeadm kubelet kubectl containerd.io ipvsadm ipset iproute-tc
# containerd config default > /etc/containerd/config.toml
# vim /etc/containerd/config.toml
61: sandbox_image = "harbor:443/k8s/pause:3.9" 125: SystemdCgroup = true 154 行新插入: [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["私有镜像仓库地址"] . [plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor:443"] endpoint = ["私有镜像仓库地址"] [plugins."io.containerd.grpc.v1.cri".registry.configs."私有仓库的地址".tls] insecure_skip_verify = true#systemctl enable --now kubelet containerd
配置内核参数
#加载内核模块
# vim /etc/modules-load.d/containerd.conf
br_netfilter
xt_conntrack
#systemctl start systemd-modules-load.service
#设置内核参数
net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.netfilter.nf_conntrack_max = 1000000sysctl -p /etc/sysctl.d/99-kubernetes-cri.conf
导入k8s镜像
#vim /etc/docker/daemon.json
{
"registry-mirrors":["https://harbor:443"],
"insecure-registries":["harbor:443"]
}#systemctl enable --now docker
登录harbor仓库
#docker login harbor:443
#docker load -i init/v1.29.2.tar.xz
#docker images | while read i t _
do
[[ "${t}" == "TAG" ]] && continue
[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/k8s/${i##*/}:${t}
docker push harbor:443/k8s/${i##*/}:${t}
docker rmi ${i}:${t} harbor:443/k8s/${i##*/}:${t}
done
设置tap键
# source <(kubeadm completion bash|tee /etc/bash_completion.d/kubeadm) # source <(kubectl completion bash|tee /etc/bash_completion.d/kubectl)
master安装
#vim /root/init/init.yaml
13: advertiseAddress: master主机地址
#测试系统环境,查看日志文件内是否有报错
#kubeadm init --config=init/init.yaml --dry-run 2>error.log
#cat error.log
#主控节点初始化
#rm -rf error.log /etc/kubernetes/tmp
#kubeadm init --config=init/init.yaml | tee init/init.log
#管理授权,直接复制运行即可
# mkdir -p $HOME/.kube # sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # sudo chown $(id -u):$(id -g) $HOME/.kube/config#查看节点
#kubectl get nodes
(2)安装网络插件
上传镜像
软件地址:https://github.com/projectalico/calico
#docker load -i calico.tar.xz
#docker images | while read i t _
do
[[ "${t}" == "TAG" ]] && continue [[ "${i}" =~ ^"harbor:443/".+ ]] && continue docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t} docker push harbor:443/plugins/${i##*/}:${t} docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}done
安装calico
#sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' calico.yaml
#kubectl apply -f calico.yaml
更多推荐
所有评论(0)