我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Vagrant安装Tungsten Fabric

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Vagrant安装Tungsten Fabric

如何使用Vagrant安装Tungsten Fabric,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

01

准备测试机

在16G的笔记本没跑起来,就干脆拼凑了一台游戏工作室级别的机器:双路E5-2860v3 CPU,24核48线程,128G DDR4 ECC内存,NVME盘 512G。在上面开5个VM,假装是物理服务器

· 192.16.35.110  deployer

· 192.16.35.111  tf控制器

· 192.16.35.112  openstack服务器,同时也是计算节点

· 192.16.35.113  k8s master

· 192.16.35.114  k8s的Node k01,同时也是ops的计算节点

直接使用vagrant拉镜像会很慢,就先下载下来:

https://cloud.centos.org/centos/7/vagrant/x86_64/images/

下载对应的VirtualBox.box文件。

然后使用命令, 命名为vagrant的box:

vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box

cat << EEOOFF > vagrantfile### start # -*- mode: ruby -*-# vi: set ft=ruby :Vagrant.require_version ">=2.0.3"# All Vagrant configuration is done below. The "2" in Vagrant.configure# configures the configuration version (we support older styles for# backwards compatibility). Please don't change it unless you know what# you're doing.ENV["LC_ALL"] = "en_US.UTF-8"VAGRANTFILE_API_VERSION = "2"Vagrant.configure("2") do |config|  # The most common configuration options are documented and commented below.  # For a complete reference, please see the online documentation at  # https://docs.vagrantup.com.  # Every Vagrant development environment requires a box. You can search for  # boxes at https://atlas.hashicorp.com/search.  config.vm.box = "geerlingguy/centos7"  # config.vbguest.auto_update = false  # config.vbguest.no_remote = true    config.vm.define "deployer" do | dp |    dp.vm.provider "virtualbox" do | v |      v.memory = "8000"      v.cpus = 2    end    dp.vm.network "private_network", ip: "192.16.35.110", auto_config: true    dp.vm.hostname = "deployer"  end  config.vm.define "tf" do | tf |    tf.vm.provider "virtualbox" do | v |      v.memory = "64000"      v.cpus = 16    end    tf.vm.network "private_network", ip: "192.16.35.111", auto_config: true    tf.vm.hostname = "tf"  end  config.vm.define "ops" do | os |    os.vm.provider "virtualbox" do | v |      v.memory = "16000"      v.cpus = 4    end    os.vm.network "private_network",ip: "192.16.35.112",  auto_config: true    os.vm.hostname = "ops"  end  config.vm.define "k8s" do | k8 |    k8.vm.provider "virtualbox" do | v |      v.memory = "8000"      v.cpus = 2    end    k8.vm.network "private_network", ip: "192.16.35.113", auto_config: true    k8.vm.hostname = "k8s"  end  config.vm.define "k01" do | k1 |    k1.vm.provider "virtualbox" do | v |      v.memory = "4000"      v.cpus = 2    end    k1.vm.network "private_network", ip: "192.16.35.114", auto_config: true    k1.vm.hostname = "k01"  end  config.vm.provision "shell", privileged: true, path: "./setup.sh"endEEOOFFcat << EEOOFF > setup.sh#!/bin/bash## Setup vagrant vms.#set -eu# Copy hosts infocat <<EOF > /etc/hosts127.0.0.1 localhost127.0.1.1 vagrant.vm vagrant192.16.35.110 deployer192.16.35.111 tf192.16.35.112 ops192.16.35.113 k8s192.16.35.114 k01# The following lines are desirable for IPv6 capable hosts::1     localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allroutersEOFsystemctl stop firewalldsystemctl disable firewalldiptables -F && iptables -X && iptables -F -t nat && iptables -X -t natiptables -P FORWARD ACCEPTswapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab# swapoff -a && sysctl -w vm.swappiness=0# setenforce  0 sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig/selinux sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config  # modprobe ip_vs_rrmodprobe br_netfilteryum -y update# sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory# sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory# yum install -y bridge-utils.x86_64# modprobe bridge# modprobe br_netfilter# Setup system varsyum install -y epel-releaseyum install -y yum-utils device-mapper-persistent-data lvm2 net-tools vim chrony python python-setuptools python-pip iproute lrzsz tree gityum install -y libguestfs-tools libvirt-python virt-install libvirt ansiblepip install wheel --upgrade -i https://mirrors.aliyun.com/pypi/simple/pip install pip --upgrade -i https://mirrors.aliyun.com/pypi/simple/pip install ansible  netaddr --upgrade -i https://mirrors.aliyun.com/pypi/simple/# python-urllib3 should be installed before "pip install requests"# if install failed, pip uninstall urllib3, then reinstall python-urllib3# pip uninstall -y urllib3 | true# yum install -y python-urllib3 pip install requests -i https://mirrors.aliyun.com/pypi/simple/systemctl disable libvirtd.servicesystemctl disable dnsmasqsystemctl stop libvirtd.servicesystemctl stop dnsmasqif [  -d "/root/.ssh" ]; then      rm -rf /root/.sshfissh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keyschmod go-rwx ~/.ssh/authorized_keys# # timedatectl set-timezone Asia/Shanghaiif [ -f "/etc/chrony.conf" ]; then   mv /etc/chrony.conf /etc/chrony.conf.bakficat <<EOF > /etc/chrony.conf      allow 192.16.35.0/24      server ntp1.aliyun.com iburst      local stratum 10      logdir /var/log/chrony      rtcsync      makestep 1.0 3      driftfile /var/lib/chrony/driftEOFsystemctl restart chronyd.servicesystemctl enable chronyd.serviceecho "* soft nofile 65536" >> /etc/security/limits.confecho "* hard nofile 65536" >> /etc/security/limits.confecho "* soft nproc 65536"  >> /etc/security/limits.confecho "* hard nproc 65536"  >> /etc/security/limits.confecho "* soft  memlock  unlimited"  >> /etc/security/limits.confecho "* hard memlock  unlimited"  >> /etc/security/limits.confif [ ! -d "/var/log/journal" ]; then  mkdir /var/log/journalfiif [ ! -d "/etc/systemd/journald.conf.d" ]; then  mkdir /etc/systemd/journald.conf.dficat <<EOF > /etc/systemd/journald.conf.d/99-prophet.conf [Journal]Storage=persistentCompress=yesSyncIntervalSec=5mRateLimitInterval=30sRateLimitBurst=1000SystemMaxUse=10GSystemMaxFileSize=200MForwardToSyslog=noEOFsystemctl restart systemd-journaldEEOOFF
02
在所有的节点上安装docker

CentOS

例如:如果pip安装软件的速度很慢,可以考虑使用基于aliyun的pip加速

· 各个节点设置pip加速

    mkdir .pip && tee ~/.pip/pip.conf <<-'EOF'[global]trusted-host =  mirrors.aliyun.comindex-url = https://mirrors.aliyun.com/pypi/simpleEOF

    注意requests包不能在urllib3之后安装,否则会出错:

      pip uninstall urllib3pip uninstall chardetpip install requests

      (这些命令应该都已经在 setup.sh 中执行过了)

        yum install -y yum-utils device-mapper-persistent-data lvm2 net-tools iproute lrzsz tree gityum-config-manager   --add-repo   https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum makecache fastyum install -y docker-ceyum -y install epel-releasesystemctl daemon-reloadsystemctl enable dockersystemctl restart dockeryum install -y chronysystemctl start chronydsystemctl enable chronyd
        03
        拉取并启动Contrail-Kolla-Ansible-Deployer容器

        容器的Nightly builds 可以从这里访问: Docker Hub

        https://hub.docker.com/r/opencontrailnightly/contrail-kolla-ansible-deployer/tags

        例如:

          vim /etc/docker/daemon.json{ "registry-mirrors" : [ "https://hub-mirror.c.163.com",    "https://registry.docker-cn.com" ] }systemctl restart dockerexport CAD_IMAGE=opencontrailnightly/contrail-kolla-ansible-deployer:master-latestdocker run -td --net host --name contrail_kolla_ansible_deployer $CAD_IMAGE
          04
           将配置文件复制到容器

          instance.yaml:用于配置Tungsten Fabric集群的模板文件。

          https://github.com/Juniper/contrail-ansible-deployer/wiki/Contrail-with-Openstack-Kolla#13-configure-necessary-parameters-configinstancesyaml-under-appropriate-parameters

          要获得有关如何配置该文件中所有可用参数的信息,可阅读这里:

          https://github.com/Juniper/contrail-ansible-deployer/blob/master/README.md#configuration

            cat << EOF > instances.yamlprovider_config:  bms:    ssh_pwd: vagrant    ssh_user: root    ntpserver: ntp1.aliyun.com    domainsuffix: localinstances:  tf:    provider: bms    ip: 192.16.35.111    roles:      config_database:      config:      control:      analytics_database:      analytics:      webui:  ops:    provider: bms    ip: 192.16.35.112    roles:      openstack:      openstack_compute:        vrouter:        PHYSICAL_INTERFACE: enp0s8  k8s:    provider: bms    ip: 192.16.35.113    roles:      k8s_master:      k8s_node:      kubemanager:      vrouter:        PHYSICAL_INTERFACE: enp0s8  k01:    provider: bms    ip: 192.16.35.114    roles:      openstack_compute:      k8s_node:      vrouter:        PHYSICAL_INTERFACE: enp0s8contrail_configuration:  AUTH_MODE: keystone  KEYSTONE_AUTH_URL_VERSION: /v3  KEYSTONE_AUTH_ADMIN_PASSWORD: vagrant  CLOUD_ORCHESTRATOR: openstack  CONTRAIL_VERSION: latest  UPGRADE_KERNEL: true  ENCAP_PRIORITY: "VXLAN,MPLSoUDP,MPLSoGRE"  PHYSICAL_INTERFACE: enp0s8global_configuration:  CONTAINER_REGISTRY: opencontrailnightlykolla_config:  kolla_globals:    enable_haproxy: no    enable_ironic: "no"    enable_swift: "no"    network_interface: "enp0s8"  kolla_passwords:    keystone_admin_password: vagrantEOFexport INSTANCES_FILE=instances.yamldocker cp $INSTANCES_FILE contrail_kolla_ansible_deployer:/root/contrail-ansible-deployer/config/instances.yaml

            05
            准备好所有节点的环境

            除了deployer,我在所有节点上都做了一遍。

            正常的做法是建个自己的repository放各种image,实验环境节点少,直接国内下载也很快的。

            注意python和python-py这两个包是冲突的,只能安装其中之一,最好先全卸载,再安装其中一个:

              pip uninstall docker-py docker pip install pythonyum -y install python-devel python-subprocess32 python-setuptools python-pip pip install --upgrade pip find / -name *subpro*.egg-info find / -name *subpro*.egg-info |xargs rm -rfpip install -I sixpip install -I docker-compose

              将k8s  repository改成阿里的,缺省的Google源太慢或不通:vi

              playbooks/roles/k8s/tasks/RedHat.yml

                yum_repository:name: Kubernetesdescription: k8s repobaseurl: https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64gpgkey: https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgrepo_gpgcheck: yesgpgcheck: yeswhen: k8s_package_version is defined

                playbook中安装这些需要访问海外网站,可以从国内下载,然后改个tag:

                  k8s.gcr.io/kube-apiserver:v1.14.8k8s.gcr.io/kube-controller-manager:v1.14.8k8s.gcr.io/kube-scheduler:v1.14.8k8s.gcr.io/kube-proxy:v1.14.8k8s.gcr.io/pause:3.1k8s.gcr.io/etcd:3.3.10k8s.gcr.io/coredns:1.3.1

                  换个方法变通处理一下

                    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.14.8docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.14.8docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.14.8docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.8docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10docker pull coredns/coredns:1.3.1docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.8.3

                    再重新给下载的打个tag

                      docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.14.8 k8s.gcr.io/kube-apiserver:v1.14.8docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.14.8 k8s.gcr.io/kube-controller-manager:v1.14.8docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.14.8 k8s.gcr.io/kube-scheduler:v1.14.8docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.8 k8s.gcr.io/kube-proxy:v1.14.8docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.8.3  k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
                      06
                      启动deployer容器,进入其中进行部署
                        docker start contrail_kolla_ansible_deployer

                        进入deployer容器:

                          docker exec -it contrail_kolla_ansible_deployer bashcd /root/contrail-ansible-deployeransible-playbook -i inventory/ -e orchestrator=openstack playbooks/provision_instances.ymlansible-playbook -i inventory/ -e orchestrator=openstack playbooks/configure_instances.ymlansible-playbook -i inventory/ -e orchestrator=openstack playbooks/install_openstack.ymlansible-playbook -i inventory/ -e orchestrator=openstack playbooks/install_k8s.ymlansible-playbook -i inventory/ -e orchestrator=openstack playbooks/install_contrail.ymlkubectl taint nodes k8s node-role.kubernetes.io/master-

                          最后一次kubelet升级到最新,遇到CSI的bug,修改一下配置文件后重启kubelet即可:

                            After experiencing the same issue, editing /var/lib/kubelet/config.yaml to add:featureGates:  CSIMigration: false

                            07
                            安装完成后,建2个VM和容器测试一下
                              yum install -y gcc python-develpip install python-openstackclientpip install python-ironicclientsource /etc/kolla/kolla-toolbox/admin-openrc.sh

                              如果openstack命令有如下“queue”的报错,是需要python3:

                                File "/usr/lib/python2.7/site-packages/openstack/utils.py", line 13, in <module>    import queueImportError: No module named queue
                                  rm -f /usr/bin/pythonln -s /usr/bin/python3 /usr/bin/pythonpip install python-openstackclientpip install python-ironicclientyum install -y python3-pipyum install -y gcc python-devel wgetpip install --upgrade setuptoolspip install --ignore-installed python-openstackclient我每次都需要python3,所以干脆也安装了这个:pip3 install python-openstackclient -i https://mirrors.aliyun.com/pypi/simple/pip3 install python-ironicclient -i https://mirrors.aliyun.com/pypi/simple/

                                  进入Tungsten Fabric,用浏览器:https://192.16.35.111:8143

                                  进入openstack,用浏览器:https://192.16.35.112

                                  在k8s master上(192.16.35.113):

                                    scp root@192.16.35.114:/opt/cni/bin/contrail-k8s-cni /opt/cni/bin/mkdir /etc/cni/net.dscp root@192.16.35.114:/etc/cni/net.d/10-contrail.conf /etc/cni/net.d/10-contrail.conf

                                    (都没有找到带tcpdump的版本)

                                    reboot

                                    source /etc/kolla/kolla-toolbox/admin-openrc.sh

                                      openstack image create cirros --disk-format qcow2 --public --container-format bare --file cirros-0.4.0-x86_64-disk.imgnova flavor-create m1.tiny auto 512 1 1openstack network create net1openstack subnet create --subnet-range 10.1.1.0/24 --network net1 mysubnet1NET_ID=`openstack network list | grep net1 | awk -F '|' '{print $2}' | tr -d ' '` nova boot --image cirros --flavor m1.tiny --nic net-id=${NET_ID} VM1nova boot --image cirros --flavor m1.tiny --nic net-id=${NET_ID} VM2

                                      进入k8s_master, 192.16.35.113:

                                        yum install -y gitgit clone https://github.com/virtualhops/k8s-demokubectl create -f k8s-demo/po-ubuntuapp.ymlkubectl create -f k8s-demo/rc-frontend.ymlkubectl expose rc/frontendkubectl exec -it ubuntuapp curl frontend # many times

                                        看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

                                        免责声明:

                                        ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

                                        ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

                                        如何使用Vagrant安装Tungsten Fabric

                                        下载Word文档到电脑,方便收藏和打印~

                                        下载Word文档

                                        猜你喜欢

                                        如何使用Vagrant安装Tungsten Fabric

                                        如何使用Vagrant安装Tungsten Fabric,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。01准备测试机在16G的笔记本没跑起来,就干脆拼凑了一台游
                                        2023-06-03

                                        Linux下如何安装Vagrant

                                        这篇文章主要为大家展示了“Linux下如何安装Vagrant”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何安装Vagrant”这篇文章吧。Vagrant 是一个基于 Ruby 的
                                        2023-06-27

                                        在Linux上如何安装 Fabric

                                        这篇文章主要介绍在Linux上如何安装 Fabric,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Fabric 是一个用 Python 编写的命令行工具库,它可以帮助系统管理员高效地执行某些任务,比如通过 SSH
                                        2023-06-16

                                        如何使用Ansible来交付Vagrant

                                        本文小编为大家详细介绍“如何使用Ansible来交付Vagrant”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Ansible来交付Vagrant”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ansib
                                        2023-06-27

                                        如何使用VirtualBox和Vagrant搭建Linux环境

                                        本篇内容介绍了“如何使用VirtualBox和Vagrant搭建Linux环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、确定电脑的C
                                        2023-06-29

                                        如何使用fabric自动化发版

                                        这篇文章给大家分享的是有关如何使用fabric自动化发版的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。功能:使用fabric自动化发版#-*-coding:utf8-*-from fabric.api impor
                                        2023-06-04

                                        Linux系统下如何安装跨平台团队开发工具Vagrant

                                        本篇内容介绍了“Linux系统下如何安装跨平台团队开发工具Vagrant”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vagrant 是一个
                                        2023-06-12

                                        Pandas如何安装使用

                                        这篇文章主要介绍了Pandas如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 安装如果做数据分析用途建议使用Anaconda,自带pandas numy 以及
                                        2023-06-03

                                        如何安装使用GitLab

                                        这篇文章主要为大家展示了“如何安装使用GitLab”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何安装使用GitLab”这篇文章吧。GitLab 是一个用于仓库管理系统的开源项目,使用Git作
                                        2023-06-27

                                        Flutter如何安装使用

                                        这篇文章给大家分享的是有关Flutter如何安装使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。序言Flutter出来已经有些日子了,越来越多的开发者也开始尝试使用 Flutter 进行开发,Flutter 是
                                        2023-06-04

                                        EasySwoole如何安装使用

                                        小编给大家分享一下EasySwoole如何安装使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!EasySwooleEasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API
                                        2023-06-14

                                        Python的自动化部署模块Fabric的安装及使用指南

                                        fabric是python2.5或者更高的库,可以通过ssh在多个host上批量执行任务.完成系统管理任务.它提供一套基本操作在本地和远程执行shell命令,或者上传下载文件,辅助提供用户输入或终止执行. 下面安装fabric模块有2种方法
                                        2022-06-04

                                        编程热搜

                                        • Python 学习之路 - Python
                                          一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
                                          Python 学习之路 - Python
                                        • chatgpt的中文全称是什么
                                          chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
                                          chatgpt的中文全称是什么
                                        • C/C++中extern函数使用详解
                                        • C/C++可变参数的使用
                                          可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
                                          C/C++可变参数的使用
                                        • css样式文件该放在哪里
                                        • php中数组下标必须是连续的吗
                                        • Python 3 教程
                                          Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
                                          Python 3 教程
                                        • Python pip包管理
                                          一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
                                          Python pip包管理
                                        • ubuntu如何重新编译内核
                                        • 改善Java代码之慎用java动态编译

                                        目录