首页 > 其他分享 >AWS-自建集群K8s-Calico部署

AWS-自建集群K8s-Calico部署

时间:2022-12-13 00:23:05浏览次数:36  
标签:node AWS calico BASE io docker K8s Calico v3.24

Calico Install

镜像下载

docker pull docker.io/calico/cni:v3.24.5
docker pull docker.io/calico/node:v3.24.5
docker pull docker.io/calico/kube-controllers:v3.24.5

docker tag  docker.io/calico/cni:v3.24.5        reg.jevic.cn/k8s/calico/cni:v3.24.5
docker tag  docker.io/calico/node:v3.24.5       reg.jevic.cn/k8s/calico/node:v3.24.5
docker tag  docker.io/calico/kube-controllers:v3.24.5   reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5

docker push reg.jevic.cn/k8s/calico/cni:v3.24.5
docker push reg.jevic.cn/k8s/calico/node:v3.24.5
docker push reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5

配置调整

# curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico-etcd.yaml -o calico.yaml
# tree   //对默认文件进行拆分
.
├── 01_cm.yml
├── 02_role.yml
├── 03_deploy.yml
└── calico.yaml

ENP="https://10.x:2379,https://10.x:2379,https://10.x:2379"
ETCD_KEY_BASE=`cat /etc/kubernetes/pki/etcd/server.key | base64 | tr -d '\n'`
ETCD_CERT_BASE=`cat /etc/kubernetes/pki/etcd/server.crt | base64 | tr -d '\n'`
ETCD_CA_BASE=`cat /etc/kubernetes/pki/etcd/ca.crt| base64 | tr -d '\n'`

sed -i "s#ENP#$ENP#g" 01_cm.yml
sed -i "s/ETCD_KEY_BASE/$ETCD_KEY_BASE/g" 01_cm.yml
sed -i "s/ETCD_CERT_BASE/$ETCD_CERT_BASE/g" 01_cm.yml
sed -i "s/ETCD_CA_BASE/$ETCD_CA_BASE/g" 01_cm.yml

cat >/etc/calico/calicoctl.cfg <<EOF
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
  etcdEndpoints: "$ENP"
  etcdKeyFile: /etc/kubernetes/pki/etcd/server.key
  etcdCertFile: /etc/kubernetes/pki/etcd/server.crt
  etcdCACertFile: /etc/kubernetes/pki/etcd/ca.crt
EOF
# kubectl apply -f .

nginx-demo

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      tolerations:
      - key: "node-role.kubernetes.io/master"
        operator: "Exists"
        effect: "NoSchedule"
      containers:
      - image: nginx:alpine
        imagePullPolicy: IfNotPresent
        name: nginx

污点去除

kubectl  taint node master-103-113 node-role.kubernetes.io/control-plane-
kubectl taint node master-103-113 node-role.kubernetes.io/master-

添加:
kubectl  taint node master-103-113 node-role.kubernetes.io/control-plane:NoSchedule
kubectl taint node master-103-113 node-role.kubernetes.io/master:NoSchedule

标签:node,AWS,calico,BASE,io,docker,K8s,Calico,v3.24
From: https://www.cnblogs.com/jevic/p/16977511.html

相关文章

  • 每天一点基础K8S--K8S中的service
     四层代理service #功能:为一组pods上的应用程序公开网络服务的抽象方法,并为这一组pod提供相同的DNS名字,从而实现负载均衡。 #产生背景:     正常的K8S环......
  • 二进制高可用安装k8s集群下
    一、Node节点配置1.1kubeletMaster01节点复制证书至Node节点cd/etc/kubernetes/forNODEink8s-master02k8s-master03k8s-node01k8s-node02;dossh$NODE......
  • K8s基本组件介绍
    1.1 Master节点:整个集群的控制中枢Kube-APIServer:集群的控制中枢,各个模块之间信息交互都需要经过Kube-APIServer,同时它也是集群管理、资源配置、整个集群安全机制的入......
  • RFO SIG:openEuler AWS AMI 制作详解
    作者简介王瀚兴,SUSE软件工程师,主要负责Rancher产品线相关的研发工作。欧拉开源社区的RFOSIG正在努力将openEuler与Rancher整合,以推动社区的云原生版图发展。而op......
  • k8s
    【1】k8s主要提供了如下的主要功能:自我修复:一旦某一个容器崩溃,能够在1秒钟左右迅速启动新的容器弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整服务发现:......
  • Kubernetes(k8s) kubectl set image常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • Kubernetes(k8s) kubectl set selector常用命令
    kubectl在$HOME/.kube目录中查找一个名为config的配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数来指定其它kubeconfig文件。本文主要介绍K......
  • k8s init
    [preflight]PullingimagesrequiredforsettingupaKubernetescluster[preflight]Thismighttakeaminuteortwo,dependingonthespeedofyourinternetcon......
  • K8S Pod status的状态分析 扩容及缩容
    K8SPodstatus的状态分析CrashLoopBackOff:容器退出,kubelet正在将它重启InvalidImageName:无法解析镜像名称ImageInspectError:无法校验镜像ErrImageNeverPull:策略......
  • 如何远程调试k8s里的jettypod
     ​课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。介绍主要的k8s资源的使用配置和命......